810 likes | 1.18k Views
Bazy danych - jak je ugryźć?. Plan prezentacji. Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach.
E N D
Bazy danych - jak je ugryźć? informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Dane Wniosek : Dane bez uporządkowania i bez umiejętności ich interpretacji to najczęściej „ŚMIETNIK” To są jakieś dane Tylko do końca nie wiemy co one znaczą informatyka + Liczby, znaki, symbole (i cokolwiek innego) zapisane w celu ich przetwarzania 15,’ Ala’,’12-09-1987’, /…/---/…/, ‘Warszawa’,
Krótkie podsumowanie • Dane: • znaki • liczby • teksty • dźwięki • obrazy Bez uporządkowania korzystanie z danych jest praktycznie niemożliwe Proces wykorzystywania danych związany jest z ich przetwarzaniem informatyka +
Informacja Trudno przytoczyć jedną definicję pojęcia informacja Informacja to taki czynnik, któremu człowiek może przypisać określony sens (znaczenie), aby móc ją wykorzystywać do różnych celów Informacje możemy „zdobywać” dzięki przetwarzaniu i interpretacji danych . informatyka +
Wiedza Podobnie jak w przypadku informacji – trudno jest jednoznacznie zdefiniować pojęcie wiedza Tak definiował to pojecie Platon : „ogół wiarygodnych informacji o rzeczywistości wraz z umiejętnością ich wykorzystywania” Proszę zwrócić uwagę na fakt, że wiedza to, miedzy innymi, umiejętność wykorzystania informacji . informatyka +
Społeczeństwo informacyjne 1 I znów będziemy mieli problem z jednoznacznym zdefiniowaniem pojęcia społeczeństwo informacyjne Społeczeństwo charakteryzujące się przygotowaniem i zdolnością do użytkowania systemów informatycznych, skomputeryzowane i wykorzystujące usługi telekomunikacji do przesyłania i zdalnego przetwarzania informacji” (I Kongres Informatyki Polskiej, 1994) Wszystko wskazuje na to, że przyszłość należeć będzie do społeczeństw informacyjnych informatyka +
Społeczeństwo informacyjne 2 Umiejętność korzystania ze zgromadzonych danych jest jedną z podstawowych cech społeczeństwa informacyjnego. informatyka +
Podsumowanie części 1 Dane - powstają na różnych etapach działalności gromadzimy dane w celu ich późniejszego wykorzystania przechowując dane należy zapewnić określony porządek Dane Informacje - często powstaje w wyniku przetwarzania i interpretacji danych Informacja Wiedza - to miedzy innymi umiejętność wykorzystania informacji Wiedza Społeczeństwo informacyjne - to także my informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Porozmawiajmy o danych 1 Uczeń Przedmiot Nauczyciel Data Ocena Tomek Kowal 18-03-2009 Maria Ciekawa Zosia Nowak Fizyka Informatyka 6 Monika Łagodna Romek Atomek Matematyka Zenon Poważny 12-03-2009 5 3 15-03-2009 Jak widać - dane bez określonego porządku to chaos … i nie ma z takich danych korzyści Powoli zbiór danych staje się bardziej przejrzysty Jeszcze trochę pracy i powinno być dobrze informatyka + informatyka + 12
Porozmawiajmy o danych 2 Gromadzenie danych musi zapewnić porządek bo w przeciwnym razie nie damy sobie rady w sytuacji gdy danych będzie bardzo dużo. Jak sprawnie gromadzić dane zachowując możliwość ich wykorzystania ? informatyka +
Bazy danych 1 Nazwisko : Kotek Imię : Jasio Data ur. : 07-11-1991 Pesel : 07111134498 Kod poczt: 26-987 Miasto : Sopot Ulica : Klonowa 12/8 Nauczyciel : Maria Bryła Przedmiot :Fizyka Rodzaj : Sprawdzian Data wyst. : 17-05-2009 Ocena : 3 Nazwisko : Sarenka Imię : Zosia Data ur. : 11-11-1991 Pesel : 91111134498 Kod poczt: 26-987 Miasto : Poznań Ulica : Osinowa 22/8 Nazwisko : Lisek Imię : Piotr Data ur. : 11-02-1991 Pesel : 91021134498 Kod poczt: 96-987 Miasto : Opole Ulica : Długa 62/8 Nauczyciel : Józef Ostry Przedmiot :Informatyka Rodzaj : Sprawdzian Data wyst. : 17-05-2009 Ocena : 2 Nauczyciel : Jan Powaga Przedmiot :Matematyka Rodzaj : Sprawdzian Data wyst. : 17-05-2009 Ocena : 5 Dane gromadzimy w bazach danych Baza danych informatyka +
Bazy danych 2 Baza danych to zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. Aktualnie najczęściej wykorzystuje się bazy danych oparte na relacyjnym modelu danych informatyka +
Bazy danych 3 Codziennie korzystamy z różnych baz danych: Rozkład jazdy pociągów Korzystanie z bankomatu Korzystanie z pomocy i podpowiedzi w różnych programach Wyszukiwarki internetowe informatyka +
Podsumowanie części 2 Dane opisują pewne fakty i zdarzenia Gromadzimy dane w celu ich późniejszego wykorzystania Gromadzenie danych bez określonego porządku jest bezsensowne Dane gromadzimy w bazach danych Bardzo wiele codziennych czynności związanych jest z korzystaniem z baz danych informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Relacyjny model danych 1 Sposób modelowania danych w którym podstawowym pojęciem jest tabela. Relacja jest pojęciem matematycznym (z dziedziny teorii zbiorów) i cały model relacyjny jest doskonale opisany przez matematyków. Dobra interpretacja matematyczna pozwoliła zrealizować dobre oprogramowanie obsługujące relacyjne bazy danych. informatyka +
Wybrane cechy modelu relacyjnego 1 Wszystkie wartości zapisywane w tabelach oparte są na prostych typach danych(brak struktur złożonych ) Powyższa tabela nie spełnia tej cechy - w dalszej części pokażemy jak można ten problem rozwiązać informatyka +
Wybrane cechy modelu relacyjnego 2 Wszystkie dane w bazie relacyjnej przedstawione są w formie dwuwymiarowych tabel zwanych relacjami Płyty informatyka +
Wybrane cechy modelu relacyjnego 3 Wszystkie operacje wykonywane są w oparciu o logikę bez względu na położenie wiersza w tabeli Ponieważ w modelu relacyjnym kolejność kolumn i wierszy nie ma żadnego znaczenia - to widoczne trzy postaci tabel są identyczne i można z nich pobrać dokładnie te same informacje informatyka +
Wybrane cechy modelu relacyjnego 4 W tabeli musi istnieć kolumna lub zbiór kolumn o wartościach niepowtarzalnych, pozwalający odnaleźć konkretny wiersz. Zaznaczone wiersze są nierozróżnialne, Tak naprawdę nie wiadomo czy jest to pomyłka czy też opis dwóch różnych osób Dodatkowa kolumna „Pesel” – umożliwiła rozróżnienie dwóch osób. Pesel może być uznany za klucz podstawowy. Taką kolumnę (lub zbiór) nazywamy kluczem podstawowym (ang. primary key) informatyka +
Relacyjny model danych 2 Projekt bazy danych, opartej na modelu relacyjnym, polega na opisaniu pewnej dziedziny życia za pomocą wielu tabel Każda tabela opisuje jeden rodzaj obiektów (np. uczeń, klient, książka) lub zdarzeń (np. wystawiona ocena, wykonany przelew, wizyta lekarska) Projektując bazę danych zapewnia się możliwość łączenia ze sobą danych zawartych w różnych tabelach. Więcej o projektowaniu relacyjnej bazy danych w dalszej części wykładu informatyka +
Podsumowanie części 3 Model relacyjny opiera się na pojęciu tabeli Każda tabela musi posiadać klucz podstawowy W modelu relacyjnym nieistotna jest kolejność kolumn i wierszy Baza danych oparta na modelu relacyjnym składa się z wielu tabel opisujących pewną dziedzinę życia. Bazy relacyjne są aktualnie najbardziej rozpowszechnione. informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Tabela relacyjna Sztuczny klucz podstawowy Cechy tabeli relacyjnej Uczniowie 1.Przeznaczenie Iducznia Nazwisko Imie Data_ur Pesel Pesel 1 Nowak Jan 11.09.1991 91091145654 2.Kolumny – określają cechy opisywanego obiektu 2 Rybak Zofia 12.11.1991 91111256744 3 Kowal Stefan 21.02.1992 92022172138 4 Kozak Jan 17.08.1992 92081711737 5 Pływak Anna 04.02.1993 93020495571 3.Klucz podstawowy 4.Wiersze – suma cech danego obiektu I już mamy tabelę wraz z zawartością informatyka +
Normalizacja – podstawa projektowania Faktury Redundancja!!!!!!!!!!!!!! I co tutaj nie gra informatyka +
Normalizacja – podstawa projektowania Faktury Klucz obcy Idfirmy 1 1 2 3 1 2 2 Firmy IdFirmy 1 2 3 informatyka +
Podsumowanie części 4 Model relacyjny opiera się na pojęciu tabeli Każda tabela musi posiadać klucz podstawowy W modelu relacyjnym nieistotna jest kolejność kolumn i wierszy Baza danych oparta na modelu relacyjnym składa się z wielu tabel opisujących pewną dziedzinę życia. Bazy relacyjne są aktualnie najbardziej rozpowszechnione. informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Przykładowy projekt bazy danych Schemat bazy danych do rejestrowania ocen uczniów informatyka +
Przykładowe fragmenty baz danych Rejestr wypożyczeń książek Tabela opisująca wypożyczenia książek Powiązanie pomiędzy tabelami Tabela słownikowa Powiązanie pomiędzy tabelami Powiązanie pomiędzy tabelami Tabela opisująca książki Tabela opisująca osoby informatyka +
Analiza pewnego problemu 1 Wyobraźmy sobie, że w pewnej bazie danych istnieje tabela o nazwie „Klienci” o strukturze pokazanej na rysunku obok Przykładowa zawartość takiej tabeli mogłaby wyglądać tak jak na rysunku poniżej Proszę zwrócić uwagę na fakt, że jak brak pewnych danych to w tabeli przechowywana jest specyficzna wartość null informatyka +
Analiza pewnego problemu 2 W trakcie eksploatacji naszej przykładowej bazy danych wyniknął problem, ponieważ użytkownicy bazy danych chcieliby dodatkowo przechowywać dane o numerze telefonu komórkowego. Rozwiązaniem problemu mogłoby być dodanie do tabeli Klienci dodatkowej kolumny TelefonKomorkowy – tak jak poniżej Tak mogłaby wyglądać zmodyfikowana tabela … a tak zawartość tej tabeli informatyka +
Analiza pewnego problemu 3 … ale czy mamy pewność, że w trakcie dalszej eksploatacji tej bazy danych nie będzie potrzeby dodawania kolejnych kolumn np. żeby zapisać więcej niż jeden numer telefonu albo adres strony www, numer faksu (… a może dwa numery), numer GG … itd. … a może chwila zastanowienia i rozwiązać ten problem raz a dobrze ??? informatyka +
Analiza pewnego problemu 4 Problem rozwiążemy w trzech krokach : 1.Utworzymy tabelę słownikową o nazwie „RodzajeKontaktow” 2. Z tabeli „Klienci” usuniemy kolumny opisujące numery telefonów itp. 3.Utworzymy nową tabelę (tzw. tabelę asocjacyjną) o nazwie „KontaktyKlienta” informatyka +
Analiza pewnego problemu 5 Model bazy danych informatyka +
Analiza pewnego problemu 6 Przykładowa zawartość tabel (RodzajeKontaktow) Tabele podobnego typu nazywamy tabelami słownikowymi. Jeżeli będziemy dodatkowo potrzebowali przechowywać w bazie danych informacje o numerach Gadu Gadu i adresy stron WWW – to wystarczy dopisać kolejne wiersze do tabeli informatyka +
Analiza pewnego problemu 7 Przykładowa zawartość tabel (Klienci) W tabeli „Klienci” nie zapisujemy teraz danych o numerach telefonów, adresach e-mail itp. Dodatkowo uzyskujemy jeszcze jedna korzyść – w sytuacji gdy dany klient nie ma telefonu lub innego środka łączności, nie musimy przechowywać w tabeli wartości null. informatyka +
Analiza pewnego problemu 8 Przykładowa zawartość tabel (KontaktyKlienta) Tabele tego typu nazywamy tabelą powiązań (asocjacyjną) Dane zawarte w tabeli KontaktyKlienta wymagają interpretacji, żeby stały się czytelne informatyka +
Analiza pewnego problemu 9 Poniżej postać danych z poprzedniego slajdu, przekształcona do bardziej czytelnej postaci Dzięki kluczom obcym w tabeli KontaktyKlienta mogliśmy powiązać dane zapisane w różnych tabelach informatyka +
Podsumowanie części 5 Za pomocą dwuwymiarowych tabel opisujemy wybrany fragment rzeczywistości (bank, szkoła , kolekcja płyt) • Tabele relacyjne mogą opisywać : • Obiekty rzeczywiste (uczniowie, nauczyciele, klasy) • Słowniki pojęć (przedmioty, rodzaje ocen) • Zdarzenia i powiązania (wystawione oceny) Powiązanie danych zapisanych w różnych tabelach osiągamy dzięki parze kluczy : klucz obcy --- klucz podstawowy informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +
Problemy gromadzenia danych w tabelach 1 Problem 1 : Gromadzenie danych w tabeli nie może się odbywać bez reguł i ograniczeń – nie wystarczy samo nazwanie kolumn Jak widać na powyższym przykładzie – w tabeli bardzo łatwo może zapanować totalny bałagan, choćby z tego powodu, że to ludzie wprowadzają dane, a człowiek jest omylny. Bazy danych powinny posiadać mechanizmy ułatwiające wymuszanie poprawności zapisywanych danych informatyka +
Problemy gromadzenia danych w tabelach 3 Kilka słów o przedstawionych problemach Nazwa kolumny nie gwarantuje zapisywania w niej właściwych danych Gdy mamy zapisane błędne dane – baza danych traci sens. W powyższym przykładzie – numer Pesel powinien być zależny od daty urodzenia informatyka +
Problemy gromadzenia danych w tabelach 4 Problem 2: Problemy i anomalie związane z zapisywaniem danych W powyższej, przykładowej, tabeli mamy cały szereg problemów, które mogą wyniknąć w nieprawidłowo zabezpieczonej bazie danych informatyka +
Problemy gromadzenia danych w tabelach 5 Problem 2: Problemy i anomalie związane z zapisywaniem danych Czy Jan Kotek i Kotek Jan – to ta sama osoba???? Czy Daria Miła mieszka na ulicy Naftowej czy Benzynowej ??? Czy Sprawdzian i Sprawdz. to ten sam rodzaj oceny???? Czy Historia i Chistoria (ale wtyd – ale zdarzyć się może) to ten sam przedmiot ????? informatyka +
Podsumowanie części 6 • Przedstawione wcześniej problemy oraz wiele innych, których nie zdążymy teraz omówić są poważnym wyzwaniem dla twórców baz danych. • Bez rozwiązania tych problemów bazy danych byłyby niewiarygodne. • W dalszej części wykładu omówimy niektóre sposoby zapewnienia poprawności przechowywanych danych informatyka +
Plan prezentacji Kilka definicji na dobry początek. Dane i bazy danych. Podstawy relacyjnego modelu danych. Rozważania o tabeli. Modelowanie z wykorzystaniem tabel relacyjnych. Problemy i anomalie związane z gromadzeniem danych w tabelach. Systemy Zarządzania Bazami Danych. Spójność i integralność danych. Od rozkładu jazdy do bankowości internetowej. Podsumowanie wykładu – pytania. informatyka +