Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy danych - jak je ugryźć? informatyka +2 Plan prezentacji informatyka +3 1.Kilka definicji na dobry początek.Kilka definicji na dobry początek. 2.Dane.

Podobne prezentacje


Prezentacja na temat: "Bazy danych - jak je ugryźć? informatyka +2 Plan prezentacji informatyka +3 1.Kilka definicji na dobry początek.Kilka definicji na dobry początek. 2.Dane."— Zapis prezentacji:

1

2 Bazy danych - jak je ugryźć? informatyka +2

3 Plan prezentacji informatyka +3 1.Kilka definicji na dobry początek.Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

4 Dane informatyka +4 Liczby, znaki, symbole (i cokolwiek innego) zapisane w celu ich przetwarzania 15, Ala, , /…/---/…/, Warszawa, To są jakieś dane Tylko do końca nie wiemy co one znaczą Wniosek : Dane bez uporządkowania i bez umiejętności ich interpretacji to najczęściej ŚMIETNIK

5 Krótkie podsumowanie informatyka +5 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

6 Informacja informatyka +6 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.

7 Wiedza informatyka +7 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.

8 Społeczeństwo informacyjne 1 informatyka +8 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

9 Społeczeństwo informacyjne 2 informatyka +9 Umiejętność korzystania ze zgromadzonych danych jest jedną z podstawowych cech społeczeństwa informacyjnego.

10 Podsumowanie części 1 informatyka +10 DaneDane InformacjaInformacja Wiedza 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 Informacje - często powstaje w wyniku przetwarzania i interpretacji danych Wiedza - to miedzy innymi umiejętność wykorzystania informacji Społeczeństwo informacyjne - to także my

11 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

12 Porozmawiajmy o danych 1 informatyka +12 Tomek Kowal Zosia Nowak Monika Łagodna Fizyka Matematyka Informatyka Zenon Poważny Maria Ciekawa Romek Atomek 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 UczeńPrzedmiotNauczycielDataOcena informatyka + 12

13 Porozmawiajmy o danych 2 informatyka +13 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 ?

14 Bazy danych 1 informatyka +14 Baza danych Nazwisko : Kotek Imię : Jasio Data ur. : Pesel : Kod poczt: Miasto : Sopot Ulica : Klonowa 12/8 Nazwisko : Kotek Imię : Jasio Data ur. : Pesel : Kod poczt: Miasto : Sopot Ulica : Klonowa 12/8 Nazwisko : Sarenka Imię : Zosia Data ur. : Pesel : Kod poczt: Miasto : Poznań Ulica : Osinowa 22/8 Nazwisko : Sarenka Imię : Zosia Data ur. : Pesel : Kod poczt: Miasto : Poznań Ulica : Osinowa 22/8 Nazwisko : Lisek Imię : Piotr Data ur. : Pesel : Kod poczt: Miasto : Opole Ulica : Długa 62/8 Nazwisko : Lisek Imię : Piotr Data ur. : Pesel : Kod poczt: Miasto : Opole Ulica : Długa 62/8 Nauczyciel : Józef Ostry Przedmiot :Informatyka Rodzaj : Sprawdzian Data wyst. : Ocena : 2 Nauczyciel : Józef Ostry Przedmiot :Informatyka Rodzaj : Sprawdzian Data wyst. : Ocena : 2 Nauczyciel : Jan Powaga Przedmiot :Matematyka Rodzaj : Sprawdzian Data wyst. : Ocena : 5 Nauczyciel : Jan Powaga Przedmiot :Matematyka Rodzaj : Sprawdzian Data wyst. : Ocena : 5 Nauczyciel : Maria Bryła Przedmiot :Fizyka Rodzaj : Sprawdzian Data wyst. : Ocena : 3 Nauczyciel : Maria Bryła Przedmiot :Fizyka Rodzaj : Sprawdzian Data wyst. : Ocena : 3 Dane gromadzimy w bazach danych

15 Bazy danych 2 informatyka +15 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

16 Bazy danych 3 informatyka +16 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

17 Podsumowanie części 2 informatyka +17 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

18 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

19 Relacyjny model danych 1 informatyka +19 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.

20 Wybrane cechy modelu relacyjnego 1 informatyka + 20 NazwiskoImięAdresJęzyki obceRodzeństwo KodUlicaMiasto KotJasio Nowa 33/21 Opole Angielski, francuski, hiszpański brat Staś, siostra Mariola LisHania65-987Cicha 17/2Sopot Angielski, niemiecki brak ŻukPiotrek33-093Miła 4/3GdyniaNie znabrat Jaś, brat Staś, siostra Hania 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ć

21 Wybrane cechy modelu relacyjnego 2 informatyka + 21 Wszystkie dane w bazie relacyjnej przedstawione są w formie dwuwymiarowych tabel zwanych relacjami NumerNazwa albumuRok wydania Nazwa zespołu 1Kwiaty polskie1969Akwarele 2Help1967The Beatles 3Mrowisko1971Klan 4Rubikone2009Piotr Rubik 5Hellwood2009Hunter Płyty

22 Wybrane cechy modelu relacyjnego 3 informatyka +22 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 Wszystkie operacje wykonywane są w oparciu o logikę bez względu na położenie wiersza w tabeli

23 Wybrane cechy modelu relacyjnego 4 informatyka +23 W tabeli musi istnieć kolumna lub zbiór kolumn o wartościach niepowtarzalnych, pozwalający odnaleźć konkretny wiersz. Taką kolumnę (lub zbiór) nazywamy kluczem podstawowym (ang. primary key) NazwiskoImięDataUr. NowakJan NowakPiotr KowalskiJan KowalskiJan PiskorskaBeata PeselNazwiskoImięDataUr NowakJan NowakPiotr KowalskiJan KowalskiJan PiskorskaBeata 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.

24 Relacyjny model danych 2 informatyka +24 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

25 Podsumowanie części 3 informatyka +25 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.

26 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

27 informatyka +27 Tabela relacyjna Cechy tabeli relacyjnej 1.Przeznaczenie Uczniowie 2.Kolumny – określają cechy opisywanego obiektu NazwiskoImieData_urPesel 3.Klucz podstawowy PeselIducznia Sztuczny klucz podstawowy 4.Wiersze – suma cech danego obiektu 1 Nowak Jan Rybak Zofia Kowal Stefan Kozak Jan Pływak Anna I już mamy tabelę wraz z zawartością

28 informatyka +28 Normalizacja – podstawa projektowania Idfaktury NumerData_wNettoVatFirmaNipUlicaMiasto 1234/ Wedel Nowa 3Warszawa 243/ Wedel Nowa 3Warszawa 301/ Złotex Miła 7Sopot / Koral Dobra 1Opole 534w/ Wedel Nowa 3Warszawa 6987/ Złotex Miła 7Sopot Złotex Miła 7Sopot Faktury I co tutaj nie gra Redundancja!!!!!!!!!!!!!!

29 informatyka +29 Normalizacja – podstawa projektowania IdfakturyNumerData_wNettoVat 1234/ / / / w/ / Faktury FirmaNipUlicaMiasto Wedel Nowa 3Warszawa Złotex Miła 7Sopot Koral Dobra 1Opole Firmy IdFirmy Idfirmy Wedel Nowa 3Warszawa 1Wedel Nowa 3Warszawa 1Wedel Nowa 3Warszawa 2Złotex Miła 7Sopot 3Koral DobraWarszawa 2Złotex Miła 7Sopot 2Złotex Miła 7Sopot Klucz obcy

30 Podsumowanie części 4 informatyka +30 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.

31 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

32 Przykładowy projekt bazy danych informatyka +32 Schemat bazy danych do rejestrowania ocen uczniów

33 Przykładowe fragmenty baz danych informatyka +33 Rejestr wypożyczeń książek Tabela słownikowa Tabela opisująca osoby Powiązanie pomiędzy tabelami Tabela opisująca książki Tabela opisująca wypożyczenia książek Powiązanie pomiędzy tabelami

34 Analiza pewnego problemu 1 informatyka +34 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

35 Analiza pewnego problemu 2 informatyka +35 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

36 Analiza pewnego problemu 3 informatyka +36 … 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 ???

37 Analiza pewnego problemu 4 informatyka +37 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

38 Analiza pewnego problemu 5 informatyka +38 Model bazy danych

39 Analiza pewnego problemu 6 informatyka +39 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

40 Analiza pewnego problemu 7 informatyka +40 Przykładowa zawartość tabel (Klienci) W tabeli Klienci nie zapisujemy teraz danych o numerach telefonów, adresach 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.

41 Analiza pewnego problemu 8 informatyka +41 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

42 Analiza pewnego problemu 9 informatyka +42 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

43 informatyka +43 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 Podsumowanie części 5

44 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

45 Problemy gromadzenia danych w tabelach 1 informatyka +45 PeselNazwiskoImięDataUrodzeniaPłećWiek KotekJanina Kobieta au34LisekPiotr Kotek33 Wiktor23Lis8 maj 91ChłopakOK 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

46 Problemy gromadzenia danych w tabelach 3 informatyka +46 PeselNazwiskoImięDataUrodzeniaPłećWiek KotekJanina Kobieta au34LisekPiotr Kotek33 Wiktor23Lis8 maj 91ChłopakOK Kilka słów o przedstawionych problemach 1.Nazwa kolumny nie gwarantuje zapisywania w niej właściwych danych 2.Gdy mamy zapisane błędne dane – baza danych traci sens. 3.W powyższym przykładzie – numer Pesel powinien być zależny od daty urodzenia

47 Problemy gromadzenia danych w tabelach 4 informatyka +47 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

48 Problemy gromadzenia danych w tabelach 5 informatyka +48 Problem 2: Problemy i anomalie związane z zapisywaniem danych 1.Czy Jan Kotek i Kotek Jan – to ta sama osoba???? 2.Czy Daria Miła mieszka na ulicy Naftowej czy Benzynowej ??? 3.Czy Sprawdzian i Sprawdz. to ten sam rodzaj oceny???? 4.Czy Historia i Chistoria (ale wtyd – ale zdarzyć się może) to ten sam przedmiot ?????

49 Podsumowanie części 6 informatyka +49 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

50 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

51 System Zarządzania Bazą Danych 1 informatyka +51 Systemem Zarządzania Bazami Danych nazywamy specjalistyczne oprogramowanie umożliwiające tworzenie baz danych oraz ich eksploatację SZBD powinien(miedzy innymi) umożliwiać : Definiowanie obiektów bazy danych Manipulowanie danymi Generowanie zapytań Zapewnienie spójności i integralności danych

52 System Zarządzania Bazą Danych 2 informatyka +52 MS SQL Server 2008 Przykłady SZBD : Oracle MySQL Access DB2 … i wiele, wiele innych

53 System Zarządzania Bazą Danych 2 informatyka +53 Jednym z najważniejszych zadań stojących przed SZBD jest zapewnienie spójności i integralności danych SZBD dostarczają szereg mechanizmów służących zapewnieniu poprawności przechowywanych danych

54 System Zarządzania Bazą Danych 2 informatyka +54 Rodzaje reguł i ograniczeń Deklaracja typu Definicje kluczy Reguły poprawności dla kolumny Reguły poprawności dla wiersza Reguły integralności referencyjnej Poszczególne typy reguł zostaną omówione w dalszej części wykładu

55 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

56 Spójność i integralność danych informatyka +56 Jednym z najistotniejszych elementów Systemów Zarządzania Bazami Danych są mechanizmy zapewnienia spójności i integralności danych przechowywanych w bazie Podstawowe sposoby zapewnienia integralności danych Deklaracja typu Deklaracje kluczy Reguły poprawności dla kolumny Reguły poprawności dla wiersza Reguły integralności referencyjnej

57 Deklaracja typu 1 informatyka +57 W tabelach relacyjnych przechowujemy dane różnego typu (liczby, teksty, znaki, daty …) Każda kolumna w tabeli musi mieć określony typ przechowywanych danych Deklaracja typu jest pierwszym sposobem zapewnienia poprawności danych – w ujęciu matematycznym jest to określenie dziedziny wartości dla kolumny

58 Deklaracja typu 2 informatyka +58 Przykładowe typy danych w SQL Server 2008 Dla danych znakowych char(n) - ciąg n znaków o stałej długości (np. jeżeli kolumna ma określony typ char(25) a wpiszemy słowo kot – to i tak zostanie ono zapisane za pomocą 25 znaków – uzupełnione spacjami) varchar(n) – ciąg n znaków o zmiennej długości (np. jeżeli kolumna ma określony typ varchar(25) a wpiszemy słowo kot –zostanie ono zapisane za pomocą 3 znaków) varchar(max) – ciąg znaków o zmiennej długości do 2 GB

59 Deklaracja typu 3 informatyka +59 Przykładowe typy danych w SQL Server 2008 Pytanie : Skoro typ char w porównaniu z varchar wykorzystuje więcej pamięci do zapisywania danych (uzupełnianie spacjami) – to jakie korzyści możemy osiągnąć w przypadku wykorzystania typu char

60 Deklaracja typu 4 informatyka +60 Przykładowe typy danych w SQL Server 2008 Istnieją także odmiany podanych wcześniej znakowych typów danych poprzedzone literka n nchar (n) nvarchar(n) nvarchar(max) Są to typy danych znakowych (zapisywanych łącznie z informacją o stronie kodowej) umożliwiające przechowywanie tekstów używających znaków specyficznych dla różnych języków

61 Deklaracja typu 5 informatyka +61 Przykładowe typy danych w SQL Server 2008 Dla danych liczbowych – liczby całkowite tinyint- liczba całkowita z zakresu 0 ÷ przechowywana za pomocą 1 bajtu smallint- liczba całkowita z zakresu ÷ przechowywana za pomocą 2 bajtów int- liczba całkowita z zakresu ÷ przechowywana za pomocą 4 bajtów bigint- liczba całkowita z zakresu ÷ przechowywana za pomocą 8 bajtów

62 Deklaracja typu 5 informatyka +62 Przykładowe typy danych w SQL Server 2008 Dla danych liczbowych – liczby z ułamkiem real, float - do zapisywania liczb zmiennoprzecinkowych decimal, numeric - do zapisywania liczb zmiennoprzecinkowych o określonej precyzji money - do zapisywania liczb wyrażających kwoty pieniężne

63 Deklaracja typu 6 informatyka +63 Przykładowe typy danych w SQL Server 2008 Dla danych liczbowych – data i czas date- do zapisywania dat np time- do zapisywania czasu np. 19:22: datetime - do zapisywania łącznie daty i czasu np :22:

64 Deklaracja typu 7 informatyka +64 Przykładowe typy danych w SQL Server 2008 Dla danych liczbowych – typy różne bit- do zapisywania wartości logicznych (true, false lub 0,1) varbinary(n)- do zapisywania danych binarnych o długości n bajtów varbinary(max) - do zapisywania danych binarnych o długości do 2 GB (np. obrazy, dźwięki itp. ) xml- do zapisywania dokumentów XML o długości do 2 GB Timestamp - specjalny znacznik który automatycznie zmienia swoja wartość przy modyfikacji wiersza

65 Deklaracja typu 8 informatyka +65 Krótkie podsumowanie Każda kolumna w tabeli musi mieć określony typ danych jaki będzie w tej kolumnie zapisywany Decyzja o wyborze odpowiedniego typu danych jest pierwszym etapem zapewnienia spójności danych Wybór typu jest równoznaczny z określeniem dziedziny wartości dla danych zapisywanych w danej kolumnie

66 Deklaracja kluczy informatyka +66 W każdej tabeli relacyjnej powinien być zdefiniowany klucz podstawowy – taka definicja zapewnia, ze każda wartość w kolumnie klucza podstawowego musi przyjąć inną wartość W SZBD istnieją mechanizmy nadające kolumnom klucza podstawowego automatycznie unikalne wartości (autonumeracja) Można także wymusić unikalność kolumn, które nie są kluczem podstawowym – klucze potencjalne

67 Reguły poprawności dla kolumny informatyka +67 Deklaracja typu określa dziedzinę wartości dla kolumny ale często jest to dziedzina zbyt szeroka Reguła poprawności dla kolumny jest wyrażeniem logicznym ograniczającym dziedzinę do tych wartości, które spełniają ten warunek Przykład : Numer Pesel (w tabeli Uczniowie) ma zadeklarowany typ danych char(11) - czyli ciąg znaków o maksymalnej długości 11. Powinniśmy wymusić, żeby to było dokładnie 11 znaków i mogą to być tylko cyfry. Taka definicja zapewni, że zapisywane w tabeli numery Pesel będą poprawne (w tej części wymagań)

68 Reguły poprawności dla wiersza informatyka +68 Czasami występują logiczne zależności pomiędzy danymi zapisanymi w różnych kolumnach (dla jednego wiersza) Reguła poprawności dla wiersza jest wyrażeniem logicznym ograniczającym dziedzinę do tych wartości, które spełniają ten warunek. Przykład : Numer Pesel (w tabeli Uczniowie) jest logicznie powiązany z datą urodzenia ucznia zapisaną w tej samej kolumnie. Powinniśmy wymusić, żeby pierwsze sześć cyfr numeru Pesel odpowiadało dacie urodzenia zapisanej w innej kolumnie Taka definicja zapewni, że zapisywane w tabeli numery Pesel i daty urodzenia będą logicznie poprawne

69 Reguły integralności referencyjnej informatyka +69 Integralność referencyjna określa poprawność logiczna danych zapisanych w różnych tabelach Klasycznym przykładem takich zależności jest para klucz obcy – klucz podstawowy. Przykład : Kolumna iducznia w tabeli Uczniowie (jako klucz podstawowy) i kolumna iducznia w tabeli Oceny (jako klucz obcy) Powinniśmy wymusić, żeby wartości klucza obcego przyjmowały tylko takie wartości, które występują w tabeli gdzie ta kolumna jest kluczem podstawowym – zapewnia to odpowiednie powiązanie danych zapisanych w różnych tabelach.

70 Podsumowanie części 8 informatyka +70 Zapewnienie spójności i integralności danych jest jednym z najważniejszych wyzwań stojących przed twórcami baz danych Systemy Zarządzania Bazami Danych dostarczają mechanizmy ułatwiajace realizacje tych zadań W trakcie zajęć warsztatowych przyjrzymy się jak te mechanizmy działają w praktyce

71 Plan prezentacji informatyka Kilka definicji na dobry początek. 2.Dane i bazy danych. 3.Podstawy relacyjnego modelu danych. 4.Rozważania o tabeli. 5.Modelowanie z wykorzystaniem tabel relacyjnych. 6.Problemy i anomalie związane z gromadzeniem danych w tabelach. 7.Systemy Zarządzania Bazami Danych. 8.Spójność i integralność danych. 9.Od rozkładu jazdy do bankowości internetowej.Od rozkładu jazdy do bankowości internetowej. 10.Podsumowanie wykładu – pytania.

72 Od rozkładu jazdy do bankowości internetowej informatyka +72 Czy chcemy tego czy nie chcemy, czy wiemy o tym czy nie wiemy … bazy danych są wszechobecne w naszym życiu Korzystanie z internetu, Załatwianie sprawy w urzędzie, Wypłacanie pieniędzy w bankomacie Zakupy w sklepie internetowym Wykupienie recepty w aptece … a jeszcze do tego elektroniczny dziennik lekcyjny Trudno wyobrazić sobie działanie, żeby w tle nie było bazy danych

73 Od rozkładu jazdy do bankowości internetowej informatyka +73 Codziennie setki milionów ludzi korzystają z wielkiej bazy danych – czyli internetu. Kto nie zna internetowej wyszukiwarki np. google Wyszukiwarki internetowe pozwalają wyszukiwać dane i informacje z zasobów internetu na podstawie słów kluczowych Aktualnie stajemy się świadkami narodzin nowego!!!!

74 Od rozkładu jazdy do bankowości internetowej informatyka +74 Projekt WolframAlpha – wprowadza nową jakość do świata wyszukiwarek internetowych Różnicę w sposobie działania omówimy na przykładzie : Chcemy dowiedzieć się o ilości mieszkańców Polski

75 Od rozkładu jazdy do bankowości internetowej informatyka +75 Wykorzystamy najpierw wyszukiwarkę google ( … i język angielski – bo projekt WolframAlpha aktualnie najlepiej radzi sobie z tym językiem) Wpisujemy w wyszukiwarce słowa - Poland citizniens (Polska obywalete) I otrzymujemy wynik – ok. 5 milionów stron zawierających podane słowa

76 Od rozkładu jazdy do bankowości internetowej informatyka +76 … a teraz to samo w wyszukiwarce WolframAlfa – wpisujemy to samo hasło …. Początek podobny …. Ale efekt końcowy całkowicie odmienny

77 informatyka +77 Tym razem otrzymujemy odpowiedź na zadane pytanie

78 informatyka +78 Dziękuję za uwagę … a może pytania ????

79 informatyka +79 Dziękuję za uwagę … a może pytania ????


Pobierz ppt "Bazy danych - jak je ugryźć? informatyka +2 Plan prezentacji informatyka +3 1.Kilka definicji na dobry początek.Kilka definicji na dobry początek. 2.Dane."

Podobne prezentacje


Reklamy Google