Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Podobne dokumenty
030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Transformacja modelu ER do modelu relacyjnego

Wykład 2. Relacyjny model danych

Model relacyjny. Wykład II

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Teoretyczne podstawy informatyki

Technologia informacyjna

Plan wykładu: Etapy projektowania bazy danych. Modelowanie danych za pomocą diagramów związków encji:

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Technologie baz danych

Teoretyczne podstawy informatyki

Bazy danych i usługi sieciowe

Model relacyjny bazy danych

Bazy danych. Algebra relacji

Relacyjny model baz danych, model związków encji, normalizacje

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Bazy Danych i Usługi Sieciowe

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Bazy danych i usługi sieciowe

Transformacja modelu ER do modelu relacyjnego

Bazy Danych 2008 Część 1 Egzamin Pisemny

Baza danych. Modele danych

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Bazy danych. Andrzej Łachwa, UJ, /15

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Projektowanie Systemów Informacyjnych

Bazy danych TERMINOLOGIA

2017/2018 WGGiOS AGH. LibreOffice Base

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Systemy informatyczne. Modelowanie danych systemów informatycznych

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

1 Wstęp do modelu relacyjnego

1 Projektowanie systemu informatycznego

Projektowanie relacyjnych baz danych

Cel normalizacji. Tadeusz Pankowski

Systemy baz danych. mgr inż. Sylwia Glińska

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

2. Tabele w bazach danych

Autor: Joanna Karwowska

Baza danych. Baza danych to:

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Bazy danych Wykład zerowy. P. F. Góra

Projektowanie baz danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Posługiwanie się tabelami

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Model relacyjny. Wykład II

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Systemy baz danych. Notatki z wykładu

Technologie baz danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Normalizacja. Pojęcie klucza. Cel normalizacji

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

WPROWADZENIE DO BAZ DANYCH

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

SIECI KOMPUTEROWE I BAZY DANYCH

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Modelowanie danych, projektowanie systemu informatycznego

Projektowanie bazy danych przykład

Normalizacja relacji

Agnieszka Ptaszek Michał Chojecki

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych - wykład wstępny

Normalizacja relacyjnych baz danych. Sebastian Ernst

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Relacyjny model danych

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Pierwsza postać normalna

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Pierwsza postać normalna

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Podstawowe zagadnienia z zakresu baz danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Przykłady normalizacji

1. Zarządzanie informacją w programie Access

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Projektowanie BAZY DANYCH

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

1. Mapowanie diagramu klas na model relacyjny.

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Etap 1 Projektowanie tabeli która będzie przechowywać informacje na temat książek.

Transkrypt:

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. Przejście od modelu związków encji do modelu relacyjnego: odwzorowanie zbiorów encji, odwzorowanie związków encji o liczebności 1:1, 1:N, N:M, odwzorowanie słabych zbiorów encji.

Relacyjny model danych Relacyjny model danych jest aktualnie najbardziej użytecznym modelem danych, bazujący na jednym pojęciu: relacji rozumianej jako dwuwymiarowa tabela, do której wpisywane są dane. Ze względu na brak elastyczności modelu relacyjnego na etapie projektowania łatwiej jest zaprojektować bazę danych w oparciu o model związków encji a następnie przejść do modelu relacyjnego. Dlatego naszym celem będzie najpierw poznanie modelu relacyjnego a następnie sposobu przejścia od modelu związków encji do modelu relacyjnego.

Podstawy Jedynym sposobem reprezentowania danych w modelu relacyjnym jest dwuwymiarowa tabela nazywana relacją. tytuł rok długość typtaśmy GwiezdneWojny 1977 124 kolor Świat Wayne a 1992 95 kolor Szczęki 1975 124 kolor Atrybuty: W nagłówku relacji(tabeli) podaje się atrybuty. Służą do nazwania kolumn w tabeli. Na ogól oddają znaczenie danych umieszczanych w kolumnach pod nimi. Schematy: Nazwa relacji oraz zbiór atrybutów nazywa się schematem relacji. Schemat relacji zapisuje się podając jej nazwę oraz listę atrybutów umieszczonych w nawiasach okrągłych, które oddzielająprzecinki:r(a 1,A 2,...,A n ). Przykład schematu relacji Film o atrybutach: tytuł, rok, długość i TypTaśmy: Film(tytuł, rok, długość, typtaśmy).

Podstawy Krotki: Wiersze tabeli(relacji), nie wliczając wiersza atrybutów, nazywane są krotkami. W każdej krotce reprezentującej pewien obiekt każdy atrybut relacji ma swój odpowiednik w postaci składowej krotki, która jest wartością atrybutu. Pojedyncza krotka bez schematu relacji nie jest czytelna, gdyż nie wiemy których atrybutów dotyczą jej kolejne wartości. Relacja jest zbiorem krotek, a zatem nie może być takiej sytuacji, że w tabeli znajdą się dwie takie same krotki, takie same wiersze. Dziedziny: W modelu relacyjnym każda składowa relacji musi mieć określony typ atomowy, tzn. musi być typem elementarnym- niepodzielnym np. całkowitym, znakowym itp. Wartość atrybutu nie może być ani rekordem, ani listą, ani tablicą, ani żadnym innym złożonym obiektem. Zakłada się, że każdy atrybut relacji jest powiązany z dziedziną, czyli z pewnym typem elementarnym. Przezstanrelacjir(R)oschemacieR(A 1,A 2,...,A n)rozumiesięzbiórkrotekrelacji Rnależącychdobazydanychr={t 1,t 2,...,t m}.

Instancje relacji Relacje nie muszą być statyczne, tzn. mogą zmieniać się w czasie. Zmiany te dotyczą głównie krotek relacji. Np. w przypadku relacji filmcojakiśczaspojawiasięnowytytuł.takżewrazzupływem czasu relacja ta zmienia się. Rzadziej zmianie ulega zmiana schematu relacji. Mogą jednak zdarzyć się takie sytuacje. W systemach komercyjnych takie zmiany są bardzo kosztowne i często niewykonalne. Zbiór krotek danej relacji nazywa się instancją relacji. W konwencjonalnych systemach baz danych udostępnia się tylko jedną instancję każdej relacji, czyli zbiór krotek, które są w relacji teraz. Takie instancje nazywane są instancjami bieżącymi.

Ograniczenia modelu relacyjnego oparte na schemacie bazy Ograniczenia dziedziny. Oznacza, że wartość dowolnego atrybutu krotki musi być atomowa. Ograniczenia klucza. Stan relacji jest zbiorem krotek, a zatem nie mogą do jednej relacji należeć dwie identyczne krotki, co oznacza, że każda z krotek musi być unikatowa. Przeważnie istnieją jednak podzbiory atrybutów, które identyfikują jednoznacznie krotki w relacji przez co rozumiemy, że w danej relacji nie istnieją dwie krotki o tych samych wartościach wskazanych atrybutów. Każdy taki zbiór atrybutów SK nazywana się nadkluczem relacji(superkey). Zbiór ten może być jednak nadmiarowy. Bardziej przydatnym pojęciem jest klucz czyli zbiór atrybutów relacji będący nadklucze relacji o minimalnej liczbie atrybutów. Oznacza to, że usunięcie któregokolwiek z atrybutów klucza spowoduje, że otrzymany zbiór nie jest nadkluczem relacji. Klucz jest związany ze strukturą relacji i nie ulega zmianie w czasie. Musi zostać zachowany w trakcie aktualizacji relacji, tzn. dodana nowa krotka nie może mieć wartości klucza takiej samej jak którykolwiek z istniejących już rekord w tabeli. Ograniczenie wartości pustych. Na atrybuty można nałożyć ograniczenie, które określa czy stosowanie wartości pustych jest dozwolone, czy też zabronione.

Od relacji do relacyjnej bazy danych Do tej pory omawialiśmy tylko pojedyncze relacje czyli tabele przechowujące dane dotyczące pewnego obiektu świata rzeczywistego. W praktyce w relacyjnych bazach danych istnieje wiele relacji(tabel) najczęściej wzajemnie ze sobą powiązanych. Schemat relacyjnej bazy danych jest zbiorem schematów relacji tworzących bazę S ={R 1,R 2,...,R n } oraz zbiorem więzów integralności WI, który zawiera ograniczenia wynikające z modelu relacyjnego, więzy integralności encji, więzy integralności odwołań i klucze obce.

Więzy integralności Więzy integralności encji określają, że żadna wartość atrybutu klucza głównego nie może mieć wartości pustej. Więzy integralności odwołań są definiowane pomiędzy relacjami i oznaczają tyle, że krotka należąca do jednej relacji odwołująca się do drugiej relacji zawsze musi wskazywać na istniejącą krotkę tamtej relacji. Przykład. Pomiędzy dziekanem i wydziałem mamy taką więź, gdyż dziekan musi być związany zawsze z istniejącym wydziałem. Kluczobcy.ZbióratrybutówFKwschemacierelacjiR 1 jestkluczemobcymtego schematu,któryodwołujesiędorelacjir 2 wtedyitylkowtedy,gdy: 1 wartości atrybutów w zbiorze FK należą do tej samej dziedziny co argumenty pełniącerolękluczagłównegowrelacjir 2, 2 wartośćkluczaobcegowkrotcet 1 wstanier(r 1 )musibyćrównawartości kluczagłównegopewnejkrotkit 2 wstanier(r 2 )(t 1 [FK] =t 2 [PK])alboma wartośćpustą.wpierwszymprzypadkumówimy,żekrotkat 1 odwołujesiędo krotkit 2. Jeśliobydwawymienionepowyżejwarunkisąspełnione,wówczasrelacjęR 1 nazywasię odwołującąarelacjęr 2 wskazującąiuważasię,żewięzyintegralnościodwołania relacjir 1 dor 2 sąspełnione. W bazach danych składających się z wielu relacji występuje wiele tego typu odwołań.

Od modelu związków encji do modelu relacyjnego Opiszemy teraz kolejne kroki algorytmu odwzorowującego model E/R w relacyjny schemat bazy danych. Krok 1: Odwzorowanie zwykłych(silnych) zbiorów encji. Dla każdego zbioru encji E w modelu E/R należy stworzyć odpowiadającą mu relację R w modelu relacyjnym, która będzie zawierała wszystkie atrybuty proste typu zbioru encji E. W nowej relacji możemy tylko wstawić atrybuty proste tworzące atrybut złożony. Krok 2: Odwzorowanie słabych zbiorów encji. Dla każdego słabego zbioru encji należy stworzyć relację zawierającą wszystkie proste atrybuty zbioru encji. Dodatkowo nowa relacja powinna zwierać w postaci klucza obcego atrybut(atrybuty) klucza głównego zbioru encji będącego w związku binarnym 1:N z omawianym słabym zbiorem encji. Klucz główny tak powstałej relacji powinien być sumą atrybutów kluczy głównych zbiorów encji będących w związku 1:N z słabym zbiorem encji oraz klucza częściowego(o ile istnieje) słabego zbioru encji.

Od modelu związków encji do modelu relacyjnego Krok 3: Odwzorowanie binarnych związków 1:1. Podejście oparte na wykorzystaniu klucza obcego- wybieramy jedną z relacji odpowiadających jednemu ze zbiorów encji tego związku i wstawiamy w niej dodatkowy atrybut(atrybuty) klucza obcego wskazującego na klucz główny drugiej relacji tego związku. Krok 4: Odwzorowanie binarnych związków 1:N. W relacji reprezentującej zbiór encji będący w związku po stronie N wstawiamy dodatkowy atrybut(atrybuty) klucza obcego reprezentującego klucz główny relacji reprezentującej zbiór encji w związku po stronie 1. Takie podejście wynika z faktu, że dla każdego egzemplarza relacji(każdej krotki) po stronie N istnieje co najwyżej jeden egzemplarz drugiej relacji po stronie 1. Krok 5: Odwzorowanie binarnych związków N:M. Należy stworzyć nową relację tego związku. Relacja ta powinna posiadać klucze obce wskazujące na klucze główne zbiorów encji będących w tym związku. Relacja ta powinna zawierać również wszystkie atrybuty proste tego związku.

Od modelu związków encji do modelu relacyjnego Krok 6: Odwzorowanie atrybutów wielowartościowych. Dla każdego atrybutu wielowartościowego należy stworzyć nową relację, która zawiera atrybuty odpowiadające wielowartościowemu atrybutowi zbioru encji i atrybutom klucza głównego relacji reprezentującej zbiór encji posiadający atrybut wielowartościowy. Krok 7: Odwzorowanie związków wieloargumentowych. Dla każdego wieloargumentowego związku należy stworzyć nową relację zawierającą (w postaci kluczy obcych) klucze główne wszystkich relacji reprezentujących zbiory encji należących do tego związku oraz atrybuty proste związku. Uwaga! W przypadku związków 1:1 lub 1:N, kiedy niewielka ilość encji uczestniczy w związek lepiej stworzyć nową relację reprezentującą związek podobnie jak w przypadku związków N:M. Uniknie się wówczas dużej ilości wartości pustych.

Przykład książka telefoniczna id_zn imie numer nazwisko id_tele typ ZNAJOMI Posiada TELEFONY t adres data ur. ZNAJOMI +(PK) id_znajomego: int +imie: char(15) +nazwisko: char(20) +adres: char(50) +data_ur: date POSIADA +(FK) id_znajomego: int +(FK) id_telefonu: int TELEFONY +(PK) id_tele: int +numer : char(11) +typ: char(10)

Przykład firma data_roz imie nazwisko numer nazwa id_prac Zarzadza lokalizacja adres plec PRACOWNICY DZIALY pensja zwierzchnik Pracuje w podwladny Uczestniczy Nadzoruje Kieruje PROJEKTY numer lokazacja

Przykład PKS Baza danych powinna zawierać informację o autobusachunikatowy numer, numer rejestracyjny, markę oraz rocznik. O każdym z kierowców powinny być przechowywane dane: imię, nazwisko, data urodzenia, adres zamieszkania, pensja. Autobusy kursują po liniach składających się z ciągu przystanków, które również identyfikowane są unikatowym numerem, ulicą oraz miejscowością. Każda linia ma nadany unikatowy numer oraz określony jest przystanek początkowy i końcowy linii. Każdy planowy przejazd autobusu w ramach danej linii nazywa się kursem. Na każdym z przystanków linii autobus odjeżdża o określonej porze i czas ten należy przechowywać w bazie.

Przykład PKS- diagram E/R nazwa id_aut nr_rej marka id_k data id_l rodzaj rocznik AUTOBUSY Realizuje KURSY odbywa sie LINIE Nalezy czas_odj Wykonuje PRZYSTANKI nazwa id_kier KIEROWCY id_prz ulica miejscowosc imie nazwisko adres pensja