Bazy danych model relacyjny minimum? E. F. Codd za podstawę modelu baz danych przyjął pojęcie relacji obiektu ze świata matematyki.

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

Download "Bazy danych model relacyjny minimum? E. F. Codd za podstawę modelu baz danych przyjął pojęcie relacji obiektu ze świata matematyki."

Transkrypt

1 Bazy danych model relacyjny minimum? E. F. Codd za podstawę modelu baz danych przyjął pojęcie relacji obiektu ze świata matematyki. Niech A 1, A 2,, A n oznaczają zbiory (dziedziny). Relacją ρ nazywamy dowolny podzbiór iloczynu kartezjańskiego (produktu) zbiorów A 1 A 2 A n. A={2, 9, 3, 6, 5}, B={7, 1, 4 } można zdefinować relację < (mniejszy). Np. dla zbiorów Cały produkt kartezjański to, w tym przypadku, następujący zbiór par: A B={ 2,7, 2,1, 2,4, 9,7, 9,1, 9,4, 3,7, 3,1, 3,4, 6,7, 6,1, 6,4, 5,7, 5,1, 5,4 }, zaś interesujący nas podzbiór (relacja) to { 2,7, 2,4, 3,7, 3,4, 6,7, 5,7 }. Elementami zbiorów niekoniecznie muszą być liczby. Np. Zbiór M zawiera nazwy miast, zaś zbiór O imiona osób; relacją będzie mieszka w. Własność być w relacji można przedstawiać graficznie, łącząc dwa elementy obu zbiorów linią ze strzałką: linia wychodzi z elementu zbioru pierwszego i kończy się strzałką na elemencie zbioru drugiego. Poniżej pokazano graficzną interpretację relacji obu przykładów A 3 5 Relacja: element zbioru A jest mniejszy od elementu zbioru B B Relacja: mieszka w Reda Ola Kuba Konin Witek Ustka Jarek Rumia Sopot Iza Puck Ewa Aga J J J J J Quiz. Zbiór: rodzeństwo. Relacja: mam brata Określić płeć osoby ukrywającej się za buźką

2 Przy okazji zauważmy następujący fakt (będzie o krotności relacji): Przykład z liczbami jest relacją, umownie określaną, N:M. Otóż w relacji < z jedną liczbą zbioru A jest kilka liczb zbioru B i kilka liczb zbioru A jest w relacji < z jedną liczbą zbioru B. Przykład drugi mieszka w określany jest jako relacja 1:N. Można tu już mówić o zależności funkcyjnej elementu zbioru M od elementu zbioru O: element zbioru O (element determinujący) jednoznacznie określa element zbioru M (element zależny), albo inaczej różne elementy zbioru M gwarantują różne elementy zbioru O. Gwoli kompletności rozważań: istnieją relacje o krotności 1:1. Według propozycji Codd'a każda relacja jest tabelą, dla której spełnione są warunki: Każda relacja w bazie ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji. Wszystkie wartości w kolumnie muszą być tego samego typu (mówimy, że są zdefiniowane na tej samej dziedzinie). Porządek kolumn w relacji nie jest istotny. Każdy wiersz w relacji musi być różny (powtórzania wierszy nie są dozwolone). Porządek wierszy nie jest istotny. Każde pole leżące na przecięciu kolumna/wiersz w relacji powinno zawierać wartość atomową (w jednym polu nie jest dozwolony zbiór wartości). Ostatni warunek to tzw. postulat 1NF; relacyjna baza danych niejako z definicji jest w pierwszej postaci normalnej. Poniżej przykład relacji tabeli wraz z opisem używanych określeń. Nazwa relacji (tabeli) Nazwa atrybutu (kolumny) Relacja (tabela) Towar { Nazwa Cena JednMiary CHLEB 1.20 SZT MASŁO 2.89 SZT} SER KG Krotka Atrybut Kilka lat po pierwszych publikacjach Codd'a na temat modelu relacyjnego P.P.Chen zaproponował model danych encja-związek (entity-relationship data model) graficzną reprezentację modelu danych, w którym stosuje się trzy konstrukcje: encje, związki i atrybuty. Encja (ang. entity) oznacza coś co (obiektywnie) istnieje i jest rozróżnialne. Formalnej definicji pojęcia encji nie ma. Tzw. diagramów ER używa się do reprezentacji modelu koncepcyjnego. Poniżej już znany temat. osoba Mieszka w miasto Encja Związek Moim zdaniem (MK) encja to kolejny potworek, który trafił do polszczyzny. Filozofia dużo wcześniej dorobiła się zgrabnego terminu byt, który oznacza dokładnie to samo. No ale trzeba było zamieszać, żeby nie rzec, ściemnić

3 O normalizacji. Normalizacja to proces mający na celu takie przekształcenie (dużych) tabel o nieefektywnej budowie na mniejsze o wydajniejszej strukturze, podczas którego nie dochodzi do utraty informacji. Dobrze zbudowana baza danych nie zawiera duplikatów, a dane nadmierne ograniczone są do niezbędnego minimum. To zapewnia spójność danych i gwarantuje, że informacje wyszukiwane będą precyzyjne i niezawodne (odporne na anomalie modyfikacyjne). Przyswojenie istoty procesu normalizacji być może ułatwi rota przysięgi normalizacyjnej: 1. Bez powtórzeń. 2. Pola zależą od klucza. 3. Od całego klucza. 4. I niczego innego, tylko klucza. 5. Tak mi dopomóż Codd. (Ponoć) nia każda tabela jest dobra. Zanim powstanie aplikacja należy zaprojektować bazę danych. Nie każdy projekt zasługuje na pochwałę. W przypadku projektowania tabel warto stosować się do następujących generalnych wskazówek projektowych: Dla nazwania kolumn tabeli warto stosować nazwy opisowe. Niech te nazwy są klarowne i jednoznacznie określają zawartość. Należy być konsekwentnym podczas definowania nazw kolumn tabeli. Należy tworzyć tylko te kolumny, które są niezbędne do właściwego modelowania encji lub powiązań. W każdej tabeli należy zawsze tworzyć (przewidzieć) pola kluczowe (unikalne). W ten sposób uniknie się potencjalnego problemu powtarzania się rekordów. Należy unikać powtarzania informacji w bazie danych. Do analizy procesu normalizacji używa się dwóch pojęć: klucz (kandydujący) jest to minimalny zbiór kolumn, które jednoznacznie identyfikują każdy wiersz (kombinacja wartości w tych kolumnach jest unikalna w ramach całej tabeli i spośród kolumn klucza nie można wybrać pozbioru kolumn, który również zapewnia unikatowość wierszy w tabeli); tabela może mieć kilka takich kluczy. klucz podstawowy (główny) jest jednym wybranym (dowolnie) kluczem kandydującym tabeli. Podział danych na tabele opiera się krotności relacji między obiektami. Wyróżniamy relacje: jeden do jednego (1:1) relacja taka zachodzi, gdy jeden element wykazuje zależność funkcyjną od drugiego. W takiej sytuacji elementy umieszcza się zwykle w jednej tabeli. Na przykład w tabeli z danymi personalnymi osób, tj. imię, nazwisko, data urodzenia, nie ma na ogół sensu umieszczać danych o dacie urodzenia w osobnej tabeli, gdyż imię i nazwisko jednoznacznie odwzorowują się na datę urodzenia. jeden do wielu (1:N) relacja taka zachodzi, gdy jeden element powiązany jest z wieloma innymi elementami. W takich sytuacjach umieszcza się je w osobnych tabelach. Wiąże się je ze sobą za pomocą pary kluczy: klucza głównego i klucza obcego. Klucz główny znajduje się w tabeli, gdzie element, który jest powiązany z innymi elementami jest unikalny i jest tylko jeden taki klucz, natomiast klucz obcy znajduje się w tabeli, gdzie może znaleźć się wiele takich elementów. Klucz obcy też jest unikalny w obrębie (pewnej) tabeli. Przykład: zamówienie ma wiele pozycji, wiele osób mieszka w jednym mieście, ktoś ma kilka (numerów) telefonów, itp. wiele do wiele (N:M) relacja taka zachodzi, gdy istnieją dwie grupy elementów, które mogą łączyć się ze sobą w taki sposób, że zarówno dowolny element z pierwszej grupy może łączyć się z wieloma elementami grupy drugiej, jak również dowolny element grupy drugiej może łączyć się z wieloma elementami grupy pierwszej. Technicznie, relację taką realizuje się poprzez specjalną dodatkową tabelę łączącą dwie tabele, zawierające specyfikacje elementów obu grup powiązanych relacją (następuje przejście na dwie relacje: 1:N i 1:M). Np. w bazie z ocenami

4 studentów taka relacja może powstać, jeśli wydzielimy obiekt forma sprawdzenia wiedzy (kolokwium, egzamin, praca domowa). W takim przypadku powiązanie studentów z formą sprawdzenia wiedzy jest relacją N:M: każdy student brał udział w wielu formach sprawdzenia wiedzy, ale też danej formie sprawdzenia wiedzy badano umiejętności wielu studentów. Postaci normalne. 1NF (pierwsza postać normalna, ang. normal form), pola zawierają tylko wartości atomowe. 1NF jest konieczna, aby tabelę w ogóle można było nazwać relacją. Wiele systemów baz danych nie ma wręcz możliwości zbudowania tabel nie będących w pierwszej postaci normalnej. 2NF (druga postać normalna), spełniona jest 1NF, a ponadto kolumny nie wchodzące w skład klucza (dowolnego klucza kandydującego) zależą funkcyjnie od całego klucza głównego. W przypadku gdy klucz relacji jest jednoelementowy i tabela jest w 1NF, to jest ona również w 2NF. Uwaga. Mówimy, że kolumna B zależy (funkcyjnie) od kolumny A (zapis: A B ), jeżeli dla dowolnej wartości w kolumnie A istnieje dokładnie jedna związana z nią wartość kolumny B. 3NF (trzecia postać normalna), spełniona jest 2NF a ponadto kolumny nie wchodzące w skład klucza głównego powinny zależeć funkcyjnie od klucza głównego. 3NF Atrybuty powinny być zależne od klucza, całego klucza i tylko od klucza relacji. Ludzkim(?) językiem o normalizacji tabeli 1NF tylko wartości atomowe. 2NF atrybuty zależą od całego klucza. 3NF elementy danych wyłącznie opisują klucz. Może jakiś przykład. Wyobraźmy sobie, że firma Bubel i S-ka dojrzała do komputerowej rejestracji zamówień (klient składa zamówienie na wyroby). Najpierw powstała taka oto mocarna tabela zawierające dane o klientach, zamówieniach i wyrobach, gdzie do klucza kandyduje pole Knr: Knr KNazwa KMiasto Znr ZData Wyrób Ilość Cena 1 Karo Puck 001/ Salceson Kaszanka / Kaszanka Kier Reda 002/ Kaszanka Zauważmy kilka faktów: zarzutu o nadmiar informacji (powtórzenia, redundancję) trudno postawić (to plus), ale Podobno zawsze jest jakieś ale. Taka tabela jest podatna na tzw. anomalie: anomalia wstawiania nie mogę wstawić informacji tylko o kliencie nie podając danych zamówienia; anomalia usuwania gdyby usunąć pierwszy wiersz tabeli utracę całą informację raz o kliencie Karo, dwa o zamówieniu 001/2004; o salcesonie już nie wspomnę Przystępujemy do procesu normalizacji. Najpierw doprowadzamy tabelę do 1NF. Oto wynik: Knr KNazwa KMiasto Znr ZData Wyrób Ilość Cena 1 Karo Puck 001/ Salceson Karo Puck 001/ Kaszanka Karo Puck 001/ Kaszanka Kier Reda 002/ Kaszanka

5 Zauważmy, do klucza tym razem kandyduje kombinacja kolumn Znr+Wyrób. Co z anomaliami: anomalia wstawiania bez zmian, kłopoty pozostały; anomalia modyfikacji to nowość, składając drugie zamówienie klient zgłosił, że jego nazwa to Karol; wypada poprawić w kilku(nastu, set) miejscach może boleć; anomalia usuwania tylko kłopot z salcesonem pozostał, ale pozostał. Kolejna transformacja; następny etap 2NF: wyrzucić poza tabelę wszelkie kolumny, które nie zależą od klucza głównego; utworzyć nowe tabele dla wszystkich logicznie współzależnych kombinacji kolumn i tam dodać (zdefiniować) klucz główny; usunąć powtórzenia. Znr Knr KNazwa KMiasto ZData 001/ Karo Puck / Kier Reda / Karo Puck Wnr Wyrób 1 Salceson 2 Kaszanka Znr WNr Ilość Cena 001/ / / / Powstały trzy odrębne tabele. Proszę osądzić jak ma się rzecz z anomaliami. Powoli zbliżamy się do stanu, kiedy jedna tabela będzie opisywać jeden byt tego mikroświata. Następna transformacja doprowadzi do 3NF: wyrzucić poza tabele wszelkie kolumny, które nie zależą wyłącznie od klucza głównego; utworzyć nowe tabele dla wszystkich logicznie współzależnych kombinacji kolumn i tam dodać (zdefiniować) klucz główny; usunąć powtórzenia. Uwaga. W pierwszej tabeli Knazwa i Kmiasto zależy (funkcyjnie) nie tylko od klucza głównego ale i od Knr. To zależność przechodnia: Znr Knr Kmiasto. Zapisujemy to Znr KMiasto. Oznacza to, że tabela opisuje więcej niż jeden temat (tu: i zamówienie, i klienta). Knr KNazwa KMiasto 1 Karo Puck 2 Kier Reda Znr Knr ZData 001/ / / Znr WNr Ilość Cena 001/ / / / Wnr Wyrób 1 Salceson 2 Kaszanka Wyjściowa tabela po przejściach; osiągneliśmy 3NF.

6 Niejako przy okazji tabela jest również w postaci normalnej Boyce'a-Codd'a (ang. Boyce-Codd Normal Form), skrót BCNF. Jest to trochę silniejsza (bardziej restrykcyjna) odmiana 3NF. Jeżeli relacja spełnia warunki BCNF to jest również w 3NF. Odwrotne twierdzenie nie zawsze jest prawdziwe. Uzupełnienie postaci normalnych. BCNF relacja jest w postaci BCNF wtedy i tylko wtedy gdy jedynymi wartościami determinującymi są klucze kandydujące. Uwaga. Gdy mamy do czynienia z zależnością funkcyjną A B, to mówimy, że A determinuje (wyznacza) B, zaś B funkcyjnie zależy od A lub A jest elementem determinującym (wyznacznikiem, ang. determinant) a B jest elementem zależnym (ang. dependent). Jeżeli relacja ma tylko jeden klucz kandydujący i jest w 3NF, to jest również w BCNF. Tak właśnie zdarzyło się w rozważanym wyżej przykładzie. 4NF tabela jest w 3NF i atrybuty spoza klucza głównego to jedyna kolumna poza kolumnami klucza głównego. Dotychczas prezentowane postacie normalne (1NF, 2NF, 3NF, BCNF) bazowały na zależności funkcyjnej; 4NF dotyczy zależności wielowartościowych, czyli takich, że A determinuje (wyznacza) wiele wartości B; wtedy używamy zapisu: A B. Zgrubsza chodzi znów o to, żeby tabela była na (tylko) jeden temat i w związku z tym, aby w jednej tabeli wyrugować obecność naraz kolumn typu: jeździ na rowerze (lub lata szybowcem), mówi po francusku (i nie tylko), ma kota. Algebra relacyjna Codd zdefiniował osiem operatorów relacyjnych: SELECT 1. SELECT (w oryginale było RESTRICT) restrykcja 2. PROJECT rzut 3. JOIN złączenie 4. PRODUCT iloczyn 5. UNION suma 6. INTERSECT przecięcie 7. DIFFERENCE różnica 8. DIVIDE podział Ogranicza; tylko te wiersze tabeli, które spełniają warunek: SELECT * FROM tabela WHERE warunek PROJECT Wybór kolumn tabeli; utworzona tabel zawierać będzie tylko wskazane kolumny: SELECT KOL1, KOL2 FROM tabela PRODUCT Tworzy nową relację składającą się ze wszystkich możliwych kombinacji wierszy obu (lub więcej) tabel:

7 UNION A: a B: d => A product B: a d b e a e c b d b e c d c e A: a B: a => A union B: a b e b c c e INTERSECT A: a B: a => A intersect B: a b e c DIFFERENCE DIVIDE A: a B: a => A - B: b and B - A: e b e c c Pierwsza tabela jest dwukolumnowa, druga składa się z jednej kolumny. Przykład (i interpretacja działania zarazem). Tabela A zawiera informacje o klientach (a,b,c), którzy kupili towary (x,y,z). Pierwszy wariant operacji podziału daje odpowiedź na pytanie: kto kupił towar x, drugi kto kupił towar x i y. JOIN A: a x B: x => A divide B: a a y b a z b x B: x => A divide B: a c y y Możliwości złączeń jest kilka. Załóżmy, że sytuacja jest następująca: na parkingu firmy parkują swoje samochody nie tylko pracownicy tej firmy. Walczymy z następującymi tabelami: osoby ID nazwisko dział N01 Nowak Kadry K01 Kowalski FK C01 Cypis BHP B01 Baca FK B02 Bąk FK ma_auto nazwisko Marka Model Kowalski Skoda Fabia Kowalski Kia Figiel Opel Astra Baca Fiat Uno Nowak Nissan

8 CROSS JOIN (to samo co PRODUCT) SELECT * FROM osoby, ma_auto; ID nazwisko dział nazwisko Marka Model N01 Nowak Kadry Kowalski Skoda Fabia K01 Kowalski FK Kowalski Skoda Fabia C01 Cypis BHP Kowalski Skoda Fabia B01 Baca FK Kowalski Skoda Fabia B02 Bąk FK Kowalski Skoda Fabia N01 Nowak Kadry Kowalski Kia K01 Kowalski FK Kowalski Kia C01 Cypis BHP Kowalski Kia B01 Baca FK Kowalski Kia B02 Bąk FK Kowalski Kia Tabela utworzona w wyniku operacji zawiera więcej wierszy (ile?); powyżej to jej początek. Formalnie rzecz ujmując, to podane polecenie SQL ma wadę; utworzona tabela ma kolumny o tych samych nazwach to grzech. Można to skorygować np. tak (inny nagłówek jaki, treść b.z.): SELECT L.ID, L.nazwisko, L.dzia ł, R.nazwisko, R.Marka, R.Model FROM osoby L, ma_auto R; (Właściwe) Operacje JOIN służą do rekonstrukcji wyjściowych tabel z tabel powstałych po normalizacji. Poniższy rysunek próbuje pokazać zakres pól, które trafią do wyniku operacji. LEFT OUTER JOIN NULL NULL FULL OUTER JOIN (INNER) JOIN NULL NULL RIGHT OUTER JOIN INNER JOIN Operacja złączenia naturalnego może być zadana różnie, oto dwie możliwości: 1) SELECT * FROM osoby JOIN ma_auto ON osoby.nazwisko=ma_auto.nazwisko; 2) SELECT * FROM osoby, ma_auto WHERE osoby.nazwisko=ma_auto.nazwisko;

9 W wyniku operacji powstanie tabela, która zawiera następujące wiersze: ID nazwisko dział nazwisko Marka Model N01 Nowak Kadry Nowak Nissan K01 Kowalski FK Kowalski Skoda Fabia K01 Kowalski FK Kowalski Kia B01 Baca FK Baca Fiat Uno Złączenia wewnętrzne zawierają tylko te wiersze, gdzie występują obaj aktorzy; i w tabeli osoby, i w tabeli ma_auto. Złączenia zewnętrzne charakteryzują się tym, że jeden z aktorów może być nieobecny; w takim przypadku do tabeli w odpowiednim miejscu trafiają wartości puste (NULL): LEFT do tabeli trafia to co w złączeniu naturalnym oraz pola lewej tabeli bez pary; RIGHT do tabeli trafia to co w złączeniu naturalnym oraz pola prawej tabeli bez pary; FULL do tabeli suma tabel LEFT i RIGHT bez powtórzeń. Brak informacji też jest informacją; gdyby rozpatrzeć przykład: lewa tabela to paragony sklepowe, prawa to towary na stanie, a operacja robiona jest za jakiś okres czasu, to brak pary z lewej oznacza, że towar zalega i nie sprzedaje się. Są przesłanki do podjęcia akcji typu promocja LEFT OUTER JOIN SELECT * FROM osoby LEFT OUTER JOIN ma_auto ON osoby.nazwisko=ma_auto.nazwisko; ID nazwisko dział nazwisko Marka Model N01 Nowak Kadry Nowak Nissan K01 Kowalski FK Kowalski Skoda Fabia K01 Kowalski FK Kowalski Kia C01 Cypis BHP B01 Baca FK Baca Fiat Uno B02 Bąk FK RIGHT OUTER JOIN SELECT * FROM osoby RIGHT OUTER JOIN ma_auto ON osoby.nazwisko=ma_auto.nazwisko; ID nazwisko dział nazwisko Marka Model N01 Nowak Kadry Nowak Nissan K01 Kowalski FK Kowalski Skoda Fabia K01 Kowalski FK Kowalski Kia B01 Baca FK Baca Fiat Uno Figiel Opel Astra

10 FULL OUTER JOIN SELECT * FROM osoby FULL OUTER JOIN ma_auto ON osoby.nazwisko=ma_auto.nazwisko; ID nazwisko dział nazwisko Marka Model N01 Nowak Kadry Nowak Nissan K01 Kowalski FK Kowalski Skoda Fabia K01 Kowalski FK Kowalski Kia C01 Cypis BHP B01 Baca FK Baca Fiat Uno B02 Bąk FK Figiel Opel Astra

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

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

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE PLAN WYKŁADU Zależności funkcyjne Anomalie danych Normalizacja Postacie normalne Zależności niefunkcyjne Zależności złączenia BAZY DANYCH Wykład 5 dr inż. Agnieszka Bołtuć ZALEŻNOŚCI FUNKCYJNE Niech R

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

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

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

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

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

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

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

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

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

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

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access NORMALIZACJA BAZ DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

Bardziej szczegółowo

Pierwsza postać normalna

Pierwsza postać normalna Normalizacja Pierwsza postać normalna Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce,

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja relacyjnych baz danych. Sebastian Ernst Normalizacja relacyjnych baz danych Sebastian Ernst Zależności funkcyjne Zależność funkcyjna pomiędzy zbiorami atrybutów X oraz Y oznacza, że każdemu zestawowi wartości atrybutów X odpowiada dokładnie

Bardziej szczegółowo

Relacyjne Bazy Danych Andrzej M. Borzyszkowski. Projekt bazy danych normalizacja. PJATK/ Gdańsk. Dwie metodologie. Formalne zasady projektowe

Relacyjne Bazy Danych Andrzej M. Borzyszkowski. Projekt bazy danych normalizacja. PJATK/ Gdańsk. Dwie metodologie. Formalne zasady projektowe Relacyjne Bazy Danych Andrzej M. Borzyszkowski PJATK/ Gdańsk materiały dostępne elektronicznie http://szuflandia.pjwstk.edu.pl/~amb Projekt bazy danych normalizacja 2 Dwie metodologie Formalne zasady projektowe

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

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

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

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access NORMALIZACJA BAZ DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

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

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 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

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

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Relacyjne bazy danych. Normalizacja i problem nadmierności danych. Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Relacyjne bazy danych Stworzone

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

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

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

Pierwsza postać normalna

Pierwsza postać normalna Normalizacja Pierwsza postać normalna Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce,

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

Pojęcie zależności funkcyjnej

Pojęcie zależności funkcyjnej Postacie normalne Plan wykładu Zależności funkcyjne Cel normalizacji Pierwsza postać normalna Druga postać normalna Trzecia postać normalna Postać normalna Boyca - Codda Pojęcie zależności funkcyjnej Definicja

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

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1 Bazy Danych Instrukcja laboratoryjna Temat: Normalizacje 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie. Normalizacja to proces organizacji danych w bazie danych. Polega on na

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

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

Normalizacja relacji

Normalizacja relacji Wydział Zarządzania AGH Katedra Informatyki Stosowanej Normalizacja relacji Informatyczne systemy zarządzania Program wykładu Normalizacja Pierwsza postać normalna Druga postać normalna Klucze Przykłady

Bardziej szczegółowo

Związki pomiędzy tabelami

Związki pomiędzy tabelami Związki pomiędzy tabelami bazy danych. Stosowanie relacji jako nazwy połączenia miedzy tabelami jest tylko grą słów, którą można znaleźć w wielu podręcznikach ( fachowo powinno się używać związku). Związki

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

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

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 10/15 Semantyka schematu relacyjnej bazy danych Schemat bazy danych składa się ze schematów relacji i więzów

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

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

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji BAZY DANYCH WYKŁAD 5 Normalizacja relacji. Zapytania zagnieżdżone cd. Wady redundancji Konieczność utrzymania spójności kopii, Marnowanie miejsca, Anomalie. (Wybrane materiały) Dr inż. E. Busłowska Copyright

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

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

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

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Dane z kilku tabel Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Łączenie kilku selectów w jeden posortowany wynik 1. UNION suma bez powtórzeń. Powoduje,

Bardziej szczegółowo

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

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

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe

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

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Bazy Danych Model Relacyjny Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 5 (Projektowanie i normalizacja bazy danych)

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

Bazy danych 3. Normalizacja baz danych

Bazy danych 3. Normalizacja baz danych Bazy danych 3. Normalizacja baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 Pierwsza postać normalna Tabela jest w pierwszej postaci normalnej (1PN), jeżeli 1. Tabela posiada klucz.

Bardziej szczegółowo

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

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

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

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

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Podczas używania bazy danych mogą pojawić się tzw. anomalie sytuacje, w których może dojść do utracenia danych. Anomalie, mogące wystąpić w niedostatecznie znormalizowanych tabelach,

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

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Bazy danych. Zasady konstrukcji baz danych

Bazy danych. Zasady konstrukcji baz danych Bazy danych Zasady konstrukcji baz danych Diagram związków encji Cel: Opracowanie modelu logicznego danych Diagram związków encji [ang. Entity-Relationship diagram]: zapewnia efektywne operacje na danych

Bardziej szczegółowo

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników Słowo wstępne (13) Przedmowa i podziękowania (drugie wydanie) (15) Podziękowania (15) Przedmowa i podziękowania (pierwsze wydanie)

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki Bazy danych Teoria projektowania relacyjnych baz danych. Wykład dla studentów matematyki 2 kwietnia 2017 Ogólne wprowadzenie No przecież do tego służa reguły, rozumiesz? Żebyś się dobrze zastanowił, zanim

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

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

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL Plan wykładu 2 ZY DNYH Wykład 2: Sprowadzanie do postaci normalnych. SQL. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

Bazy danych TERMINOLOGIA Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.

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. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

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 Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Co to są relacyjne bazy danych?

Co to są relacyjne bazy danych? Co to są relacyjne bazy danych? Co to są relacyjne bazy danych? O Są to zbiory danych pogrupowane w tabele o strukturze: kolejne kolumny określają kolejne porcje informacji potrzebne dla każdego wystąpienia,

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

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

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH 1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na

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

Przykłady normalizacji

Przykłady normalizacji Przykłady normalizacji Nr faktury Za okres Nabywca Usługa Strefa czasowa od 21113332437 1.11.2007 30.11.2007 Andrzej Macioł, Kraków ul. Armii Krajowej 7 21113332437 1.11.2007 30.11.2007 Andrzej Macioł,

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

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

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

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

Normalizacja tabel POSTACIE NORMALNE TABEL

Normalizacja tabel POSTACIE NORMALNE TABEL Normalizacja tabel POSTACIE NORMALNE TABEL Projektowanie bazy danych- podstawowe reguły 1. Do opisu encji stosuje się oddzielną tabelę. Każdej encji odpowiada 1 tabela. Atrybutowi odpowiada kolumna. Dla

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

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

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

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

Technologia Informacyjna

Technologia Informacyjna Technologia Informacyjna zajęcia nr 9 Bazy danych cz.1 Elektrotechnika oraz Elektronika i Telekomunikacja semestr I, rok akademicki 2007/2008 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Podstawowe

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

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

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo