2b.Relacyjny model baz danych

Slides:



Advertisements
Podobne prezentacje
2.Relacyjny model baz danych
Advertisements

Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2007/08
Bazy danych 4. Algebra relacji P. F. Góra
Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2006/07
Modelowanie logiczne (dla relacyjnych SZBD)
KLUB MIŁOŚNIKÓW HARREGO POTTERA
Relacyjny model danych
3. Modelowanie baz danych (cd)
Bazy danych 7. Postaci normalne P. F. Góra semestr letni 2004/05
2. Modelowanie baz danych
Bazy danych 1.Wiadomo ś ci wst ę pne P. F. Góra semestr letni 2004/05.
4. Relacyjny model baz danych
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Jak efektywnie współpracować z rodzicami
Modele baz danych - spojrzenie na poziom fizyczny
REKLAMY INTERNETOWE Autorka : Patrycja Kempa. REKLAMA – co to takiego ?! REKLAMA - to informacja po łą czona z komunikatem perswazyjnym. Zazwyczaj ma.
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Prąd elektryczny Opór elektryczny.
Walk ę matematyczn ą prowadzi ł a z nami pani mgr El ż bieta Maciejewska.
Pytanie to coraz cz ęś ciej nasuwa si ę przeci ę tnemu cz ł owiekowi chc ą cemu stworzy ć now ą sie ć w domu. Pytanie to coraz cz ęś ciej nasuwa si.
CREATIVE BRIEF. PYTANIA KIM? KIM? CZYM? CZYM?CO?
Informatyka Relacyjne bazy danych.
Klasa 3F mia ł a przyjemno ść uczestniczy ć w zaj ę ciach prowadzonych przez Pani ą Magd ę Ko ł b ę, zorganizowanych przez.
Opracowanie: mgr Tomasz Durawa
Ul. Kuźnicza Wrocław
Wybrane zagadnienia relacyjnych baz danych
MODU Ł Klasa III Kszta ł cenie ponadgimnazjalne.
Model relacyjny.
Komendy SQL do pracy z tabelami i bazami
Mateusz Siuda klasa IVa
MOCNE I SŁABE STRONY NARZĘDZI PLANISTYCZNYCH
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Bezpieczny Internet.
Jak można nauczyć korzystania z prawdopodobieństwa.
 Prezentacja dla uczniów klas 1 realizuj ą cych zaj ę cia artystyczne wg programu „Kraina muzyki”.  Zeszyt ć wicze ń „ Ś wiat d ź wi ę ków”: - Modu.
Przedszkola.
Projektowanie relacyjnych baz danych – postacie normalne
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
MODU Ł Klasa I „Kszta ł cenie ponadgimnazjalne”
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Projektowanie relacyjnych baz danych – diagramy związków encji
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Bazy Danych Wprowadzenie
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
Sporządził: Jacek Kruszewski Szkolenie biblioteczne Wyższej Szkoły Inżynierii i Zdrowia w Warszawie SZKOLENIE BIBLIOTECZNE.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
MULTIMEDIALNE BAZY DANYCH Wprowadzenie. Baza danych Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie.
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Benchmarking – narzędzie efektywnej kontroli zarządczej.
Rozliczanie kosztów działalności pomocniczej
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Finansowanie wybranych działań w parkach narodowych przy udziale środków funduszu leśnego - zakres finansowy Warszawa, 06 kwietnia 2016r.
Cel analizy statystycznej. „Człowiek –najlepsza inwestycja”
Mam prawo do ochrony swoich danych osobowych Twoje dane – Twoja sprawa. Skuteczna ochrona danych osobowych. Inicjatywa edukacyjna skierowana do nauczycieli.
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
OBSŁUGA KARTY DILO. Karta diagnostyki i leczenia onkologicznego zawiera: - oznaczenie pacjenta, pozwalające na ustalenie jego tożsamości, - oznaczenie.
… przemy ś lenia pedagogiczne. „Najważniejszym okresem w życiu nie są lata studiowania na wyższej uczelni, ale te najwcześniejsze, czyli okres od narodzenia.
Równowaga rynkowa w doskonałej konkurencji w krótkim okresie czasu Równowaga rynkowa to jest stan, kiedy przy danej cenie podaż jest równa popytowi. p.
Temat: Tworzenie bazy danych
Algorytmy Informatyka Zakres rozszerzony
Model warstwowy OSI Model OSI (Open Systems Interconnection) opisuje sposób przepływu informacji między aplikacjami programowymi w jednej stacji sieciowej.
Budżet rodzinny Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Usługa PUE-ZUS (Platforma Usług Elektronicznych Zakładu Ubezpieczeń Społecznych) Michał Dobrzyński, Departament Informatyki MRPiPS
Budowa, typologia, funkcjonalność
Języki programowania.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

2b.Relacyjny model baz danych Bazy danych 2a. Związki encji. 2b.Relacyjny model baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2006/07

Więcej o związkach encji (E/R) tytuł rok nazwisko adres Gwiazdy-w Filmy Gwiazdy Posiada długość TypTaśmy nazwa Studia adres Bazy danych - wykład 2

Diagramy E/R dopuszczają związki wieloargumentowe Kontrakty Filmy Gwiazdy Studia Bazy danych - wykład 2

Inny przykład o takiej samej strukturze Dostawa Dostawca Transport Co oznacza strzałka? Dostawca i transport jednoznacznie identyfikują miejsce, do którego trafia dostawa. Magazyn Bazy danych - wykład 2

W diagramach E/R związki mogą mieć swoje atrybuty Wynagrodzenie tytuł rok nazwisko adres Kontrakty Filmy Gwiazdy długość TypTaśmy Studia nazwa adres Bazy danych - wykład 2

Czteroargumentowy związek z atrybutami Wynagrodzenie tytuł rok nazwisko adres Kontrakty Filmy Gwiazdy długość TypTaśmy Studia Studio producenta Studio gwiazdy nazwa adres Bazy danych - wykład 2

Atrybuty związków zastępujemy dodatkowymi zbiorami encji Wynagrodzenie Gaże tytuł rok nazwisko adres Kombinacja Filmu i Gwiazdy wyznacza jednoznaczną Gażę Kontrakty Filmy Gwiazdy długość TypTaśmy Gwiazda wyznacza jednoznaczne Studio gwiazdy Film wyznacza jednoznaczne Studio producenta Studia nazwa adres Bazy danych - wykład 2

Związki wieloargumentowe można zastąpić dodatkowymi zbiorami encji i związkami dwuargumentowymi Zbiór encji Kontrakty nie ma atrybutów, ma same związki Gwiazdy Filmy Film-w Gwiazda-czego Jaka-gaża Kontrakty Studio-prod. Studio-gwiazdy Studia Gaże Może zbiór encji Gaże wcale nie jest potrzebny? Wynagrodzenie Bazy danych - wykład 2

Odpowiednią tabelę nazywa się tabelą pomostową. Zbiór encji Kontrakty ma jeden atrybut i wchodzi w cztery związki dwuargumentowe Gwiazdy Filmy Film-w Gwiazda-czego Kontrakty Wynagrodzenie Studio-gwiazdy Studio-prod. Studia Zbiór encji powstały z rozbicia związku wieloargumentowego na relacje binarne nazywa się zbiorem łączącym. Odpowiednią tabelę nazywa się tabelą pomostową. Bazy danych - wykład 2

Relacyjne systemy baz danych …zdominowały rynek. Systemy nierelacyjne mają status eksperymentalny, lub stosowane są w bardzo specjalistycznych kontekstach. Dlatego zdecydowana większość tego, o czym będziemy mówić, dotyczyć będzie systemów relacyjnych. Bazy danych - wykład 2

Tylko jeden sposób reprezentowania danych: dwuwymiarowa tabela (Ullman i Widom nazywają ją „relacją”) Nazwa tabeli Nazwy kolumn (atrybuty) Krotka Składowa krotki Bazy danych - wykład 2

Intuicja, jaką niesie słowo „tabela”, może być myląca: Tyle teoria. W praktyce różnie to bywa, RDBMS niekiedy dopuszcza powtarzające się krotki. Wówczas tabela nie jest zbiorem, ale wielozbiorem. W modelu relacyjnym „tabela” nie jest listą, ale zbiorem W jednej tabeli nie mogą wystąpić dwie takie same krotki Kolejność, w jakiej występują krotki, nie ma znaczenia Bazy danych - wykład 2

Trochę terminologii: Więzy Klucze Więzy jednoznaczności Więzy integralności referencyjnej Więzy domenowe (zakresu) Więzy ogólne Bazy danych - wykład 2

A jeśli występują i są różne, to znaczy, że „klucz” nie jest kluczem. Nie jest to ścisła definicja klucza — definicję ścisłą poznamy w przyszłości. Klucze Klucz — atrybut lub zbiór atrybutów, który jednoznacznie definiuje krotkę w tabeli lub encję wewnątrz zbioru encji. W danej tabeli nie występują dwie krotki, które miałyby identyczne wartości wszystkich atrybutów tworzących klucz. A jeśli występują i są różne, to znaczy, że „klucz” nie jest kluczem. Uwaga: abstrakcyjny obiekt w pamięci komputera nie musi mieć klucza, bo jest jednoznacznie identyfikowany przez adres przydzielonego mu obszaru pamięci. Bazy danych - wykład 2

Gdybyśmy próbowali utworzyć w jednej klasie dwa różne obiekty o takich samych kluczach, DBMS powinien to uniemożliwić. Bazy danych - wykład 2

Właściwy dobór kluczy jest trudny, bo muszą one dobrze odpowiadać rzeczywistości Osoba: Imię, Drugie Imię i Nazwisko? Nie wystarczy. Osoba: Imię, Drugie Imię, Nazwisko i Data Urodzenia? W bazie reprezentującej odpowiedno duży zbiór ludzi nie wystarczy. Osoba: Imię i Nazwisko? Nie wystarczy. Ściśle rzecz biorąc, PESEL nie służy tylko jako indeks, ale to jest zupełnie inna historia… Czasami wprowadza się nowe pole tylko po to, aby mogło służyć jako indeks Studenci: Numer Indeksu „Rządowa” baza danych: PESEL Bazy danych - wykład 2

Inny przykład — faktury Firma ma bazę gromadzącą dane o wystawianych fakturach. Co będzie kluczem? Numer Faktury. Jeśli numeracja zaczyna się od początku w każdym roku, Numer Faktury i Rok. Jeśli poszczególne działy stosują własną numerację faktur, Numer Faktury i Nazwa Działu lub Numer Faktury, Nazwa Działu i Rok. Jak widać, właściwy dobór klucza zależy od rzeczywistości, którą chcemy przedstawić w bazie danych. Bazy danych - wykład 2

Wówczas zbiór atrybutów {PESEL, Nazwisko} także jest kluczem! Ważna uwaga: Przypuśćmy, że mamy „rządową” bazę danych osobowych, w której kluczem jest atrybut PESEL. Wówczas zbiór atrybutów {PESEL, Nazwisko} także jest kluczem! Bazy danych - wykład 2

W rzeczywistości trzebaby to sprawdzić… Podobnie, jeśli tworzymy bazę danych szkół podstawowych, zbiór atrybutów {Ulica, NrDomu, NrSzkoły} będzie kluczem. Załóżmy, że tak jest. Jeśli rozszerzymy ten zbiór do {Miasto, Ulica, NrDomu, NrSzkoły}, także otrzymamy klucz. Podobnie będzie jeśli dodamy informację o województwie. W rzeczywistości trzebaby to sprawdzić… Bazy danych - wykład 2

Klucze minimalne. Nadklucze. W poprzednim przykładzie może się zdarzyć, że w dwu różnych miastach będą istnieć ulice Kościuszki i w dodatku na każdej z tych ulic pod numerem 1 będzie mieścić się szkoła podstawowa. Podobnie w dwu miastach na ulicy Dąbrowskiego (ale w budynkach o różnych numerach!) mogą się mieścić szkoły podstawowe o numerze 16. Wreszcie może się zdarzyć, że szkoły o numerze 53 (w różnych miastach) będą się mieścić w budynku o numerze 8 (przy ulicach o różnych nazwach). Zbiór {Ulica, NrDomu, NrSzkoły} nazywamy w tej sytuacji kluczem minimalnym. Jego nadzbiór nazywamy nadkluczem. W innej terminologii „klucz minimalny” zwany jest po prostu „kluczem” Bazy danych - wykład 2

Dygresja: Zbiory słabych encji Jeśli niektóre (lub wszystkie) elementy klucza pewnego zbioru encji wybiera się spośród atrybutów innego zbioru encji, zbiór o tak utworzonym kluczu nazywa się zbiorem słabych encji. Typowo Przy strukturze hierarchicznej nazwa (czy inny atrybut) obiektu może identyfikować go w podhierarchii, ale nie w całej hierarchii. Na przykład Numer Szkoły identyfikuje szkołę w mieście, ale nie w województwie. Zbiór encji szkoły będzie musiał brać część swojego klucza z innego zbioru encji (miasta), więc będzie to słaba encja. Zbiór łączący, powstały w celu wyeliminowania relacji wieloargumentowych, prawie zawsze będzie słaby. Bazy danych - wykład 2

Reprezentacja graficzna zbiorów słabych encji Klucz zbioru Szkoły numer nazwa … Liczne inne atrybuty Miasta Szkoły Miasto Zbiór słabych encji i związki łączące go z „dostarczycielami” (części) klucza oznaczam podwójną linią. Leży w mieście Bazy danych - wykład 2

Dane a metadane Tabela (realcja) to obiekt abstrakcyjny. Ma swoje atrybuty i więzy. Zbiór wszystkich takich „projektów” tabel nazywa się schematem bazy danych. Schemat wraz z informacjami o użytkownikach i ich uprawnieniach stanowi metadane („dane o danych”). Schemat tabeli w zasadzie — w czasie normalnego użytkowania — nie zmienia się w czasie. Zbiór wszystkich krotek danej tabeli („zawartość tabeli”) może się zmieniać w czasie. Zbiór taki nazywa się instancją tabeli (relacji). Instancję istniejącą teraz nazywa się instancją bieżącą. Bazy danych - wykład 2

Więzy jednoznaczności Istnieje co najwyżej jeden obiekt z klasy B, który wchodzi w relację R z pewnym obiektem klasy A. Ten obiekt z klasy B nie musi istnieć, może być obiektem pustym. Innymi słowy, nie wszystkie obiekty z A muszą wchodzić w związek R. R A B Bazy danych - wykład 2

Więzy integralności referencyjnej Na przykład każda informacja o dostawie towarów do magazynu musi być powiązana z dostawcą Istnieje dokładnie jeden obiekt z klasy B, który wchodzi w relację R z pewnym obiektem klasy A. Ten obiekt z klasy B musi istnieć, nie może być obiektem pustym. Innymi słowy, wszystkie obiekty z A muszą wchodzić w związek R z obiektami B. R A B W książce oznaczają to przez półokrąg. Bazy danych - wykład 2

Więzy integralności referencyjnej wymuszają istnienie wskazywanego obiektu. Jeślibyśmy więc zażądali usunięcia obiektu związanego więzami integralności referencyjnej, DBMS Uniemożliwi usunięcie takiego obiektu lub Usunie także wszystkie obiekty, które na obiekt usuwany wskazują. Jeśli one też są związane więzami integralności referencyjnej, usunięte zostaną obiekty, które na nie wskazują. I tak dalej.  Usuwanie kaskadowe. Bardzo niebezpieczne — nie każdego stać na zatrudnienie stu osób do wklepywania utraconych danych. Bazy danych - wykład 2

Nie więcej niż 10 gwiazd w jednym filmie Inne rodzaje więzów 1. Więzy domenowe (zakresu) — atrybut może przyjąć wartości tylko z pewnego zakresu. 2. Więzy ogólne — na przykład ograniczenie stopnia związku, to jest ilości „partnerów” w relacji. Gwiazdy-w 10 Filmy Gwiazdy Nie więcej niż 10 gwiazd w jednym filmie Bazy danych - wykład 2

Dwanaście zasad Codda dla RDBMS Informacje są reprezentowane logicznie w tabelach. Dane są logicznie dostępne przez podanie nazwy tabeli, wartości klucza podstawowego i nazwy kolumny. Wartości null są traktowane w jednolity sposób jako „brakujące informacje”. Nie mogą być traktowane jako puste łańcuchy czy zera. Bazy danych - wykład 2

Dwanaście zasad Codda dla RDBMS (cd) Metadane są umieszczone w bazie danych tak, jak zwykłe dane. Język obsługi danych ma możliwość definiowania danych i perspektyw, więzów integralności, przeprowadzania autoryzacji, obsługi transakcji i manipulacji danymi. Perspektywy reagują na zmiany swoich tabel bazowych. Zmiana w perspektywie powoduje zmianę w tabeli bazowej. Bazy danych - wykład 2

Dwanaście zasad Codda dla RDBMS (cd) W praktyce w systemach komercyjnych robi się to bardzo rzadko. Z całą pewnością nie jest to operacja, jaką rutynowo przeprowadza zwykły użytkownik! Istnieją pojedyncze operacje pozwalające na wyszukanie, wstawienie, uaktualnienie i usunięcie danych. Operacje użytkownika są logicznie oddzielone od fizycznych danych i metod dostępu. Operacje użytkownika pozwalają na zmianę schematu bazy danych bez konieczności tworzenia bazy od nowa. Bazy danych - wykład 2

Dwanaście zasad Codda dla RDBMS (cd) Więzy integralności są umieszczone w metadanych, nie w zewnętrznej aplikacji. Język manipulacji danymi powinien działać bez względu na to jak i gdzie są rozmieszczone fizyczne dane oraz nie powinien wymagać zmian, gdy fizyczne dane są centralizowane lub rozpraszane. Bazy danych - wykład 2

Dwanaście zasad Codda dla RDBMS (cd) Operacje na pojedynczych rekordach przeprowadzane w systemie podlegają tym samym zasadom i więzom, co operacje na zbiorach danych. Różnica wobec programowania proceduralnego, gdzie zawsze trzeba powiedzieć jak manipulować danymi. Bazy danych - wykład 2

Dziesiąta zasada Codda Więzy integralności są umieszczone w metadanych, nie w zewnętrznej aplikacji. Bardzo ważna zasada! Jeśli modelowany fragment rzeczywistości zawiera jakieś ograniczenia, powinny one się znaleźć w samym projekcie bazy danych, nie w aplikacji obsługującej tę bazę. Bazy danych - wykład 2

Dlaczego ograniczenia umieszczamy w metadanych, nie w aplikacji? Bo osoba pisząca aplikację może nie wiedzieć o tych ograniczeniach, może nie uznać je za istotne i może nie umieścić ich w swoim projekcie. Bo osoba pisząca kolejną aplikację może nie umieścić ich w swoim projekcie (z powodów jak wyżej). Bo doświadczenie uczy, że jeśli ograniczenia nie są wbudowane w projekt bazy, prędzej czy później zdarzy się jakieś nieszczęście… Bazy danych - wykład 2

Przykład Dobrze zaprojektowana baza danych studentów i grup ćwiczeniowych musi mieć wbudowane ograniczenie stanowiące, że do jednej grupy mającej zajęcia w pracowni komputerowej A, nie można zapisać więcej niż 21 studentów. Ostatnio na zajęcia zgłosiło się 40 osób, wszystkie legalnie wpisane w systemie USOS Bazy danych - wykład 2

Jak realizujemy więzy? Zgodnie z pierwotną ideą Codda, więzy powinny być zawarte w samej strukturze tabel — metadane same w sobie stanowią część dokumentacji projektu bazodanowego. Niekiedy robi się też tak: Baza danych nie udostępnia swoich tabel zewnętrznym aplikacjom bezpośrednio, a jedynie za pomocą procedur składowanych. Złożone zapytania warto jest umieszczać w samej bazie danych, na przykład w postaci perspektyw. Bazy danych - wykład 2

Zasady projektowania Dokładność — projekt powinien odpowiadać specyfikacji, tabele lub zbiory encji powinny odzwierciedlać świat rzeczywisty. Unikanie redundancji — bo zajmuje się zbyt wiele miejsca i ryzykuje się, że nie wszystkie wystąpienia danej informacji będą uaktualnione. Prostota — tylko tyle elementów, ile naprawdę potrzeba. Dobór właściwych elementów — nie wszystko modelujemy jako atrybuty! Bazy danych - wykład 2

Projekt musi być zatwierdzony przed realizacją Projekt ma odpowiadać rzeczywistości, nie widzimisię lub (na ogół błędnej) intuicji projektanta Projektowanie bazy danych to PRACA, za którą twórca powinien być odpowiednio wynagradzany Projekt musi być zatwierdzony przed realizacją Zmiana projektu w takcie realizacji jest bardzo bolesna; powinno się jej dokonywać tylko wtedy, gdy jest ona naprawdę konieczna Bazy danych - wykład 2