Bazy danych - podstawowe pojęcia

advertisement
Bazy danych podstawowe pojęcia
Autor:
Wojciech Krawczyk
Zespół Szkół nr 2
w Nowym Dworze Gd.
• Baza danych - uporządkowany zbiór informacji o
obiektach tego samego typu.
• System bazy danych - baza danych wraz z
oprogramowaniem umożliwiającym wykonywanie
podstawowych operacji na tej bazie.
–
–
–
–
–
–
dołączanie elementu
poprawianie elementu
usuwanie elementu
sortowanie elementów
wyszukiwanie elementu
prezentacja elementów bazy danych
• Rekord - opis cech danego elementu w bazie
danych
• Pole - wybrana cecha danego rekordu
L. P.
1
2
3
4
5
Nazwisko
Adres
Książka
Kowalski Wiejska 3/5 Zbiór zadań
JankowskiCicha 3
Turbo Pascal
Cichocki Banacha 12/1DOS 6.2
Dawidowski
Kolejowa 3 ACCESS 2.0
Bidacki
Dolna 23/2 Excel 97
Pole
Data wypożyczenia
11.12.98
1.01.99
14.02.99
3.02.99
5.02.99
Rekord
Normalizacja baz danych
Pierwsza postać normalna:
Nazwisko Tytuł
Kowalski
Turbo Pascal, Programowanie, Windows 95
Baranowski Turbo Pascal, Basic
Baza danych powinna być zbudowana z rekordów zawierających pola z
wartościami elementarnymi.
W powyższej bazie danych nie ma możliwości wyszukiwania rekordów
według wypożyczonej książki.
Nazwisko Tytuł
Kowalski
Kowalski
Kowalski
Baranowski
Baranowski
Programowanie
Windows 95
Turbo Pascal
Turbo Pascal
Basic
Baza znormalizowana do pierwszej
postaci normalnej
Anomalie występujące w bazach danych
Numer
121
32
453
121
52
61
71
121
32
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Kowalski Jan
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Kowalski Jan
Jankowski Tadeusz
Piątkowski Adam
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Niska 7/2
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Niska 7/2
Polna 12
Kwiatowa 48/84
Tytuł
Turbo Pascal
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
Problemy występujące w powyższej bazie danych:
Redundancja
Niespójność
Anomalie przy
usuwaniu
Baza znormalizowana
Anomalie przy
wstawianiu
Data
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Redundancja
Numer
121
32
453
121
52
61
71
121
32
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Kowalski Jan
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Kowalski Jan
Jankowski Tadeusz
Piątkowski Adam
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Niska 7/2
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Niska 7/2
Polna 12
Kwiatowa 48/84
Tytuł
Turbo Pascal
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
Redundancja – powtarzanie się pewnych informacji. W
przypadku wypożyczenia kilku książek przez jednego czytelnika
w odpowiednich rekordach powtórzone są informacje na temat
jego numeru, adresu i nazwiska.
Data
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Niespójność
Numer
121
32
453
121
52
61
71
121
32
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Kowalski Jan
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Kowalski Jan
Jankowski Tadeusz
Piątkowski Adam
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Niska 7/2
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Niska 7/2
Polna 12
Kwiatowa 48/84
Tytuł
Turbo Pascal
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
Niespójność bazy danych – w razie zmiany adresu
czytelnika, który wypożyczył kilka książek należy
dokonać odpowiednich poprawek we wszystkich
rekordach, w których on występuje.
Data
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Anomalie przy usuwaniu
Numer
121
32
453
121
52
61
71
121
32
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Kowalski Jan
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Kowalski Jan
Jankowski Tadeusz
Piątkowski Adam
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Niska 7/2
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Niska 7/2
Polna 12
Kwiatowa 48/84
Tytuł
Turbo Pascal
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
Data
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Anomalie przy usuwaniu – w razie likwidacji informacji o
książkach wypożyczonych przed październikiem 1998 roku można
utracić informacje o niektórych czytelnikach. ( patrz: Baranowski
Dariusz ).
Anomalie przy wstawianiu
Numer
121
32
453
121
52
61
71
121
32
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Kowalski Jan
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Kowalski Jan
Jankowski Tadeusz
Piątkowski Adam
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Niska 7/2
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Niska 7/2
Polna 12
Kwiatowa 48/84
Tytuł
Turbo Pascal
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
Data
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Anomalie przy wstawianiu – brak możliwości przechowywania
informacji o użytkowniku, który nie wypożyczył żadnej książki.
Baza po znormalizowaniu
Indeks-n
121
32
453
52
61
71
101
Nazwisko i imię
Kowalski Jan
Jankowski Tadeusz
Baranowska Anna
Baranowski Dariusz
Kasiewicz Kamil
Wasiak Jan
Piątkowski Adam
Indeks-k
34
12
56
32
89
53
43
28
91
13
Tytuł
Turbo Pascal 4.0
Basic
Algol
Programowanie
Zbiór zadań
Cliper
Word 97
Windows 95
Internet
Bazy danych
Adres
Niska 7/2
Polna 12
Wiejska 13/3
Jasna 7/21
Pańska 53/12
Krzywa 12/5
Kwiatowa 48/84
Autor
K. Marciniak
J. Kalina
M. Jaworski
J. Kalina
B. Jankowski
W. Jaworski
S. Szwed
Z. Dawidowicz
P. Darel
T. Jarecki
numer
wypożyczenia
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
W celu normalizacji wykorzystujemy
systemy baz danych operujące na
wielu tabelach przechowujących
poszczególne grupy danych
Indeks-n
121
32
453
121
52
61
71
121
32
101
Indeks-k
34
12
56
32
89
53
43
28
91
13
Data wypożyczenia
21.12.98
12.11.98
1.10.98
19.04.98
26.07.99
17.09.98
27.10.98
23.11.98
8.11.98
26.06.98
Download