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