background image

Bazy Danych

Europejska Wyższa Szkoła Informatyczno-
Ekonomiczna
Mgr inż. Piotr Greniewski

Wykład 1: Wstęp do baz danych

background image

 Copyright by Piotr Greniewski

2

Spis treści

Bazy danych wstęp

Geneza relacyjnych baz danych

Podstawy relacyjnych baz danych

Podstawy-SQL-1

Podstawy-SQL-2

Podstawy-SQL-3

Operacje na danych

Transakcje i blokady

Normalizacja

background image

 Copyright by Piotr Greniewski

3

Programowanie z wykorzystaniem danych

Niemal wszystkie bardziej złożone aplikacje 
komputerowe przetwarzają duże ilości danych

Większość z nich została stworzona aby 
przetwarzać dane a nie wykonywać obliczenia

80% wykonywanych przez programistów prac 
wiąże się ze strukturami przechowywanymi w 
bazie danych

Bazy stanowią ważną podstawę wielu aplikacji

background image

 Copyright by Piotr Greniewski

4

Programowanie z wykorzystaniem danych

Dane mogą przybierać dowolne formy i 
rozmiary

Sposób w jaki się z nimi obchodzimy zależy od 
ich natury

Dane stałe (dane nie ulegające zmianie w 
programie np. liczba pi itp..)

Dane zmienne (dane zmieniające się w czasie 
np. kursy walut)

background image

 Copyright by Piotr Greniewski

5

Programowanie z wykorzystaniem danych

Piszemy program przeliczający waluty krajów 
członkowskich Eurolandu na EURO

Kursy wymiany są stałe (6 miejsc po przecinku 
z dnia wymiany)

Lista krajów ulegać będzie zmianie ponieważ 
dochodzić będą nowe kraje

W związku z tym przy każdym nowym kraju 
trzeba będzie kompilować program

background image

 Copyright by Piotr Greniewski

6

Plik danych waluta => EURO

Dużo lepszą metodą będzie skorzystanie przez 
aplikację z pliku zawierającego:

Nazwę waluty

Jej symbol

Kurs wymiany

 Francja           FRF              6.55

 Niemcy          DEM             1.95

 Włochy          ITL          1936.27

 Belgia            BEF             40.33

background image

 Copyright by Piotr Greniewski

7

Kartotekowe bazy danych

Pliki jednorodne lub kartoteki bardzo pożyteczne 
do zapamiętywania danych w programach. 
Wygodne w użyciu jeśli nie są przesadnie 
rozbudowane.

Mogą służyć do przechowywania haseł i danych 
sterujących.

Plik jednorodny składa się z kilku elementów 
informacji (atrybutów). Razem tworzących 
strukturę, która stanowi rekord.

Każdy wiersz reprezentuje pojedynczy rekord

Rolą całego pliku jest przechowywanie 
powiązanych ze sobą rekordów.

background image

 Copyright by Piotr Greniewski

8

Kartotekowe bazy danych

Rozszerzamy naszą aplikację tak aby zawierała 
informację o języku, liczbie ludności i obszarze.

W pliku jednorodnym w każdym wierszu 
znajduje się jeden rekord.

Wszystkie rekordy są zestawami pewnej liczby 
atrybutów.

Każdy pojedynczy atrybut zawsze znajduje się w 
tym samym miejscu (np. symbol waluty zawsze 
będzie drugim atrybutem).

Dane możemy przeszukiwać wg. kolumn, gdy 
kolumny zawierają informacje tego samego typu.

background image

 Copyright by Piotr Greniewski

9

Kartotekowe bazy danych

Aby dodać język używany w określonym kraju musimy dodać 
nową kolumnę.

Pojawia się problem, gdy w kraju jest więcej niż jeden oficjalny 
język.

 Francja           FRF              6.55     
francuski

 Niemcy          DEM             1.95     
niemiecki 

 Włochy          ITL          1936.27     
włoski

 Belgia            BEF             
40.33     ???

background image

 Copyright by Piotr Greniewski

10

Kartotekowe bazy danych

Problem ten określa się terminem 
powtarzających się grup.

Poprawny element w rekordzie powtarza się 
(Belgia – języki flamandzki i francuski)

Pliki jednorodne nie umożliwiają rozwiązania 
tego problemu, ponieważ niemożliwe jest 
określenie gdzie kończą się zapisy o językach i 
zaczyna się reszta rekordu.

Jedynym sposobem jest dodanie struktury do 
pliku ale to już nie będzie plik jednorodny.

background image

 Copyright by Piotr Greniewski

11

Strukturalne pliki tekstowe

Zbudujemy aplikację opisującą filmy: rok 
produkcji, reżyser, gatunek oraz obsada

[2001: Odyseja kosmiczna]

Rok=1968

Reżyser=Stanley Kubrick

Gatunek=fantastyka

Obsada=Keir Dullea 

Obsada=Leonard  Rossister

[Władca Pierścieni]

background image

 Copyright by Piotr Greniewski

12

Strukturalne pliki tekstowe

Rozwiązaliśmy problem powtarzających się 
grup przez wprowadzenie pewnych 
znaczników wskazujących typ każdego 
elementu w rekordzie.

Dalsze problemy z tym zapisem danych

Jak sprawdzać poprawność danych?

Jak posortować listę wg. filmów danego 
reżysera?

Jak rozszerzać funkcjonalność bazy: np. Kto 
pożyczył dany film z wypożyczalni?

Ile filmów wyprodukowano w 1968 r.

background image

 Copyright by Piotr Greniewski

13

Co to jest baza danych?

Baza danych jest to jest to duży zbiór danych 
o określonej strukturze, która umożliwia ich 
szybkie wyszukiwanie i wydobywanie. (

www.m-w.com

 - słownik online Merriama 

Webstera)

background image

 Copyright by Piotr Greniewski

14

Co to jest DBMS?

System zarządzania bazą danych 
(DBMS – Data Base Management System) to:

zbiór bibliotek

aplikacji 

narzędzi

Zwalniają one programistę aplikacji z 
konieczności pamiętania o szczegółach 
przechowywania i zarządzania danymi. 
Dostarczają funkcji wyszukiwania i aktualizacji 
rekordów.

background image

 Copyright by Piotr Greniewski

15

Rodzaje baz danych

Sieciowy model baz danych

Hierarchiczny model baz danych

Relacyjny model baz danych

W latach 60–tych i 70-tych opracowywano bazy 
danych, rozwiązujące problem powtarzających 
się grup na kilka różnych sposobów. Efektem 
tych metod było opracowanie mechanizmu, który 
można określić terminem modelu baz danych. 
Badania firmy IBM zaowocowały opracowaniem 
podstaw tych modeli.

background image

 Copyright by Piotr Greniewski

16

Sieciowy model bazy danych

W sieciowym modelu baz danych wykorzystano 
pomysł wskaźników wewnątrz bazy danych. 
Rekordy mogą zawierać odwołania do innych 
rekordów. 
Nazwa kraju Symbol

Kurs

Wskaźnik

Język n

Język n+1

nil

background image

 Copyright by Piotr Greniewski

17

Sieciowy model bazy danych

Belgia

BEF

40.33

francuski

flamandzki

nil

Mamy więc metodę wprowadzenia 
dowolnej ilości języków obowiązujących 
w danym państwie.

background image

 Copyright by Piotr Greniewski

18

Sieciowy model bazy danych

Włochy

ITL

1936.27

Francja

FRF

6.55

Niemcy

DEM

1.95

Belgia

BEF

40.33

francuski

włoski

flamandzki

nil

Tablica 

krajów

Tablica 

języków

nil

background image

 Copyright by Piotr Greniewski

19

Sieciowy model bazy danych

Wskaźniki wewnątrz bazy danych czyli 
rekordy mogą odwoływać się do innych 
rekordów

Dwa typy rekordów każdy przechowywany w 
innej tablicy

Słowniki do przechowywania często 
powtarzających się nazw.

Odnośniki – tzw. Klucze.

Pojęcie „nil” lub „puste” oznaczające koniec 
listy

background image

 Copyright by Piotr Greniewski

20

Sieciowy model bazy danych

Zalety

 – wszystkie rekordy jednego typu, 

powiązane z określonym rekordem innego 
typu,  można znaleźć bardzo szybko idąc 
według wskaźników od rekordu 
początkowego.

Wady 

- bardzo ciężko wydobyć informację typu 

w jakich krajach mówi się po francusku?

background image

 Copyright by Piotr Greniewski

21

Sieciowy model bazy danych

Tego typu operację można przyspieszyć 
poprzez stosowanie innych powiązanych list.

Powoduje to powstanie nadmiernie złożonej 
struktury.

Pisanie aplikacji dla tego typu baz danych jest 
bardzo złożone.

background image

 Copyright by Piotr Greniewski

22

Hierarchiczny model baz danych

W systemie IMS firmy IBM z końca 
lat 60-tych przedstawiono 
hierarchiczny model bazy danych. W 
modelu tym rozwiązanie problemu 
powtarzalnych grup opiera się na 
stosowaniu rekordów danych, które 
są złożone z kolekcji innych 
rekordów.

background image

 Copyright by Piotr Greniewski

23

Hierarchiczny model baz danych

Model ten można porównać do zestawienia 
materiałowego, (BOM – ang. Bill of Material), 
które zastosowano w celu pokazania 
złożoności produktu.

Samochód składa się z: nadwozia, podwozia, 
silnika i czterech kół.

Silnik jest złożony z: cylindrów, głowicy i wału 
korbowego

Itd.

background image

 Copyright by Piotr Greniewski

24

Hierarchiczny model baz danych

Głowica 

 

Wał korb. 

 

Cylindry 

 

Silnik 

 

Nadwozie 

 

Samochód 

 

Podwozie 

 

4 Koła 

 

background image

 Copyright by Piotr Greniewski

25

Hierarchiczny model baz danych

Hierarchiczny model bazy danych 
wykorzystuje się do dziś.

Stosując ten model można zoptymalizować 
przechowywanie danych i uczynić operację 
poszukiwania odpowiedzi jeszcze bardziej 
wydajną.

Np. pytając jaki samochód zawiera określoną 
część?

background image

 Copyright by Piotr Greniewski

26

Pytania do wykładu 1

Dlaczego bazy danych stanowią najważniejszą część 

składową większości aplikacji?

Podaj przykład 3 programów zawierających bazy 

danych.

Co to są dane stałe – podaj przykład?

Co to są dane zmienne – podaj przykład?

Co to jest kartotekowa baza danych?

Zaprojektuj przykładową kartotekową bazę danych?

Co to są powtarzające się grupy?

Czy problem powtarzających się grup można 

rozwiązać za pomocą kartotekowych baz danych?

Co to jest strukturalny plik tekstowy – podaj przykład?

Jakie wady posiada strukturalny plik tekstowy?


Document Outline