1 / 39

POWTÓRZENIE

POWTÓRZENIE. Dane; Baza danych - BD ; System zarządzania bazą danych ( SZBD lub DBMS-Database Management System ); system bazy danych- SBD ; BD+ SZBD= SBD Pierwsze SBD lata 60-te ( hierarchiczne i sieciowe ); System informacyjny – system informatyczny ( SI ); Encja, atrybut, związek .

kalona
Download Presentation

POWTÓRZENIE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POWTÓRZENIE • Dane; • Baza danych - BD; • System zarządzania bazą danych (SZBD lub DBMS-Database Management System); • system bazy danych- SBD; • BD+ SZBD= SBD • Pierwsze SBD lata 60-te (hierarchiczne i sieciowe); • System informacyjny – system informatyczny (SI); • Encja, atrybut, związek.

  2. Środowisko bazy danych 1971 – pierwsza propozycja standardowej terminologii i ogólnej architektury systemu baz danych przedstawiona przez specjalną grupę do zadań związanych z bazami danych (potrzeba stosowania dwuwarstwowej architektury systemu baz danych: warstwy systemowej i warstw użytkowników). 1975 – komitet planowania standardów SPARC amerykańskiego instytutu standardów ANSI przedstawił konieczność stosowania trójwarstwowej architektury. Wyodrębnione trzy poziomy abstrakcji, tzn trzy różne poziomy (warstwy) opisu danych przechowywanych w bazie stanowią trójwarstwową architekturę bazy, składającą się z warstw: zewnętrznej, konceptualnej i wewnętrznej.

  3. Użytkownik 1 Użytkownik 2 Użytkownik n Warstwa zewnętrzna Perspektywa 1 Perspektywa n Perspektywa 2 ... Schemat konceptualny Warstwa konceptualna Schemat wewnętrzny Warstwa wewnętrzna Fizyczna organizacja danych Baza danych Architektura trójwarstwowa ANSI-SPARC

  4. Głównym zadaniem trójwarstwowej architektury jest oddzielenie fizycznej reprezentacji bazy danych od różnych sposobów widzenia danych w bazie przez użytkowników, ponieważ: • każdy z użytkowników powinien mieć dostęp do tych samych danych, ale sposób ich widzenia powinien być dostosowany do indywidualnych wymagań, zaś zmiana sposobu widzenia nie powinna wpływać na innych użytkowników; • użytkownicy nie powinni mieć bezpośrednio do czynienia ze szczegółami fizycznego sposobu pamiętania bazy danych, czyli kontakt użytkownika z bazą danych powinien być niezależny od sposobu przechowywania danych;

  5. administrator bazy danych powinien mieć możliwość zmiany struktur służących do przechowywania danych i te zmiany powinny być też niezauważalne dla użytkowników; • wewnętrzna struktura bazy danych powinna być odporna na zmiany fizycznych parametrów używanego nośnika pamięci, np. przy przejściu na nowe rodzaje nośników; • administrator powinien mieć możliwość zmiany konceptualnej struktury bazy danych w sposób niezauważalny dla innych użytkowników.

  6. Warstwa zewnętrzna – opisuje jak użytkownicy widzą bazę danych i w jaki sposób uzyskują do niej dostęp. W tej warstwie zawarte są wszystkie istotne dla jej użytkowników informacje o bazie danych. Warstwa konceptualna – to zebrany, zbiorowy sposób widzenia bazy danych. Warstwa ta opisuje, jakie dane są przechowywane w bazie i jakie są ich wzajemne związki.Zawiera, zatemlogiczną strukturę całej bazy danych.

  7. Warstwa konceptualna przedstawia więc: • wszystkie encje, ich atrybuty i występujące pomiędzy nimi związki; • reguły spójności danych; • informacje semantyczne o danych; • informacje dotyczące bezpieczeństwa i integralności danych. Warstwa wewnętrzna – to fizyczna reprezentacja bazy danych w komputerze. Opisuje sposób przechowywania danych w bazie.

  8. PracownikNr PracownikNr BiuroNr Nazwisko Pensja Nazwisko Imię Wiek Warstwa konceptualna PracownikNr Nazwisko BiuroNr Imię DataUr Pensja create PERSONEL { int pracownikNr int biuroNr; char imię [15]; date dataUr; float pensja; }; Warstwa wewnętrzna Różnice pomiędzy warstwami Całkowity opis bazy danych nazywany jest schematem bazy danych. Używane są trzy różne typy schematów odpowiadające poziomom abstrakcji trójwarstwowej architektury.

  9. Niezależność danych Logiczna niezależność danych – oznacza odporność schematów zewnętrznych na zmiany dokonywane w schemacie konceptualnym.  Fizyczna niezależność danych – oznacza odporność schematu konceptualnego na zmiany dokonywane w schemacie wewnętrznym.

  10. Schemat Schemat Schemat zewnętrzny zewnętrzny zewnętrzny Odwzorowanie Logiczna niezależność danych zewnętrzno-konceptualne Schemat konceptualny Fizyczna niezależność danych Odwzorowanie konceptualno-wewnętrzne Schemat wewnętrzny

  11. Języki baz danych Język definicji danych (JDD) – to język, który pozwala administratorowi lub użytkownikowi opisywać i nazywać encje, atrybuty i relacje wymagane przez aplikacje, a także więzy (warunki) integralności i bezpieczeństwa – czyli definiowanie struktury danych zawartych w bazie. Język manipulowania danymi (JMD) – język, który dostarcza zestawu operacji przeznaczonych do manipulowania danymi przechowywanymi w bazie, czyli: • dopisywanie nowych danych do bazy; • modyfikowanie danych przechowywanych w bazie; • usuwanie danych z bazy; • (wyszukiwanie danych zawartych w bazie).

  12. Język sterowania danych (Data Control Language - DCL), który umożliwia sterowanie transakcjami tj. akceptacja lub wycofanie. Język zapytań (Query Language), który umożliwia pobieranie informacji z bazy za pośrednictwem określonych zapytań, warunków. W praktyce te cztery języki są ze sobą zintegrowane (w obrębie aplikacji, systemu).

  13. Tak zwane języki czwartej generacji obejmują: • języki prezentacji danych; • języki specjalizowane; • generatory programów wykonujących definiowanie, wstawianie, modyfikowanie i wyszukiwanie danych w bazie; • generatory aplikacji.

  14. Modele danych Model danych – zbiór ogólnych zasad posługiwania się danymi, który obejmuje trzy główne części: • Definicja danych: zbiór reguł określających strukturę danych, wcześniej określane jako logiczna struktura bazy danych; • Operowanie danymi: zbiór reguł dotyczących procesu dostępu do danych i ich modyfikacji; • Integralność danych: zbiór reguł określających, które stany bazy danych są poprawne (a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone).

  15. Rozróżnia się trzy główne typy (lub generacje) modeli danych: • Proste modele danych. Dane zorganizowane są w strukturę rekordów zgrupowanych w plikach. Głównymi dostępnymi operacjami są operacje na rekordach (ewentualnie na ich poszczególnych polach); • Klasyczne modele danych. Należą do nich modele hierarchiczne, sieciowe i relacyjne. Modele relacyjne stanowią najbardziej popularną obecnie podstawę architektur systemów baz danych. • Semantyczne modele danych. Semantyka to inaczej znaczenie. Klasyczne modele danych nie dostarczają łatwego sposobu odczytania informacji o semantyce danych, stąd podejmuje się próby stworzenia innych modeli, uzupełniających ten brak (np. model związków encji, model obiektowy).

  16. Model relacyjny zarządzania bazą danych Relacyjny system zarządzania bazą danych jest drugą generacją SZBD (systemy pierwszej generacji – sieciowe i hierarhiczne) i jest oparte na relacyjnym modelu danych zdefiniowanym przez dr E. F. Codda (1970). W związku z tym, że pojęcie relacji jest matematyczną konstrukcją, relacja jest tabelą, dla której jest spełniony następujący zbiór zasad: • Każda relacja w bazie danych ma jednoznaczną nazwę. Według Codda dwuwymiarowa tabela jest matematycznym zbiorem, a matematyczne zbiory muszą być nazywane jednoznacznie;

  17. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji. Każda kolumna relacji jest również zbiorem i dlatego powinna być jednoznacznie nazwana. • Wszystkie wartości w kolumnie muszą być tego samego typu. Wynika to z p. 2. • Porządek kolumn w relacji nie jest istotny. Schemat relacji - lista nazw jej kolumn - jest również matematycznym zbiorem. Elementy zbioru nie są uporządkowane.

  18. Każdy wiersz w relacji musi być różny. Innymi słowy, powtórzenia wierszy nie są dozwolone w relacji. • Porządek wierszy nie jest istotny. Skoro zawartość relacji jest zbiorem. to nie powinno być określonego porządku wierszy relacji. • Każde pole leżące na przecięciu kolumny i wiersza w relacji powinno zawierać wartość atomową. To znaczy, zbiór wartości nie jest dozwolony na jednym polu relacji.

  19. 12 reguł Dr Codd’a dotyczących przedstawiania relacji jako tabeli: • 0. Aby można było uznać dany system za system zarządzania relacyjnych baz danych, musi on wykorzystywać (wyłącznie) relacyjne mechanizmy do zarządzania bazą danych; • Reguła informacyjna: - wymaganie, aby wszystkie informacje zawarte w bazie danych były przedstawiane w jeden i tylko jeden sposób, mianowicie za pomocą wartości umieszczanych w kolumnach w obrębie wierszy tabel;

  20. Reguła gwarantowanego dostępu: - powtórna instrukcja zasadniczego wymagania dotyczącego kluczy podstawowych (każda poszczególna wartość skalarna w bazie danych musi mieć zapewnioną możliwość logicznego adresowania, wykorzystując nazwę zawierającej ją tabeli, nazwę zawierającej ją kolumny oraz wartość klucza podstawowego zawierającego ją wiersza); • Uporządkowana obsługa wartości NULL: wymaga się, aby SZBD obsługiwał reprezentację brakujących informacji oraz informacji nieadekwatnych, to znaczy uporządkowanych, odmiennych od wszystkich wartości prawidłowych oraz niezależnych od typu danych;

  21. Aktywny katalog dostępny na bieżąco, oparty na modelu relacyjnym: - aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających ich zwykłego języka zapytań. • Reguła dotycząca podjęzyka obsługi danych o pełnych możliwościach: - system musi obsługiwać przynajmniej jeden język relacyjny; • Reguła aktualizacji perspektyw: wszystkie perspektywy, które teoretycznie dają się aktualizować, muszą być aktualizowane przez system;

  22. Polecenia wstawiania, aktualizacji oraz usuwania w języku wysokiego poziomu: wymaga się, aby system obsługiwał operatory INSERT, UPDATE oraz DELETE dotyczące całych zbiorów; • Fizyczna niezależność danych; • Logiczna niezależność danych; • Niezależność integralnościowa: - ograniczenia integralnościowe muszą być specyfikowane pojedynczo z programu aplikacyjnego i przechowywane w katalogu;

  23. Niezależność dystrybucyjna: istniejące aplikacje powinny działać bez zakłóceń, kiedy następuje wprowadzenie rozproszonej Wersji SZBD oraz kiedy istniejące dane rozproszone są ponownie dystrybuowane w obrębie systemu; • Reguła nieprowadzenia "działalności wywrotowej": jeśli system jest wyposażony w interfejs niskiego poziomu (operacje na pojedynczych rekordach), nie może być użyty do np. omijania zabezpieczeń relacyjnych lub ograniczeń integralnościowych.

  24. Cechy modelu relacyjnego: • Daleko posunięta niezależność danych; • Solidne podstawy pozwalające rozwiązywać problemy semantyki, spójności i redundancji danych; • Umożliwienia rozwoju języków przetwarzania danych opartych na przetwarzaniu zbiorów. • Dwa punkty widzenia relacyjnych BD (RBD): • matematyczne- relacje, • tabele

  25. System R- pierwszy prototypowy projekt relacyjny SZBD (1976 IBM San Jose Research Laboratory w Kaliforni) Przyczynił się do powstania wielu prac badawczych i rozwoju innych projektów prototypowych, a w szczególności przyczynił się do: • rozwoju języka zapytań SQL (Structured Query Language), który stał się językiem formalnie uznawanym przez międzynarodową organizację standardów ISO i faktycznym standardem języka dla relacyjnych SZBD; • stworzenia na przełomie lat 70-tych i 80-tych systemów komercyjnych, których obecnie istnieje około kilkuset.

  26. Terminologia Relacja – to tabela posiadająca kolumny i wiersze. Relacyjny SZBD określa jedynie, że baza jest dla użytkownika zbiorem tabel (odnosi się to tylko do logicznej struktury bazy danych – konceptualnego i zewnętrznego poziomu architektury ANSI-SPARC). Atrybut (pole)– to kolumna relacji opatrzona nazwą. Atrybuty mogą pojawiać się w relacji w dowolnej kolejności i nie ma to wpływu na znaczenie relacji. Dziedzina – to zbiór dopuszczalnych wartości dla jednego lub większej liczby atrybutów.

  27. Dziedziny niektórych atrybutów relacji Biuro i Personel:

  28. Krotka – to wiersz relacji (rekord) Stopień (krotność) relacji – to liczba atrybutów relacji Moc relacji – to liczba krotek, które znajdują się w relacji. Relacyjna baza danych – to zbiór znormalizowanych relacji o różnych nazwach.

  29. Atrybuty Stopień Klucz główny Klucz obcy Stan relacji Biuro i Personel: Biuro Relacja Moc Personel Relacja

  30. Relacje matematyczne Mamy dwa zbiory D1 i D2, gdzie: D1 = {2,4} i D2 = {1,3,5} Iloczyn kartezjański D1 x D2 = {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)} Dowolny podzbiór takiego iloczynu kartezjańskiego jest relacją, np.: R = {(2,1),(4,1)} Którą możemy zapisać jako: Inna relacja, w której pierwszy element jest zawsze dwa razy większy niż drugi: czyli S={(2,1)}

  31. Rozszerzając pojęcie relacji na trzy zbiory: D1={1,3}, D2={2,4}, D3={5,6} Mamy iloczyn kartezjański: D1xD2xD3={(1,2,5),(1,2,6),(1,4,5),(1,4,6),(3,2,5),(3,2,6),(3,4,5),(3,4,6)} Dowolny podzbiór tych uporządkowanych trójek jest relacją. Niech D1 x D2 x ...x Dn będą n zbiorami. Ich iloczyn kartezjański: Dowolny zbiór n-krotek z tego iloczynu kartezjańskiego jest relacją n zbiorów.

  32. Własności relacji: • Baza danych jest zbiorem relacji, o następujących własnościach: • każda relacja w bazie danych jest jednoznacznie określona przez swoją nazwę; • każda kolumna w relacji (atrybut) ma jednoznaczną nazwę (w ramach tej relacji); • kolumny relacji tworzą zbiór nieuporządkowany; • wszystkie wartości w danej kolumnie muszą być tego samego typu (pochodzić z tej samej dziedziny); • każdy wiersz (krotka) jest inny – nie ma duplikatów krotek;

  33. teoretycznie, kolejność wierszy nie ma znaczenia (w praktyce może mieć wpływ na efektywność wyszukiwania odpowiednich grup kotek); • każde pole (przecięcie wiersza z kolumną) zawiera wartość atomową z dziedziny określonej przez kolumnę. Brakowi wartości odpowiada wartość specjalnej NULL, zgodna z każdym typem kolumny (chyba, że została jawnie wykluczona przez definicję typu kolumny). • każda relacja zawiera klucz główny -- kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (a więc w szczególności nie powtarzają się). Wartością klucza głównego nie może być NULL. • Wartość pusta (NULL) – reprezentuje wartość atrybutu, która w danej chwili nie jest znana lub nie może zostać ustalona.

  34. Klucze relacji: Klucz główny - to jedna lub więcej kolumn tabeli, w których wartości jednoznacznie identyfikują każdy wiersz w tabeli. Każda relacja musi mieć klucz główny. Dzięki temu możemy zapewnić, aby wiersze nie powtarzały się w relacji. Klucz kandydujący to kolumna lub zbiór kolumn, które mogą występować jako jednoznaczny identyfikator wierszy w tabeli. W każdej relacji może istnieć wiele kluczy kandydujących. Klucz główny jest wybierany ze zbioru kluczy kandydujących. Klucz obcy - jest kolumną lub grupą kolumn tabeli, która czerpie swoje wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych.

  35. Więzy integralności: • wymagana obecność danych (NOT NULL); • więzy dziedzin atrybutów (dopuszczalny zbiór wartości atrybutu, dopuszczalny zakres długości i format atrybutu); • integralność encji: każda tabela musi posiadać klucz główny, a wartości klucza głównego muszą być w ramach tabeli unikalne i nie równe NULL; • integralność referencyjna: każda wartość klucza obcego może być albo równa jakiejś wartości klucza głównego występującej w tabeli powiązanej, lub (ewentualnie) NULL; • więzy ogólne (dodatkowe warunki poprawności danych określone przez użytkowników lub administratorów bazy danych).

  36. Integralność referencyjnapociąga za sobą konieczność określenia reguły postępowania w wypadku usuwania wiersza z tabeli powiązanej, co mogłoby unieważnić niektóre wartości kluczy obcych w tabelach do niej się odnoszących: • Ograniczone usuwanie(Restricted). Podejście ostrożne – nie dopuszcza do usuwania rekordu nadrzędnego, jeśli istnieją rekordy podrzędne. • Kaskadowe usuwanie(Cascades). Podejście ufne – przy usuwaniu rekordu nadrzędnego usuwa także rekordy podrzędne. • Izolowane usuwanie(Isolated). Podejście wyważone – usuwa jedynie rekord nadrzędny, nieważne wartości kluczy obcych ulegają zastąpieniu przez NULL.

  37. Powiązania kluczy obcych:

  38. Schemat relacyjnej bazy danych: Relacyjna baza danych składa się z pewnej liczby znormalizowanych relacji, np.: Biuro (biuroNr, ulica, miasto, kod pocztowy) Personel (pracownikNr, imię, nazwisko, stanowisko, płeć, dataUr, pensja, biuroNr) Nieruchomość(nieruchomośćNr, ulica, miasto, kod pocztowy, typ, pokoje, czynsz, właścicielNr, pracownikNr, biuroNr) Klient (klientNr, imię, nazwisko, adres, telefon, preferencje, maksCzynsz) Właściciel (właścicielNr, imię, nazwisko, adres, telefon) Wizyta (klientNr, nieruchomośćNr, dataWizyty, uwagi) Rejestracja (klientNr, biuroNr, pracownikNr, dataRejestracji) Wynajęcie (umowaNr, nieruchomośćNr, klientNr, czynsz, formaPłatności, kaucja, zapłacona, od, do, okres)

  39. Biuro Personel Ma BiuroNr PersonelNr Nadzoruje Oferuje Klient Nieruchomość Ogląda NieruchomośćNr KlientNr Posiada Wynajmuje Wynajęty Przez Wynajęcie Właściciel prywatny WłaścicielNr WynajęcieNr Przykład diagramu związków encji:

More Related