2. Model związk. zków w encji. (Entity. Relationship Model) Modelowanie świata Poj Diagramy zwi

Wielkość: px
Rozpocząć pokaz od strony:

Download "2. Model związk. zków w encji. (Entity. Relationship Model) Modelowanie świata Poj Diagramy zwi"

Transkrypt

1 2. Model związk zków w encji (Entity Relationship Model) Modelowanie świata Poj Diagramy zwi Przykłady Pojęcie encji i klucza encji Diagramy związk zków w encji (ERD) A B C Materiały pomocnicze do wykładu z baz danych na Wydziale ETI PG. Ich lektura nie zastępuje obecności na wykładzie. Wykorzystanie materiałów w innym celu oraz ich rozpowszechnianie jest zabronione. E #1 K.Goczyła, M. Piechówka

2 Świat rzeczywisty a baza danych diagram związków encji Model świata rzeczywistego założenia, uproszczenia, ograniczenia model relacyjny Model danych schemat relacyjnej bazy danych Definicja danych (DDL) Baza danych zapytania (DML) #2 K.Goczyła, M. Piechówka

3 Encja Encja Pojęcie bazowe (niedefiniowalne). Podstawową cechą encji jest to, że jest rozróżnialna od innych encji. Przykłady osoba, samochód, tablica, książka,... wypadek samochodowy, lot samolotu, egzamin,... uczucie, wyobrażenie, (rzeczy) (zdarzenia) (pojęcia) Każda encja jest inna. W celu uproszczenia analizy świata rzeczywistego, grupujemy (klasyfikujemy) podobne do siebie encje w zbiory encji (stosujemy zasadę abstrakcji). #3 K.Goczyła, M. Piechówka

4 Zbiór r encji Zbiór encji Grupa podobnych do siebie (wg określonych kryteriów) encji. Atr1 Atr2... Atrn NAZWA NAZWA Przykłady zbiór wszystkich osób; zbiór wszystkich kobiet zamieszkałych w Gdańsku; zbiór wszystkich wypadków samochodowych na skrzyżowaniu X;... Encje w zbiorze encji są rozróżniane przez wartości atrybutów. Własności atrybutów zbioru encji: Liczba atrybutów jest ustalona ( 1) Typy atrybutów są proste (wartości są niepodzielne, czyli atomowe) Nazwy atrybutów są różne (jednoznaczne) #4 K.Goczyła, M. Piechówka

5 Klucz zbioru encji Atr1 Atr2... Atrn Atr1 Atr2... Atrn NAZWA NAZWA Klucz prosty: Atr1 Klucz złożony: (Atr1, Art2) Własności klucza zbioru encji: Jednoznaczność: Nie istnieją takie 2 encje w zbiorze encji, które mają takie same wartości atrybutów kluczowych. Innymi słowy: wartość klucza jednoznacznie identyfikuje encję. Minimalność (dot. kluczy złożonych): Nie można z klucza usunąć żadnego atrybutu bez naruszenia wymogu jednoznaczności. Innymi słowy: Każda składowa klucza złożonego jest potrzebna. #5 K.Goczyła, M. Piechówka

6 Klucz główny g i klucze alternatywne ISBN Autor Tytuł Rok ISBN Autor Tytuł Rok Książki Książki Klucz: ISBN Klucz: (Autor, Tytuł) Jeden z kluczy wybieramy jako klucz główny (podstawowy), drugi klucz (lub pozostałe klucze, jeśli jest ich więcej) są kluczami alternatywnymi. Tam, gdzie nie rodzi to niejednoznaczności: pojęcia "klucz" i "klucz główny" będziemy utożsamiać. #6 K.Goczyła, M. Piechówka

7 Źle zbudowane encje Książki ISBN Autor Tytuł Rok wyd. Narod. autora Książki Autor Tytuł ISBN Rok wyd. Narod. autora Atrybut Narod. autora zależy od atrybutu, który nie jest kluczem. Atrybut Narod. autora zależy od atrybutu, który jest częścią klucza. #7 K.Goczyła, M. Piechówka

8 Źle zbudowane encje Kursanci Ident Nazwisko Miasto Liczba mieszk. Kurs Ocena identyfikator kursanta jego nazwisko miasto, skąd pochodzi liczba mieszkańców tego miasta nazwa kursu ocena kursanta z kursu Czy te encje są dobrze zbudowane? Jeśli nie, to popraw model danych. #8 K.Goczyła, M. Piechówka

9 Związki pomiędzy encjami Definicja Związek REL pomiędzy zbiorami encji E1, E2,..., En jest to zbiór krotek n-elementowych (e1, e2,..., en) takich, że e1 E1, e2 E2,..., en En. Oznaczenie: Uwaga: Przykłady: NAZWA (E1, E2,..., En) Zbiory encji Ei nie muszą być różne! 1. Związek TEACH (TEACHERS, STUDENTS) zawiera wszystkie pary (t, s) takie że nauczyciel t uczy studenta s. 2. Związek MOTHER (PERSONS, PERSONS) zawiera wszystkie pary (p1, p2) takie że osoba p1 jest matką osoby p2. mieszka w posiada... ukończył... nadaje przewozi zna Związek TEACHING (TEACHERS, STUDENTS, SUBJECTS) zawiera wszystkie trójki (t, s, b) takie, że nauczyciel t uczy studenta s przedmiotu b. TEACH i MOTHER to związki binarne (n = 2). TEACHING jest związkiem potrójnym (n = 3). stopień związku #9 K.Goczyła, M. Piechówka

10 Związki pomiędzy encjami Notacja graficzna Liczność związku E1 nazwa E2 1:1 (jeden do jeden) E1 nazwa E2 1:n (jeden do wiele; n 1) E1 nazwa E2 n:m (wiele do wiele; n,m 1) Można też wskazać opcjonalność związku, np.: nazwa E1 E2 1:0..1 nazwa E1 E2 1:0..n #10 K.Goczyła, M. Piechówka

11 Związki pomiędzy encjami (cd.) Inna notacja: E1 nazwa E2 nazwa E1 nazwa E2 E E1 nazwa E2 Uwaga: Zbiory encji pozostające w danym związku nie muszą być różne! Zapis słowny związków pomiędzy encjami: Nazwa (E1, E2) #11 K.Goczyła, M. Piechówka

12 Związki pomiędzy encjami (cd.) Związek może mieć atrybuty: Data Mężczyźni małżeństwa Kobiety Taki związek warto uczynić zbiorem encji: Pesel Pes-M Data Pesel Mężczyźni Małżeństwa Kobiety Kluczem głównym zbioru encji Małżeństwa mógłby być równie dobrze nr pesel kobiety Pes-K. #12 K.Goczyła, M. Piechówka

13 Związki pomiędzy encjami (cd.) Jeśli interesują nas wszystkie małżeństwa, a nie tylko aktualne: Data Mężczyźni małżeństwa Kobiety Klucz zbioru encji Małżeństwa staje się kluczem złożonym: Pesel Pes-M Pes-K Data Pesel Mężczyźni Małżeństwa Kobiety #13 K.Goczyła, M. Piechówka

14 Związki pomiędzy encjami (cd cd.) Egzemplarze (instancje) zbioru związku WORKS_FOR, który reprezentuje związek pomiędzy zbiorami encji EMPLOYEE i DEPARTMENT. Egzemplarze (instancje) zbioru związku WORKS_ON, który reprezentuje związek pomiędzy zbiorami encji EMPLOYEE i PROJECT. 1:N N:M #14 K.Goczyła, M. Piechówka

15 Związki stopni wyższych Problem: Klienci zamawiają w hurtowniach towary. Dowolny towar może być zamówiony w dowolnej hurtowni przez dowolnego klienta. Próba: Klienci K-T Towary K-H Hurtownie H-T Klienci = { (Nowak), (Kowalski) } Towary = { (książki), (komputery) } Hurtownie = { (Mała), (Nowa) } K-T = { (Nowak, książki), (Kowalski, książki), (Nowak, komputery), (Kowalski, komputery) } K-H = { (Nowak, Mała), (Kowalski, Mała), (Nowak, Nowa), (Kowalski, Nowa) } Ale: W której hurtowni Nowak zamawiał książki??? W której hurtowni Kowalski zamawiał komputery???... H-T = { (Mała, książki), (Nowa, książki), (Mała, komputery), (Nowa, komputery) } #15 K.Goczyła, M. Piechówka

16 Związki stopni wyższych (cd.) Rozwiązanie: Klienci zamawia Hurtownie Towary zamawia (Klienci, Hurtownie, Towary) jest związkiem potrójnym (stopnia 3). Przykładowe wystąpienie tego związku: zamawia = { (Nowak, Mała, książki), (Nowak, Nowa, książki), (Nowak, Nowa, komputery), (Kowalski, Mała, komputery), (Kowalski, Mała, książki) } Pytanie: Gdzie zamieścić takie ważne atrybuty jak: data zamówienia, zamawiana ilość? #16 K.Goczyła, M. Piechówka

17 Związki stopni wyższych (cd.) Związek stopnia 3: E1 nazwa E2 nazwa (E1, E2, E3) E3 Liczności mogą być różne dla różnych zbiorów encji. Uwaga: Stopień związku nazywamy też krotnością związku #17 K.Goczyła, M. Piechówka

18 Związki stopni wyższych (cd cd.) Egzemplarze zbioru związku SUPPLY, który reprezentuje związek pomiędzy zbiorami encji SUPPLIER, PART i PROJECT #18 K.Goczyła, M. Piechówka

19 Związki stopni wyższych a związki zki binarne Każdy związek stopnia n > 2 można zamienić na n związków binarnych. Klucz3 Klucz1 Klucz2 Klucz1 Klucz1 Klucz2 Klucz2 E1 nazwa E2 E1 EX E2 Klucz3 Klucz3 E3 E3 Zbiór encji EX reprezentuje związek nazwa. Kluczem zbioru encji EX jest złożenie kluczy encji pozostających w związku nazwa. #19 K.Goczyła, M. Piechówka

20 Związki stopni wyższych a związki zki binarne (cd.) Przykład: Klienci, Hurtownie, Towary: NIP NIP-kl SWW-t Nazwa-h Nazwa Klienci Zamówienia Hurtownie Ilość Data SWW Towary Atrybut NIP-kl jest kluczem obcym w zbiorze encji Zamówienia: jego wartości są równe wartościom klucza głównego zbioru encji Klienci. Podobnie atrybuty: SWW-t i Nazwa-h. W naszym przykładzie klucze obce wchodzą w skład klucza głównego. #20 K.Goczyła, M. Piechówka

21 Diagramy związk zków w encji (cd.) Jeśli klucz encji reprezentującej związek staje się długi (wieloczłonowy), warto rozważyć zastąpienie go kluczem prostym typu identyfikator. W naszym przykładzie byłby to numer zamówienia (np. Nr-zam). NIP Nr-zam Nazwa Klienci Zamówienia Hurtownie Ilość Data SWW Towary Nie ma już potrzeby umieszczania na diagramie ERD w zbiorze encji Zamówienia kluczy obcych. Związki pomiędzy zbiorami encji są reprezentowane symbolami graficznymi (strzałkami). Sposób implementacji tych związków nie musi być przedstawiony na modelu. #21 K.Goczyła, M. Piechówka

22 Diagramy związk zków w encji (cd.) A jeśli na jednym zamówieniu zamawiamy wiele towarów? NIP Nr-zam Data Nazwa Klienci Zamówienia Hurtownie SWW Towary Ale gdzie umieścić atrybut Ilość? #22 K.Goczyła, M. Piechówka

23 Diagramy związk zków w encji (cd.) Wprowadźmy zbiór encji reprezentujący pozycje na zamówieniach: PozZam NIP Nr-zam Data Nazwa Klienci Zamówienia Hurtownie Nr-zam Ilość Lp PozZam SWW Towary #23 K.Goczyła, M. Piechówka

24 Diagramy związk zków w encji (cd.) Zbiory encji pozostające w związku nie muszą być różne: Nr-ewid ma_podwładnych Nazwisko Pracownicy Przykład: ma_podwładnych (Pracownicy, Pracownicy) podwładni przełożeni { (01001, Nowak), (02001, Kowalski), (01001, Nowak), (02002, Zieliński), (02002, Zieliński), (02012, Twardy), (02012, Twardy), (03002, Jasny), (03002, Jasny), (03022, Nickowski), (03002, Jasny), (03023, Nowak) } (01001, Nowak), (02001, Kowalski) (02002, Zieliński) (02012, Twardy) (03002, Jasny) (03022, Nickowski) (03023, Nowak) #24 K.Goczyła, M. Piechówka

25 Diagramy związk zków w encji (cd.) Pomiędzy tymi samymi zbiorami encji może zachodzić kilka różnych związków: Nazwisko Pesel Numer Nazwa Osoby prowadzi uczestniczy Kursy prowadzi "Bazy Danych" prowadzi (Osoby, Kursy) uczestniczy (Osoby, Kursy) uczestniczy w "Zarządzaniu Jakością" #25 K.Goczyła, M. Piechówka

26 Związek IS_A IS_A (E1, E2) oznacza, że każda encja ze zbioru E1 jest także encją ze zbioru E2. Innymi słowy, zbiór encji E1 jest podzbiorem zbioru encji E2. Związek IS_A jest związkiem wbudowanym w model związków encji (ERM), typu 0..1:1. E 2 E 1 Notacja: Każda encja e E 1 ma wszystkie atrybuty encji ze zbioru E 2 i atrybuty dodatkowe, nie istniejące w zbiorze E 2. E1 IS_A E2 IS_A(E 1, E 2 ) #26 K.Goczyła, M. Piechówka

27 Związek IS_A - przykład Nr-rej Marka Rok-prod Samochody Ile-osób IS_A IS_A Nacisk Poj-bagaż Osobowe Ciężarowe Ładown Każda encja ze zbiorów Osobowe i Ciężarowe ma wszystkie atrybuty encji ze zbioru Samochody (także klucz Nr-rej), a ponadto ma atrybuty dodatkowe, specyficzne dla wszystkich encji z jej zbioru. Mówimy tu o dziedziczeniu atrybutów pomiędzy zbiorami encji. #27 K.Goczyła, M. Piechówka

28 Jak tworzyć diagramy ERD? 1. Zidentyfikuj encje i zbiory encji. 2. Zdefiniuj stosowne atrybuty i klucze encji. 3. Zidentyfikuj wszystkie związki typu IS_A. Wprowadź niezbędne podzbiory encji i zdefiniuj dodatkowe atrybuty. 4. Zidentyfikuj związki pomiędzy zbiorami encji. Dla każdego związku sprecyzuj jego liczność i stopień. 5. Zredukuj wszystkie związki stopni n > 2 do związków binarnych. Wprowadź zbiory encji reprezentujące te związki, określ ich klucze i ew. inne atrybuty. 6. Zweryfikuj powstały model: Czy adekwatnie (tj. z wystarczającą dokładnością) reprezentuje on świat rzeczywisty? Jeśli nie, cofnij się do któregoś z poprzednich punktów. PAMIĘTAJ! Najwięcej kosztują niepoprawione błędy popełnione na etapie analizy. Im dalej w realizacji systemu, tym trudniej wprowadzać zmiany. #28 K.Goczyła, M. Piechówka

29 3. Relacje, relacyjna baza danych Pojęcie relacji Relacyjna baza danych Od diagramu ERD do schematu bazy danych #29 K.Goczyła, M. Piechówka

30 Relacja Definicja Relacja (bazodanowa) jest to dowolny podzbiór produktu kartezjańskiego skończonej liczby dziedzin prostych. Dziedzina jest prosta, jeśli jej elementy są nierozkładalne (atomowe). Niech D 1, D 2,..., D n są to dziedziny proste, 0<n<. D 1 x D 2 x...x D n - produkt kartezjański tych dziedzin prostych: zbiór wszystkich krotek (d 1, d 2,..., d n ) takich że d 1 D 1, d 2 D 2,..., d n D n. Liczba n to stopień relacji. Relacja jest więc zbiorem n-elementowych krotek (d 1, d 2,..., d n ), d i D i, i = 1..n, gdzie D i są dziedzinami prostymi. Poszczególne pozycje krotek relacji nazywamy atrybutami relacji. Wymóg atomowości elementów dziedzin atrybutów relacji formułujemy też następująco: Relacja jest zawsze w pierwszej postaci normalnej (1NF) #30 K.Goczyła, M. Piechówka

31 Relacje - przykłady Niech: n = 4 D 1 - zbiór liczb naturalnych D 2 -zbiór łańcuchów znakowych rozpoczynających się od "T" D 3 - zbiór dat z wieku XX D 4 - zbiór liter alfabetu łacińskiego Przykłady relacji: 1. { (1, "T01", 12/01/1987, A), (43, "Tak", 01/01/1901, m), (6, "TTTFRTHH", 31/12/1998, X), (143, "T", 3/3/1933, A) } 2. { (1000, "T1t", 2/11/1987, B) } 3. { } #31 K.Goczyła, M. Piechówka

32 Reprezentacja relacji Relację reprezentujemy w postaci tabeli, w której każdy wiersz odpowiada jednej krotce, a każda kolumna odpowiada jednemu atrybutowi. Nazwa kolumny jest nazwą atrybutu. Nazwy atrybutów nie mogą się powtarzać. Przykład tablicy reprezentującej pewną relację o 3 atrybutach: NIP Nazwisko Status Kowalski Nowak Kwiatkowski Nowak 90 Pamiętaj! Tablica jest tylko wygodną reprezentacją relacji, a nie relacją (np. w tablicy wiersze są uporządkowane, w relacji krotki nie są uporządkowane). #32 K.Goczyła, M. Piechówka

33 Własności relacji - podsumowanie 1. W relacji nie ma dwóch identycznych krotek, - ponieważ relacja jest matematycznym zbiorem. 2. Krotki nie są uporządkowane - ponieważ relacja jest matematycznym zbiorem. 3. Wartości atrybutów są atomowe (są pojedynczymi wartościami) Na każdej pozycji każdej krotki (w jednej komórce tabeli reprezentującej relację) istnieje tylko jedna, elementarna, niepodzielna wartość. Innymi słowy, relacja bazodanowa jest zawsze w pierwszej postaci normalnej (1NF). Relacja matematyczna nie musi być 1NF- dziedziny mogą być złożone. #33 K.Goczyła, M. Piechówka

34 Schemat relacji Schemat relacji Nazwa relacji i nazwy jej atrybutów (opcjonalnie: z podanymi dziedzinami) Przykłady schematów relacji: 1. NicNieZnaczy (Numer, Łańcuch, Data, Litera) 2. Klienci (NIP, Nazwisko, Imię, Adres, Status), NIP {zbiór legalnych numerów NIP}, Nazwisko, Imię, Adres {zbiór łańcuchów znaków} Status {zbiór liczb naturalnych} 3. Książki (ISBN, Autor, Tytuł, Rok), ISBN {zbiór numerów ISBN}, Autor, Tytuł {zbiór łańcuchów znaków}, Rok {zbiór lat} #34 K.Goczyła, M. Piechówka

35 Schemat relacji (SQL) 1. NicNieZnaczy (Numer, Łańcuch, Data, Litera) create table NicNieZnaczy (numer integer, lancuch varchar(128), data date, litera char(1)) 2. Klienci (NIP, Nazwisko, Imię, Adres, Status), NIP {zbiór legalnych numerów NIP}, Nazwisko, Imię, Adres {zbiór łańcuchów znaków} Status {zbiór liczb naturalnych} create table Klienci (nip char(10), nazwisko varchar(64), imie varchar(32), adres varchar(128), status smallint) 3. Książki (ISBN, Autor, Tytuł, Rok), ISBN {zbiór numerów ISBN}, Autor, Tytuł {zbiór łańcuchów}, Rok {zbiór lat} create table Ksiazki (isbn char(24), autor varchar(64), tytul varchar(128), rok integer) #35 K.Goczyła, M. Piechówka

36 Klucze relacji Niech R jest relacją o atrybutach A 1,A 2,...A n. Rozważmy zbiór atrybutów K = (A i, A j,..., A k ) Warunek jednoznaczności: W żadnym momencie nie istnieją w relacji R dwie krotki, które mają te same wartości atrybutu A i, te same wartości atrybutu A j,..., te same wartości atrybutu A k. Warunek minimalności: Ze zbioru atrybutów A i, A j,..., A k nie można usunąć żadnego atrybutu bez naruszenia warunku jednoznaczności. Klucz relacji (klucz kandydujący) Atrybut (lub zbiór atrybutów) relacji spełniający warunki: jednoznaczności i minimalności. Klucz prosty - ma tylko jeden atrybut Klucz złożony -składa się z wielu atrybutów #36 K.Goczyła, M. Piechówka

37 Klucze relacji (cd.) Klucz główny (inaczej: klucz podstawowy) relacji jest arbitralnie wybranym kluczem kandydującym relacji. Pozostałe klucze - jeśli istnieją -są kluczami alternatywnymi. Uwaga: Ponieważ relacja jest zbiorem, zawsze ma przynajmniej jeden klucz (w zbiorze nie ma powtarzających się elementów, zatem nie ma dwóch identycznych krotek i na pewno istnieje pewna kombinacja atrybutów, która spełnia warunek jednoznaczności i minimalności; w skrajnym przypadku jest to kombinacja wszystkich atrybutów relacji). Wniosek: Każda relacja ma klucz główny. #37 K.Goczyła, M. Piechówka

38 Klucze relacji - notacja Klucze główne: Książki (ISBN, Autor, Tytuł, Rok) Klienci (NIP, Nazwisko, Adres, Status) Książki (ISBN, Autor, Tytuł, Rok) klucz główny prosty klucz główny złożony create table Ksiazki create table Klienci create table Ksiazki (isbn char(24), (nip char(10), (isbn char(24), autor varchar(64), nazwisko varchar(64), autor varchar(64), tytul varchar(128), imie varchar(32), tytul varchar(128), rok integer, PRIMARY KEY (isbn)) adres varchar(128), status smallint, PRIMARY KEY (nip)) rok integer, PRIMARY KEY (autor,tytul)) #38 K.Goczyła, M. Piechówka

39 Klucze relacji notacja (cd cd.) Klucze obce: Książki (ISBN, Autor, Tytuł, Rok, Id-wyd REF Wydawnictwa) Wydawnictwa (Ident, Nazwa, Miasto) klucz obcy odpowiadający mu klucz główny create table Wydawnictwa (ident char(24), nazwa varchar(64), miasto varchar(32), PRIMARY KEY (ident)) create table Ksiazki (isbn char(24), autor varchar(64), tytul varchar(128), rok integer, id_wyd char(24), PRIMARY KEY (isbn), FOREIGN KEY (id_wyd) REFERENCES Wydawnictwa) #39 K.Goczyła, M. Piechówka

40 Klucze relacji notacja (cd cd.) Klucz obcy odpowiadający kluczowi głównemu tej samej relacji: Pracownicy (Nr-ewid, Nazwisko, Stanowisko, Szef REF Pracownicy) TEN klucz obcy odpowiada TEMU kluczowi głównemu create table Pracownicy (nr_ewid char(8), nazwisko varchar(64), stanowisko char(24), szef char(8), PRIMARY KEY (nr_ewid), FOREIGN KEY (szef) REFERENCES Pracownicy) #40 K.Goczyła, M. Piechówka

41 Klucze relacji - notacja (cd Klucz obcy wchodzący w skład klucza głównego: cd.) Zamówienia (Nr-zam, Data, Klient) Poz-Zam (Nr-zam REF Zamówienia, Lp, Towar, Ilość) ten klucz obcy wchodzi w skład klucza głównego create table Zamowienia (nr_zam char(16), data date, klient char(10), PRIMARY KEY (nr_zam)) create table Poz_Zam (nr_zam char(16), lp smallint, towar varchar(128), ilosc real, PRIMARY KEY (nr_zam,lp), FOREIGN KEY (nr_zam) REFERENCES Zamowienia) #41 K.Goczyła, M. Piechówka

42 Klucze relacji - notacja (cd.) Złożony klucz obcy: ten klucz obcy składa się z dwóch atrybutów Zamówienia (Nr-zam, Data, Klient,...) Nr-zam KEY Poz-Zam (Nr-zam, Lp, Towar, Ilość,...) (Nr-zam, Lp) KEY Nr-zam REF Zamówienia Opis-Poz-Zam (Nr, Nr-zam, Lp, Tekst) (Nr, Nr-zam, Lp) KEY (Nr-zam, Lp) REF Poz-zam Uwaga: Klucz obcy nie musi mieć takiej samej nazwy jak klucz główny relacji przezeń wskazywanej, jednak w miarę możliwości należy stosować tę konwencję, gdyż polepsza czytelność schematu bazy danych. #42 K.Goczyła, M. Piechówka

43 Klucze relacji - warunki Integralność encji Żaden atrybut wchodzący w skład klucza głównego relacji nie może przyjmować wartości pustych (NULL). Uzasadnienie Klucz główny identyfikuje encje, a ta zawsze jest identyfikowalna (odróżnialna od innych encji)! Integralność referencyjna Jeśli relacja R2 zawiera klucz obcy FK odpowiadający kluczowi głównemu PK pewnej relacji R1 (niekoniecznie różnej od R2), wówczas każda wartość FK: (i) albo jest równa wartości PK w pewnej krotce R1, (ii) albo musi być cała równa NULL. Uzasadnienie Jeśli jakaś krotka t2 z relacji R2 wskazuje na krotkę t1 z relacji R1, to t1 musi istnieć! #43 K.Goczyła, M. Piechówka

44 Relacje a zbiory encji I. Reprezentacja zbiorów encji Każdy zbiór encji reprezentujemy jako oddzielną relację o kluczu głównym równym kluczowi głównemu zbioru encji. II. Reprezentacja związków pomiędzy zbiorami encji Związki jeden do jeden Reprezentujemy przez klucz obcy wstawiony do dowolnej z dwóch relacji. Związki jeden do wiele Reprezentujemy przez klucz obcy wstawiony do relacji po stronie n związku. Związki wiele do wiele Reprezentujemy przez oddzielną relację o kluczu będącym złożeniem kluczy głównych związanych zbiorów encji. Uwaga Reprezentację związku przez oddzielną relację można stosować też w wypadku związków jeden do jeden i jeden do wiele. Zalety: większa elastyczność (np. odporność na zmianę typu związku), symetria. Wady: jedna relacja więcej. #44 K.Goczyła, M. Piechówka

45 Relacje a zbiory encji - przykłady Nazwisko Pesel Pes-M Data Pesel Nazwisko Mężczyźni Małżeństwa Kobiety Schemat relacyjnej bazy danych Mężczyźni (Pesel, Nazwisko,...) Kobiety (Pesel, Nazwisko,...) Małżeństwa (Pes-M REF Mężczyźni, Pes-K REF Kobiety, Data) Pytanie: Co się zmieni, gdy będziemy chcieli uwzględniać wszystkie małżeństwa dawne i obecne)? #45 K.Goczyła, M. Piechówka

46 Relacje a zbiory encji - przykłady Pesel Pes-M Pes-K Data Pesel Mężczyźni Małżeństwa Kobiety Schemat relacyjnej bazy danych: Mężczyźni (Pesel, Nazwisko,...) Kobiety (Pesel, Nazwisko,...) Małżeństwa (Pes-M REF Mężczyźni, Pes-K REF Kobiety, Data) Zmieniła się tylko definicja klucza głównego relacji Małżeństwa, gdyż związki jeden do jeden zostały zamienione na związki jeden do wiele, a klucze obce są po stronie wiele. Uwaga: Nie jest potrzebna dodatkowa reprezentacja związków (Mężczyźni, Małżeństwa) i (Kobiety, Małżeństwa), gdyż w skład klucza głównego relacji Małżeństwa wchodzą klucze obce odpowiadające kluczom głównym relacji Mężczyźni i relacji Kobiety. #46 K.Goczyła, M. Piechówka

47 Relacje a zbiory encji - przykłady Nazwisko Pesel Numer Data Osoby os-pasz Paszporty Możliwe schematy relacyjnej bazy danych: 1. Osoby (Pesel, Nazwisko) Paszporty (Numer, Data, Pesel REF Osoby) 2. Osoby (Pesel, Nazwisko, Nr-pasz REF Paszporty) Paszporty (Numer, Data) 3. Osoby (Pesel, Nazwisko) Paszporty (Numer, Data) Os-Pasz (Pesel REF Osoby, Nr-pasz REF Paszporty) #47 K.Goczyła, M. Piechówka

48 Relacje a zbiory encji - przykłady NIP Nazwisko Status Nr-zam Data Klienci Zamówienia Możliwe schematy relacyjnej bazy danych: 1. Klienci (NIP, Nazwisko, Status) Zamówienia (Nr-zam, Data, Klient REF Klienci) 2. Klienci (NIP, Nazwisko, Status) Zamówienia (Nr-zam, Data) Zam-Klient (Nr-zam REF Zamówienia, Klient REF Klienci) #48 K.Goczyła, M. Piechówka

49 Relacje a zbiory encji - przykłady Pesel Nazwisko Numer Temat Data Osoby uczestniczy Kursy Schemat relacyjnej bazy danych: Osoby (Pesel, Nazwisko) Kursy (Numer, Temat, Data) Os-Kurs (Osoba REF Osoby, Kurs REF Kursy) Relacja Os-Kurs jest właściwym miejscem do umieszczenia atrybutów dotyczących uczestnictwa danej osoby w danym kursie (np. oceny): Os-Kurs (Osoba REF Osoby, Kurs REF Kursy, Ocena) #49 K.Goczyła, M. Piechówka

50 Relacje a zbiory encji - przykłady Nr-rej Marka Rok-prod Samochody Ile-osób IS_A IS_A Nacisk Poj-bagaż Osobowe Ciężarowe Ładown Schemat relacyjnej bazy danych: 1. Samochody (Nr-rej, Marka, Rok-prod) Osobowe (Nr-rej REF Samochody, Ile-osób, Poj-bagaż) Ciężarowe (Nr-rej REF Samochody, Nacisk, Ładown) Możliwe są też inne realizacje związku IS_A: 2. Samochody (Nr-rej, Marka, Rok-prod) Osobowe (Nr-rej, Marka, Rok-prod, Ile-osób, Poj-bagaż) Ciężarowe (Nr-rej, Marka, Rok-prod, Nacisk, Ładown) Ta relacja zawiera samochody inne niż osobowe i ciężarowe (jeśli takie istnieją) 3. Samochody (Nr-rej, Typ, Marka, Rok-prod, Ile-osób, Poj-bagaż, Nacisk, Ładown) #50 K.Goczyła, M. Piechówka

51 Relacje a zbiory encji - przykłady NIP Nr-zam Data Nazwa Nazwisko Adres Status Klienci Zamówienia Hurtownie Lp Ilość Nr-zam PozZam Towary SWW Nazwa Miara Klienci (NIP, Nazwisko, Status) Hurtownie (Nazwa, Adres) Towary (SWW, Nazwa, Miara) Zamówienia (Nr-zam, Data, Klient REF Klienci, Hurt REF Hurtownie) PozZam (Nr-zam REF Zamówienia, Lp, Towar REF Towary, Ilość) #51 K.Goczyła, M. Piechówka

52 Relacyjna baza danych - przykład Przykładowa zawartość tablic KLIENCI i ZAMÓWIENIA z tej bazy danych: KLIENCI ZAMÓWIENIA NIP Nazwisko Status Kowalski Nowak Kwiatkowski Nowak 90 Nr-zam Data Klient Hurt MAŁA NOWA TYLKO TU MAŁA TYLKO TU U CIOCI U WOJTKA U WOJTKA #52 K.Goczyła, M. Piechówka

53 Przykład: Modelowanie hierarchii #53 K.Goczyła, M. Piechówka

54 Przykład: wypożyczalnia yczalnia video Firma wypożycza klientom na określony czas za opłatą kopie filmów zarejestrowanych na dwóch rodzajach nośników: kasetach wideo i kolekcjach płyt DVD. System umożliwia przechowywanie i zarządzanie informacjami o klientach, filmach, kasetach i wypożyczeniach. Informacja o filmie dotyczy m.in.: tytułu filmu, daty produkcji, długości filmu, aktorów grających główne role, ograniczenia wiekowe oraz opłaty pobieranej za wypożyczenie kasety z filmem. Może istnieć wiele kaset z tym samym filmem. Każda kaseta ma numer identyfikacyjny. Klienci mogą również dokonywać uprzedniej rezerwacji kopii filmu na określony dzień. #54 K.Goczyła, M. Piechówka

55 Przykład: wypożyczalnia yczalnia wideo (2) #55 K.Goczyła, M. Piechówka

56 Przykład: wypożyczalnia yczalnia wideo (3) Schemat relacyjnej bazy danych KLIENCI (nr_ident, imię, nazwisko, adres, nr_tel, haslo, nr_karty, liczba_spoznien) (nr_ident) KEY FILMY (ident, tytul, reżyser, kategoria, rok_prod, opis) (ident) KEY KOPIE (nr_ewid, lokalizacja, czas_nagrania, rodzaj, ident_filmu, kod_kreskowy) (nr_ewid) KEY (ident_filmu) REF FILMY PLYTY_DVD (nr_ewid_kopii, nr_w_kolekcji, dlugość) (nr_ewid_kopii, nr_w_kolekcji) KEY REZERWACJE (ident, data, nr_ewid_kopii, nr_ident_klienta) (ident) KEY (nr_ewid_kopii) REF KOPIE (nr_ident_klienta) REF KLIENCI WYPOZYCZENIA (ident, data_wypożyczenia, data_zwrotu_oczek, data_zwrotu_fakt, nr_ident_klienta, nr_ewid_kopii) (ident) KEY (nr_ident_klienta) REF KLIENCI (nr_ewid_kopii) REF KOPIE #56 K.Goczyła, M. Piechówka

57 Przykładowa baza danych School1 Opis problemu: 1. Nauczyciele pewnej szkoły są opisywani atrybutami: identyfikator TNO, nazwisko TNAME, tytuł naukowy TITLE, miasto pochodzenia CITY. 2. Każdy nauczyciel może mieć szefa. 3. Studenci szkoły są opisywani atrybutami: identyfikator SNO, nazwisko SNAME, rok rozpoczęcia nauki SYEAR, miasto pochodzenia CITY. 4. W semestrze każdy nauczyciel ma zajęcia z wieloma studentami przez HOURS godzin (dla każdego studenta liczba godzin może być inna). 5. Każdy student ma zajęcia z wieloma nauczycielami. #57 K.Goczyła, M. Piechówka

58 Przykładowa baza danych School1 Diagram ERD: SNO SNAME TNO TNAME TITLE STUDENTS teaching TEACHERS CITY SYEAR CITY HOURS supervised Schemat relacyjnej bazy danych: TEACHERS (TNO, TNAME, TITLE, CITY, SUPNO REF TEACHERS) STUDENTS (SNO, SNAME, SYEAR, CITY) TS (TNO REF TEACHERS, SNO REF STUDENTS, HOURS) #58 K.Goczyła, M. Piechówka

59 Zawartość bazy danych School1 TEACHERS TNO TNAME TITLE CITY SUPNO T1 Blake Prof. London NULL T2 Smith PhD Glasgow T1 T3 Jones Prof. London T1 T4 Clark PhD Liverpool T3 T5 Adams MSc Bristol T4 STUDENTS SNO SNAME SYEAR CITY S1 Henry 1975 London S2 Jones 1980 Davos S3 Johnson 1983 Dublin S4 Higgins 1984 London S5 Ford 1990 Bristol S6 Hopkins 1990 Adelaide TS TNO SNO HOURS T1 S1 64 T1 S2 64 T2 S2 100 T2 S3 120 T2 S4 120 T3 S1 32 T3 S2 36 T3 S3 60 T3 S5 72 T4 S1 96 T4 S3 96 T4 S5 96 T5 S6 32 #59 K.Goczyła, M. Piechówka

60 4. Algebra relacji Operatory relacyjne operatory zbiorowe specjalne operatory relacyjne Wyrażenia algebry relacji PROJECT (SELECT FROM (A TIMES B)... #60 K.Goczyła, M. Piechówka

61 Algebra relacji Algebra relacji Zestaw operatorów, które mogą być stosowane w stosunku do relacji. OPERATORY ALGEBRY RELACJI Operatory zbiorowe Specjalne operatory relacyjne * suma (unia) * selekcja (wybór) * różnica * projekcja (rzutowanie) iloczyn (przecięcie) złączenie * produkt kartezjański Uwaga: Operatory oznaczone * są prymitywne, tzn. żaden z nich nie może być wyrażony jako kombinacja pozostałych. Wynikiem każdego operatora algebry relacji jest relacja. Zatem algebra relacji jest domknięta. Umożliwia to budowę dowolnie zagnieżdżonych wyrażeń relacyjnych. Można np. wykonać projekcję sumy, selekcję złączenia, złączenie wyników kilku selekcji itd. #61 K.Goczyła, M. Piechówka

62 Operatory zbiorowe: suma relacji Definicja Dwie relacje są zgodne (kompatybilne), jeśli: mają ten sam stopień n, i-te atrybuty każdej z nich (i=1,... n) mają tę samą dziedzinę. R UNION S (gdzie R i S są zgodne): zbiór wszystkich krotek, które należą do R lub do S. R S R UNION S Przykład: R - zbiór nauczycieli, którzy uczą studenta S5 S - zbiór nauczycieli, którzy uczą studenta S6 R UNION S - zbiór nauczycieli, którzy uczą studenta S5 lub studenta S6 #62 K.Goczyła, M. Piechówka

63 Operatory zbiorowe: różnica r relacji R MINUS S (gdzie R i S są zgodne): zbiór wszystkich krotek, które należą do R i nie należą do S. R S R MINUS S Przykład: R - zbiór nauczycieli, którzy uczą studenta S5 S - zbiór nauczycieli, którzy uczą studenta S6 R MINUS S - zbiór nauczycieli, którzy uczą studenta S5, ale nie uczą studenta S6 #63 K.Goczyła, M. Piechówka

64 Operatory zbiorowe: iloczyn relacji R INTERSECT S (gdzie R i S są zgodne): zbiór wszystkich krotek, które należą do R i jednocześnie należą do S. R S R INTERSECT S Przykład: R - zbiór nauczycieli, którzy uczą studenta S5 S - zbiór nauczycieli, którzy uczą studenta S6 R INTERSECT S - zbiór nauczycieli, którzy uczą studenta S5 i uczą studenta S6 Uwaga: INTERSECT nie jest operatorem prymitywnym, gdyż: R INTERSECT S = R MINUS (R MINUS S) = S MINUS (S MINUS R) #64 K.Goczyła, M. Piechówka

65 Operatory zbiorowe: produkt kartezjański relacji R TIMES S: zbiór wszystkich krotek t takich, że t jest konkatenacją krotki r R i krotki s S. Stopień relacji będącej wynikiem operacji R TIMES S jest sumą stopni relacji R i relacji S. produkt a b c d e f R x y S a b x a b y c d x c d y e f x e f y R TIMES S Przykład: R - zbiór wszystkich identyfikatorów nauczycieli S - zbiór wszystkich identyfikatorów studentów R TIMES S - zbiór wszystkich par (ident-nauczyciela, ident-studenta): {(T1,S1), (T1,S2),..., (T1,S6), (T2,S1),..., (T2,S6),..., (T5,S1),...(T5,S6)} #65 K.Goczyła, M. Piechówka

66 Operatory zbiorowe: produkt kartezjański relacji (cd.) Produkt kartezjański może powodować niejednoznaczności w nazwach atrybutów. Na przykład wynik operacji: TEACHERS TIMES STUDENTS ma 2 atrybuty o nazwie CITY. W takich wypadkach atrybuty kwalifikujemy nazwą relacji, z której pochodzą: TEACHERS.CITY, STUDENTS.CITY. Zatem schemat relacji TEACHERS TIMES STUDENTS ma postać: (TNO, TNAME, TITLE, TEACHERS.CITY, SUPNO, SNO, SNAME, SYEAR, STUDENTS.CITY) Dla polepszenia czytelności schematu relacji nazwy atrybutów można kwalifikować nawet wtedy, gdy nie ma niejednoznaczności, np.: (TEACHERS.TNO, TEACHERS.TNAME,...) #66 K.Goczyła, M. Piechówka

67 Specjalne operatory relacyjne: projekcja Jak wybrać tylko określone atrybuty relacji? Do takich celów służy operacja projekcji (PROJECT): C A1 A2 A3 B1 B PROJECT C OVER A1, A2, B1 D A1 A2 B #67 K.Goczyła, M. Piechówka

68 Specjalne operatory relacyjne: projekcja Niech A 1, A 2,..., A k są atrybutami relacji R. PROJECT R OVER A 1, A 2,..., A k : zbiór wszystkich krotek (a 1, a 2,..., a k ) takich, że w R istnieje krotka t, która jako wartość A 1 ma a 1, jako wartość A 2 ma a 2,..., jako wartość A k ma a k. R A B C D E "pionowy" podzbiór relacji R PROJECT R OVER B, D Uwaga: Z definicji relacji wynika, że z wyniku projekcji usuwane są ew. duplikaty. Przykład: PROJECT TEACHERS OVER CITY #68 K.Goczyła, M. Piechówka CITY London Glasgow Liverpool Bristol

69 Specjalne operatory relacyjne: selekcja Jak wybrać tylko określone krotki relacji? Do takich celów służy operacja selekcji (SELECT): C A1 A2 A3 B1 B SELECT FROM C WHERE A1 < 12 E A1 A2 A3 B1 B #69 K.Goczyła, M. Piechówka

70 Specjalne operatory relacyjne: selekcja SELECT FROM R WHERE warunek: zbiór wszystkich krotek t z relacji R takich, że dla wszystkich t warunek ma wartość TRUE R "poziomy" podzbiór relacji R SELECT FROM R WHERE... Przykład: SELECT FROM STUDENTS WHERE SYEAR > 1983 SNO SNAME SYEAR CITY S4 Higgins 1984 London S5 Ford 1990 Bristol S6 Hopkins 1990 Adelaide #70 K.Goczyła, M. Piechówka

71 Specjalne operatory relacyjne: złączenie Jak powiązać ze sobą dane z dwóch relacji? Na przykład, jak uzupełnić dane o zamówieniach nazwiskami klientów? Do takich celów służy operacja złączenia (JOIN): A A1 C A2 A A JOIN B WHERE A1 = B2 B B1 B C A1 A2 A3 B1 B #71 K.Goczyła, M. Piechówka

72 R JOIN S WHERE warunek: Specjalne operatory relacyjne: złączenie zbiór wszystkich krotek t takich, że t jest konkatenacją krotki r z relacji R i krotki s z relacji S i dla każdej krotki t warunek ma wartość TRUE. R JOIN S WHERE warunek SELECT FROM (R TIMES S) WHERE warunek Przykład 1: TEACHERS JOIN STUDENTS WHERE TEACHERS.CITY = STUDENTS.CITY AND SYEAR > 1983 TNO TNAME TITLE TEACHERS. CITY SUPNO SNO SNAME SYEAR STUDENTS. CITY T1 Blake Prof. London NULL S4 Higgins 1984 London T4 Clark PhD London T1 S4 Higgins 1984 London T5 Adams MSc Bristol T4 S5 Fords 1990 Bristol #72 K.Goczyła, M. Piechówka

73 Specjalne operatory relacyjne: złączenie (cd.) Złączenie można stosować do kilku tablic: R JOIN S JOIN T JOIN... WHERE warunek SELECT FROM (R TIMES S TIMES T TIMES...) WHERE warunek Złączenia są zwykle składane z projekcją, w przeciwnym razie wynik może mieć bardzo dużą liczbę kolumn. Przykład 2: PROJECT (TEACHERS JOIN STUDENTS WHERE TEACHERS.CITY = STUDENTS.CITY AND SYEAR > 1983) OVER TNO, TNAME, TITLE, TEACHERS.CITY, SUPNO, SNO, SNAME, SYEAR TNO TNAME TITLE TEACHERS. SUPNO SNO SNAME SYEAR CITY T1 Blake Prof. London NULL S4 Higgins 1984 T4 Clark PhD London T1 S4 Higgins 1984 T5 Adams MSc Bristol T4 S5 Fords 1990 #73 K.Goczyła, M. Piechówka

74 Przykład 3: Specjalne operatory relacyjne: złączenie (cd.) PROJECT (TS JOIN STUDENTS WHERE TS.SNO = STUDENTS.SNO AND TS.TNO = "T3") OVER TS.SNO, SNAME, HOURS TS.SNO SNAME HOURS S1 Henry 32 S2 Jones 36 S3 Johnson 60 S5 Ford 72 Wynik pokazuje studentów, którzy mieli zajęcia z nauczycielem T3. Atrybuty TS.SNO i STUDENTS.SNO pełnią rolę łączników pomiędzy relacjami TS i STUDENTS (TS.SNO jest kluczem obcym odnoszącym się do relacji STUDENTS). Złączenie wg równości takich atrybutów nazywamy równozłączeniem. Równozłączenie pozwala kompletować powiązane ze sobą informacje z różnych relacji. #74 K.Goczyła, M. Piechówka

75 Przykład 4: Specjalne operatory relacyjne: złączenie (cd.) SELECT (PROJECT (TS JOIN STUDENTS JOIN TEACHERS WHERE TS.SNO = STUDENTS.SNO AND TS.TNO = TEACHERS.TNO) OVER TS.SNO, SNAME, TS.TNO, TNAME, HOURS) WHERE HOURS > 95 TS.SNO SNAME TS.TNO TNAME HOURS S2 Jones T2 Smith 100 S3 Johnson T2 Smith 120 S4 Higgins T2 Smith 120 S1 Henry T4 Clark 96 S3 Johnson T4 Clark 96 S5 Ford T4 Clark 96 Wynik pokazuje wszystkie pary (student, nauczyciel) takie, że student i nauczyciel spędzili razem na zajęciach ponad 95 godzin. Dodatkowo, pokazano liczbę godzin tych wspólnych zajęć. #75 K.Goczyła, M. Piechówka

76 Złączenie, projekcja i selekcja - przykład SELECT FROM ( PROJECT (Klienci JOIN Zamówienia WHERE Klienci.NIP = Zamówienia.Klient) OVER NIP, Nazwisko, Nr-zam, Data) WHERE Data >= ' '; lub : SELECT NIP, Nazwisko, Nr-zam, Data FROM Klienci, Zamówienia WHERE Klienci.NIP = Zamówienia.Klient AND Data >= ' '; SELECT NIP, Nazwisko, Nr-zam, Data FROM Klienci JOIN Zamówienia ON Klienci.NIP = Zamówienia.Klient WHERE Data >= ' '; NIP Nazwisko Nr-zam Data Kowalski Kowalski Kowalski Nowak Nowak Kwiatkowski Kowalski #76 K.Goczyła, M. Piechówka

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

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model związków encji Opracował: dr inż. Piotr Suchomski Świat rzeczywisty a baza danych Świat rzeczywisty Diagram związków encji Model świata rzeczywistego Założenia, Uproszczenia, ograniczenia

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

Bazy danych. Algebra relacji

Bazy danych. Algebra relacji azy danych lgebra relacji Model danych Model danych to spójny zestaw pojęć służący do opisywania danych i związków między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania więzów

Bardziej szczegółowo

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

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy

Bardziej szczegółowo

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

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model relacyjny Opracował: dr inż. Piotr Suchomski Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które

Bardziej szczegółowo

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego

Bardziej szczegółowo

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

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J. Bazy Danych Wykład II Encja, atrybuty, klucze Związki encji Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło 1 Encja Byt pojęciowy

Bardziej szczegółowo

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

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne) Bazy danych 1 Wykład 5 Metodologia projektowania baz danych (projektowanie logiczne) Projektowanie logiczne przegląd krok po kroku 1. Usuń własności niekompatybilne z modelem relacyjnym 2. Wyznacz relacje

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Modelowanie związków encji Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. II Jesień 2014 1 / 28 Modelowanie Modelowanie polega na odwzorowaniu

Bardziej szczegółowo

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

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40 Bazy danych wykład trzeci Modelowanie schematu bazy danych Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Modelowanie schematu bazy danych 1 / 40 Outline 1 Zalezności funkcyjne

Bardziej szczegółowo

Projektowanie Systemów Informacyjnych

Projektowanie Systemów Informacyjnych Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie Wykład 6 Algebraiczne podstawy implementacji strukturalnego języka zapytań (SQL) w systemach baz danych Oracle zapytania w języku algebry relacyjnych baz danych i ich odpowiedniki w SQL Rozpatrzymy bardzo

Bardziej szczegółowo

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

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

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

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Modele danych Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl Cele modelowania Strategia informatyzacji organizacji Cele informatyzacji Specyfikacja wymagań użytkownika Model procesów

Bardziej szczegółowo

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

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

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia BAZY DANYCH LABORATORIUM Studia niestacjonarne I stopnia Gdańsk, 2011 1. Cel zajęć Celem zajęć laboratoryjnych jest wyrobienie praktycznej umiejętności tworzenia modelu logicznego danych a nastepnie implementacji

Bardziej szczegółowo

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

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

RBD Relacyjne Bazy Danych Więzy realcji

RBD Relacyjne Bazy Danych Więzy realcji Wykład 8 RBD Relacyjne Bazy Danych Więzy realcji Bazy Danych - A. Dawid 2011 1 Więzy (Constraints) Więzy ograniczenia na związki między poszczególnymi atrybutami w bazie danych. Określają często zakres

Bardziej szczegółowo

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2) Pojęcia

Bardziej szczegółowo

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

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. 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

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

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

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

Bardziej szczegółowo

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

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE PLAN WYKŁADU Modelowanie logiczne Transformacja ERD w model relacyjny Odwzorowanie encji Odwzorowanie związków Odwzorowanie specjalizacji i generalizacji BAZY DANYCH Wykład 7 dr inż. Agnieszka Bołtuć GŁÓWNE

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 1 / 40 Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B

Bardziej szczegółowo

Systemy informatyczne. Modelowanie danych systemów informatycznych

Systemy informatyczne. Modelowanie danych systemów informatycznych Modelowanie danych systemów informatycznych Diagramy związków encji Entity-Relationship Diagrams Modelowanie danych diagramy związków encji ERD (ang. Entity-Relationship Diagrams) diagramy związków encji

Bardziej szczegółowo

Posługiwanie się tabelami

Posługiwanie się tabelami Wykład 3 Tabele Posługiwanie się tabelami Przykładowa tabela gromadząca informacje o osobach (Imię, Nazwisko, Data urodzenia) Osoby Imię Nazwisko Data urodzenia Jan Kowalski 1995-01-01 Piotr Nowak 1994-05-22

Bardziej szczegółowo

Cel normalizacji. Tadeusz Pankowski

Cel normalizacji. Tadeusz Pankowski Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Model relacyjny bazy danych

Model relacyjny bazy danych Bazy Danych Model relacyjny bazy danych Przygotował: mgr inż. Maciej Lasota Bazy Danych 1 1) Model relacyjny bazy danych Relacyjny model bazy danych pojawił się po raz pierwszy w artykule naukowym Edgara

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Projektowanie baz danych

Projektowanie baz danych Projektowanie baz danych Etapy procesu projektowania BD Określenie celów, jakim ma służyć baza danych (w kontakcie z decydentem z firmy zamawiającej projekt). Sprecyzowanie zakresu dostępnych danych, kategorii

Bardziej szczegółowo

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 1 Algebra relacyjnych baz danych jako podstawa języka SQL i jego implementacji w systemach baz danych Oracle Bazy danych. Wykład

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków

Bardziej szczegółowo

1 Projektowanie systemu informatycznego

1 Projektowanie systemu informatycznego Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................

Bardziej szczegółowo

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009 Systemy baz danych Notatki z wykładu http://robert.brainusers.net 17.06.2009 Notatki własne z wykładu. Są niekompletne, bez bibliografii oraz mogą zawierać błędy i usterki. Z tego powodu niniejszy dokument

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej  fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje,

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 2 Podstawy integralności w relacyjnym modelu baz danych Bazy danych. Wykład 2 2 Integralność relacyjnych baz danych Schemat relacji

Bardziej szczegółowo

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

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji. TRANSFORMACJA DO SCHEMATU RELACYJNEGO pojęcia podstawowe Repetytorium pojęcia podstawowe relacyjnego modelu danych Schemat implementacyjny (logiczny) bazy danych: schemat, na którym działają aplikacje.

Bardziej szczegółowo

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n. Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór

Bardziej szczegółowo

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie danych, projektowanie systemu informatycznego Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Model relacyjny Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach baz danych. Podstawą tego modelu stała się praca opublikowana przez E.F. Codda

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt) Prosta uczelnia (przykładowy projekt) Autor: Jan Kowalski nr indeksu: 123456 Opis problemu Projekt ten ma na celu stworzenie systemu do przechowywania i obróbki danych o wynikach egzaminacyjnych około

Bardziej szczegółowo

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Wrocławska Wyższa Szkoła Informatyki Stosowanej Normalizacja baz danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Normalizacja relacji ma na celu takie jej przekształcenie,

Bardziej szczegółowo

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami

Bardziej szczegółowo

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

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski Transformacja modelu EER do postaci relacyjnego modelu danych Zbyszko Królikowski 1 Repetytorium pojęcia podstawowe relacyjnego modelu danych Schemat implementacyjny (logiczny) bazy danych: schemat, na

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Normalizacja. Pojęcie klucza. Cel normalizacji

Normalizacja. Pojęcie klucza. Cel normalizacji Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

Agnieszka Ptaszek Michał Chojecki

Agnieszka Ptaszek Michał Chojecki Agnieszka Ptaszek Michał Chojecki Krótka historia Twórcą teorii relacyjnych baz danych jest Edgar Frank Codd. Postulaty te zostały opublikowane po raz pierwszy w 1970 roku w pracy A Relational Model of

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8a Relacyjny model danych 21.11.2008 Relacyjny model danych Jednym z najważniejszych zastosowań komputerów jest przechowywanie i przetwarzanie informacji. Relacyjny

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

Modelowanie konceptualne model EER

Modelowanie konceptualne model EER Modelowanie konceptualne model EER adeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Model EER rozszerzenie modelu ER 1. Liczne rozszerzenia modelu ER mają przede wszystkim na celu uwzględnienie zależności

Bardziej szczegółowo

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD)

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD) W y k ł a d II Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD) Plan wykładu: Cel modelowania konceptualnego i modelu ER Etapy modelowania konceptualnego

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8a: Relacyjny model danych http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Relacyjny model danych Jednym z najważniejszych

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

BAZY DANYCH Podstawowe pojęcia

BAZY DANYCH Podstawowe pojęcia BAZY DANYCH Podstawowe pojęcia Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) BD 1 / 26 Literatura 1. L. Banachowski, Bazy danych. Tworzenie aplikacji, Akademicka

Bardziej szczegółowo

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny?

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny? Plan wykładu Spis treści 1 Projektowanie baz danych 1 2 Zależności funkcyjne 1 3 Normalizacja 1NF, 2NF, 3NF, BCNF 4 4 Normalizacja 4NF, 5NF 6 5 Podsumowanie 9 6 Źródła 10 1 Projektowanie baz danych Projektowanie

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

Modelowanie związków encji

Modelowanie związków encji Modelowanie związków encji 1. Cel modelowania - tworzenia związków encji Metoda modelowania tworzenie związków encji (ERD) odnosi się do etapów strategii i analizy cyklu życia systemu informacyjnego. Cykl

Bardziej szczegółowo

PODSTAWOWE POJĘCIA BAZ DANYCH

PODSTAWOWE POJĘCIA BAZ DANYCH Baza danych (data base) - uporządkowany zbiór danych o określonej strukturze, przechowywany na nośniku informacji w komputerze. System bazy danych można zdefiniować jako bazę danych wraz z oprogramowaniem

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo