Normalizacja schematów relacji

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

Download "Normalizacja schematów relacji"

Transkrypt

1 Normalizacja schematów relacji 1. Przykład złego schematu relacji Rozważmy schemat relacji: Dostawcy = { Nazwa_dostawcy, Adres_dostawcy, Nazwa_towaru, Cena } i przykładową jej zawartość: NazwaDostawcy AdresDostawcy TelefonDostawcy NazwaTowaru Cena Marczak Michał Łódzka Rzodkiewka 1,40 zł Marczak Michał Łódzka Groszek zielony 8,20 zł Krysiak Jerzy Zielona Śmietana 18% 3,10 zł Krysiak Jerzy Zielona Masło śmietankowe 3,20 zł Marczak Michał Łódzka Fasolka żółta 9,30 zł Pasikowski Jan Poznańska Chleb 2,00 zł 2. Anomalie złego schematu relacji Dlaczego powyższy schemat jest zły? Można zaobserwować następujące cztery niekorzystne zjawiska: redundancja adres dostawcy powtarza się dla każdego dostarczanego towaru, anomalie przy modyfikacji uaktualniony adres w jednym rekordzie pozostaje niezmieniony w innych, anomalie przy wstawianiu trudno wstawić dostawcę bez towarów; towar wchodzi w skład klucza nie może być wartością pustą (NULL), anomalie przy usuwaniu usuwając informacje o wszystkich towarach dostarczonych przez dostawcę (który może zmienić profil produkcji) usuwamy informację o samym dostawcy. Przyczynę trudności można wyjaśnić w następujący sposób: w powyższym schemacie mamy do czynienia ze złączeniem dwóch różnych rodzajów obiektów (encji), które byłoby lepiej określić jako osobne relacje: Dostawcy = { Nazwa_dostawcy, Adres_dostawcy} Towary = { Nazwa_dostawcy, Nazwa_towaru, Cena } 3. Bezstratna dekompozycja Model relacyjny pozwala sprzęgać ze sobą relację na różne sposoby za pomocą łączenia atrybutów. Proces uzyskiwania w pełni znormalizowanego modelu danych wymaga usunięcia redundancji poprzez dzielenie relacji w taki sposób, aby uzyskane w efekcie relacje mogły być znowu połączone bez straty żadnej informacji. Jest to reguła bezstratnej dekompozycji. Np. relacja pokazana na poniższym rysunku może być podzielona na dwie relacje przedstawione poniżej. NrZamówienia DataZamówienia DataWymagana NazwaFirmy Adres Miasto KodPocztowy /04/ /04/08 CATCU Lipowa 5 Wrocław /04/ /04/30 Mar-Trans Łódzka 3 Toruń /05/ /05/12 Krakus Kraka 7 Kraków /05/ /06/04 CATCU Lipowa 5 Wrocław Rysunek. Relacja nieznormalizowana 1

2 4. Bezstratna dekompozycja Relacja Faktury NrZamówienia KodKlienta DataZamówienia DataWymagana /04/ /04/ /04/ /04/ /05/ /05/ /05/ /06/04 Relacja Klienci KodKlienta NazwaFirmy Adres Miasto KodPocztowy 010 CATCU ul. Lipowa 5 Wrocław Mar-Trans ul. Łódzka 3 Toruń Krakus ul. Kraka 7 Kraków Użycie dwóch relacji eliminuje redundancję w zakresie adresów, a przy tym nadal pozwala wyszukiwać adresy klientów (za pomocą atrybutu KodKlienta, który jest przechowywany w zestawie rekordów Klienci, jak i Faktury). 5. Proces normalizacji Włożono wiele wysiłku w poszukiwanie procedur ulepszania schematów. Najważniejszą z nich jest procedura normalizowania schematów. Otóż analiza zależności funkcyjnych między atrybutami kluczowymi a pozostałymi atrybutami umożliwia stwierdzanie posiadania przez schemat pewnych pożądanych właściwości. W schematach złych może ona wykazać istnienie anomalii. Anomalie te mogą być usuwane przez rozkładanie schematów relacyjnych na schematy bardziej elementarne. Proces ten nazywany jest procesem normalizacji i został zaproponowany już przez samego twórcę modelu relacyjnego, tj. przez E.F.Codda. Reguły normalizacji są narzędziami do porządkowania struktury danych. Kolejne postacie normalne określają w coraz to ściślejszy sposób strukturę relacji. Każda następna postać stanowi rozszerzenie poprzedniej i ma na celu zapobieżenie pewnym rodzajom anomaliom towarzyszących aktualizacji. Należy pamiętać, że postacie nie są przepisami na tworzenie poprawnych modeli danych. Model danych może być idealnie znormalizowany, a mimo to nie pozwalać na udzielenie odpowiedzi na zadawane pytania. Może też udzielać tych odpowiedzi, ale tak wolno i nieporadnie, że zbudowany na jego podstawie system bazy danych będzie bezużyteczny. Jeśli jednak model danych jest znormalizowany to znaczy zgodny z regułami struktury relacyjnej istnieje duża szansa, że będzie to efektywny i wydajny model danych. 6. Pierwsza postać normalna Relacja jest w pierwszej postaci normalnej, jeśli domeny zdefiniowane dla jej atrybutów są skalarne (atomowe, proste). Jest to jednocześnie najprostsze, jak i najtrudniejsze pojęcie w modelowaniu danych. O wartości a DOM(A) powiemy, ze jest wartością skalarną, jeśli nie jest ani zbiorem, ani ciągiem elementów należących do zbioru {DOM(A) : A U}, tj. do sumy domen atrybutów. 2

3 Inaczej o relacji powiemy, iż jest w pierwszej postaci normalnej, jeśli każde przecięcie jej wiersza i kolumny zawiera jedną i tylko jedną wartość, tj. wartość skalarną. PRZYKŁAD. Relacja nieznormalizowana Nr_zamówienia Data zamówienia Pozycje Kwota /05/02 3 barszczyk czerwony, 1 flaki, 4 kotlet schabowy, 4 herbata 108,30 zł /05/06 4 pizza klasyczna, 4 pepsi 89,60 zł /05/12 2 zupa grzybowa, 2 befsztyk, 2 kawa, 2 lody czekoladowe 81,20 zł W relacji pokazanej na powyższym rysunku atrybut Pozycje zawiera oczywiście kilka wartości (zbiór wartości) i w związku z tym relacja ta nie jest w pierwszej postaci normalnej. 7. Problem wartości skalarnej Problem z ustaleniem czy atrybut jest skalarny cz y też nie, wcale nie jest tak prosty jakby to mogłoby się wydawać. Przykład. Nr_pracownika Pracownik Data urodzenia Adres N032 prof. dr hab. Michał Nowaczyk 1961/09/02 Warszawa, ul. Śniadeckich 5 m.21 D009 inż. Adam Dąbrowski 1967/10/16 Łódź, ul. Tatrzańska 1 m.12 S010 dr hab. Marta Sterlińska 1965/07/22 Łódź, ul. Lipowa 5 m.4 Na pierwszy rzut oka można by stwierdzić, iż choćby kolumna Pracownik nie zawiera wartości skalarnych. Tym niemniej, może okazać się, iż w pewnym kontekście są one proste. To samo można powiedzieć o kolumnie Adres. UWAGA. Należy zawsze rozpatrywać atomowość danych przechowywanych kolumnie w konkretnym kontekście. W jednym kontekście dane te mogą być skalarne, a w innych już nie. Kłopotliwą domeną są daty. Składają się one z trzech różnych elementów: dnia, miesiąca i roku. Jeśli system posługuje się datą wyłącznie, a przynajmniej głównie, jako pojedynczą wartością, jest ona skalarna. Jeśli jednak system musi się często odwoływać do poszczególnych składników daty, lepiej będzie przechowywać je jako oddzielne atrybuty. Innym częstym źródłem problemów z wartościami nieskalarnymi są kody i flagi. Wiele firm nadaje rozpatrywanym przez nie sprawom i tematom sygnatury, które są wartościami wyliczanymi. Np. zapis SYG może oznaczać pierwszą sprawę w maju 2009 roku. 8. Dwie techniki sprowadzania relacji do pierwszej postaci normalnej przy powtarzaniu się grup wartości I SPOSÓB tzw. spłaszczanie tabeli Usuwamy powtarzające się grupy wartości poprzez przeniesienie odpowiednich danych do pustych kolumn w wierszach zawierających powtarzające się dane. Inaczej mówiąc, wypełniamy puste miejsca, powielając w nich niepowtarzające się dane, tam gdzie istnieje taka potrzeba. To postępowanie jest zwykle nazywane spłaszczaniem tabeli. Wynikowa tabela, którą otrzymamy, zawiera teraz skalarne wartości na przecięciu każdego wiersza i każdej kolumny. Zgodnie z definicją, taka relacja jest w pierwszej postaci normalnej. 3

4 Technika ta wprowadza do wynikowej relacji pewną redundancję, która może z niej być usunięta w następnych etapach procesu normalizacji. II SPOSÓB bezstratna dekompozycja Usuwamy powtarzające się grupy wartości poprzez umieszczenie powtarzających się danych wraz z kopią oryginalnego atrybutu (atrybutów) klucza w oddzielnej relacji. W nowej relacji wyznaczamy klucz główny. W niektórych przypadkach może okazać się konieczne zastosowanie tej techniki więcej niż raz, aż do mementu wyeliminowania wszystkich powtórzeń. 9. Przykład zastosowania techniki spłaszczania tabeli w celu sprowadzenia relacji do pierwszej postaci normalnej Relacja nieznormalizowana Nr_zamówienia Data_zamówienia Potrawa Ilość Kwota /05/02 barszczyk czerwony flaki kotlet schabowy herbata /05/06 pizza klasyczna pepsi /05/12 zupa grzybowa befsztyk kawa lody czekoladowe ,20 zł 9,30 zł 68,00 zł 14,80 zł 74,60 zł 14,00 zł 15,40 zł 36,40 zł 12,80 zł 16,60 zł Relacja w pierwszej postaci normalnej po zastosowaniu techniki spłaszczania tabeli Nr_zamówienia Data_zamówienia Potrawa Ilość Kwota /05/02 barszczyk czerwony 3 16,20 zł /05/02 flaki 1 9,30 zł /05/02 kotlet schabowy 4 68,00 zł /05/02 herbata 4 14,80 zł /05/06 pizza klasyczna 4 74,60 zł /05/06 pepsi 4 14,00 zł /05/12 zupa grzybowa 2 15,40 zł /05/12 befsztyk 2 36,40 zł /05/12 kawa 2 12,80 zł /05/12 lody czekoladowe 2 16,60 zł 10. Przykład zastosowania techniki dekompozycji w celu sprowadzenia relacji do pierwszej postaci normalnej Rozważmy powyżej przedstawioną relację nieznormalizowaną. Metodą techniki dekompozycji sprowadzamy ją do pierwszej postaci normalnej uzyskując relację przedstawiona poniżej 4

5 Relacje w pierwszej postaci normalnej po zastosowaniu techniki dekompozycji Nr_zamówienia Data_zamówienia /05/ /05/ /05/ /05/ /05/ /05/ /05/ /05/ /05/ /05/12 Nr_zamówienia Potrawa Ilość Kwota 0102 barszczyk czerwony 3 16,20 zł 0102 flaki 1 9,30 zł 0102 kotlet schabowy 4 68,00 zł 0102 herbata 4 14,80 zł 0109 pizza klasyczna 4 74,60 zł 0109 pepsi 4 14,00 zł 0110 zupa grzybowa 2 15,40 zł 0110 befsztyk 2 36,40 zł 0110 kawa 2 12,80 zł 0110 lody czekoladowe 2 16,60 zł 11. Pełna i częściowa zależność funkcyjna DEFINICJA. Niech X i Y będą rozłącznymi zbiorami atrybutów. Mówimy, że Y jest w pełni funkcyjnie zależny od X lub, że istnieje pełna zależność funkcyjna z X do Y, jeśli Y jest zależny funkcyjnie od X i nie jest zależny od żadnego właściwego podzbioru zbioru X. DEFINICJA. Niech X i Y będą rozłącznymi zbiorami atrybutów. Mówimy, że Y jest częściowo funkcyjnie zależny od X lub, że istnieje częściowa zależność funkcyjna z X do Y, jeśli Y jest zależny funkcyjnie od X i jeśli w X istnieje atrybut, po usunięciu którego zależność ta nadal zachodzi. PRZYKŁAD. Rozważmy następującą zależność funkcyjną {KodDostawcy, NazwaDostawcy} AdresDostawcy Nietrudno zauważyć, iż zbiór atrybutów {KodDostawcy, NazwaDostawcy} jednoznacznie wyznacza wartość atrybutu AdresDostawcy. Nie jest to jednak pełna zależność funkcyjna, gdyż atrybut AdresDostawcy jest zależny także od podzbioru zbioru atrybutów {KodDostawcy, NazwaDostawcy}, a mianowicie od atrybutu KodDostawcy. A zatem w przypadku rozważanej zależności funkcyjnej mamy do czynienia z zależnością częściową DEFINICJA. Wyznacznikiem nazywamy atrybut lub zbiór atrybutów, od których w pełni zależy funkcyjnie inny atrybut. 12. Druga postać normalna Relacja jest w drugiej postaci normalnej, jeśli jest w pierwszej postaci normalnej i każdy jej niekluczowy atrybut jest w pełni funkcyjnie zależny od klucza głównego tej relacji. 5

6 Bardziej ogólna definicja drugiej postaci normalnej ma następującą postać: Schemat relacyjny R = (U,F) jest w drugiej postaci normalnej, jeśli jest w pierwszej postaci normalnej i każdy niekluczowy atrybut A U jest w pełni funkcyjnie zależny od każdego klucza tego schematu. Jak wynika z powyższej definicji nie jest możliwy przypadek: W postępowaniu mającym na celu sprowadzenie relacji do drugiej postaci normalnej należy brać pod uwagę następujące fakty: relacja jest już w drugiej postaci normalnej, jeśli jej każdy klucz jest jednoelementowy, przeprowadzenie relacji do drugiej postaci normalnej nie jest procesem jednoznacznym, tzn. dla relacji może istnieć wiele równoważnych informacyjnie układów przekształcenia jej do drugiej postaci normalnej. 13. Przykład sprowadzania relacji do drugiej postaci normalnej PRZYKŁAD. Rozważmy następujący schemat relacyjny R = (U, F), gdzie U = {NRProdukt, NazwaProdukt, NazwaDostawcy, NazwaKategorii, NrTelefonDostawcy}, F = {NRP NP, NRP NK, NP NK, ND NTD}. Kluczem jest zbiór atrybutów K:= { NRP, ND }. Niech R będzie relacją o schemacie relacyjnym R = (U, F) określoną następująco: NRProduktu NazwaProduktu NazwaDostawcy NazwaKategorii NrTelefonDostawcy SL1005 Czekolada mleczna Goplana Słodycze NP0087 Piwo Okocim Browary Okocim Napoje RY0309 Szprot w oleju Korab Ryby SL1003 Czekolada deserowa Goplana Słodycze RY0299 Sałatka rybna Korab Ryby SL1004 Czekolada gorzka Goplana Słodycze Łatwo zauważyć, iż rozważany schemat relacyjny nie nie jest w drugiej postaci normalnej 2NP, ponieważ niekluczowy atrybut NrTelefonuDostawcy zależy tylko od pola NazwaDostawcy, a nie od całego klucza złożonego. Taka sytuacja jest źródłem redundancji, a ta z kolei może powodować kłopoty z utrzymaniem spójności bazy danych. Ponieważ dla każdej relacji R INST(R) mamy, iż R = R[ND, NTD] R[NRP, ND, NP, NK] 6

7 w ten sposób uzyskujemy dwa schematy relacyjne R 1 = ( { ND, NTD }, {ND NTD} ) oraz R 2 = ( { NRP, ND, NP, NK }, {NRP NP, NRP NK, NP NK} ) odpowiednio z kluczami { ND } i { NRP }. Jest to rozkład bez straty danych. A zatem dla rozważanej relacji lepszym rozwiązaniem jest jej rozbicie na dwie poniższe relacje NazwaDostawcy NrTelefonuDostawcy NrProduktu NazwaProduktu NazwaDostawcy NazwaKategorii Goplana Browary Okocim Korab SL1005 Czekolada mleczna Goplana Słodycze NP0087 Piwo Okocim Browary Okocim Napoje RY0309 Szprot w oleju Korab Ryby Obie relacje przedstawione powyżej są w 2PN. Logicznie chodzi o to, aby nie reprezentować dwóch różnych encji (Produkty i Dostawcy) w ramach jednej relacji. Rozdzielenie ich nie tylko eliminuje redundancję, ale również pozwala przechować informacje niemożliwe inaczej do zgromadzenia. W powyższym przykładzie informacje o dostawcach mogą być zapisywane jeszcze przed uzyskaniem jakichkolwiek danych dotyczących ich produktów. W poprzednim przykładzie byłoby to niemożliwe, gdyż żaden ze składników klucza głównego nie może być pusty. 14. Przypadki kłopotliwe Jeśli chodzi o fakt wykazania, czy rozważana relacja jest w drugiej postaci normalnej, to pewne problemy może stwarzać odpowiednie zrozumienie ograniczeń, z jakimi mamy do czynienia w modelowanym fragmencie rzeczywistości. Otóż taką kłopotliwą sytuacją bywa mylenie ograniczeń, które mogą istnieć w danym momencie, z tymi, które będą obowiązywać zawsze. PRZYKŁAD. Rozważmy relację i postarajmy stwierdzić, czy jest w drugiej postaci normalnej. KodDostawcy Adres Miasto KodPocztowy 1 Warszawska 6 Warszawa Tyska 14 Okocim Lipowa 2 Ustka Relacja pokazana na powyższym rysunku zakłada, że dostawca może mieć tylko jeden adres, co może być prawdą na dzień dzisiejszy, ale niekoniecznie musi obowiązywać w przyszłości. 15. Zależność tranzytywna (przechodnia) DEFINICJA. Zbiór atrybutów Z jest tranzytywnie zależny od zbioru atrybutów X w schemacie relacyjnym R = (U, F), jeśli: X Z =, ( Y U) { (X Y = Z Y = ) [( X Y ) F + ( Y X ) F + ( Y Z) F + ] }. (X Y ) F + (Y X) F + (Y Z) F + 7

8 UWAGA. Założenie o rozłączności zbiorów atrybutów X, Y i Z jest istotne i nie można go pominąć. Gdyby je pominąć, to przykładowo dla zbiorów atrybutów X, Y i Z takich, iż Z Y X istniałyby zależności funkcyjne X Y, Y Z, X Z, a zatem zależność tranzytywna istniałaby automatycznie pomiędzy dowolną parą takich zbiorów, co nie jest zbyt interesującym przypadkiem. Zależność tranzytywną można również określić następująco: DEFINICJA. Jeśli X, Y, Z są zbiorami atrybutów relacji, takimi, że X Y, Y Z, to mówimy, że zbiór Z jest tranzytywnie zależny od X poprzez Y, pod warunkiem, że zbiór X nie jest funkcyjnie zależny od zbioru Y lub zbioru Z. 16. Trzecia postać normalna Relacja jest w trzeciej postaci normalnej, jeśli jest w drugiej postaci normalnej i żaden jej niekluczowy atrybut nie jest tranzytywnie zależny od klucza głównego tej relacji. Bardziej ogólna definicja trzeciej postaci normalnej ma następującą postać: Schemat relacyjny R = (U, F) jest w trzeciej postaci normalnej, jeśli jest w drugiej postaci normalnej i żaden zbiór atrybutów niekluczowych nie jest tranzytywnie zależny od żadnego klucza schematu R. A zatem w pewnym uproszczeniu można by powiedzieć, że: Relacja jest w trzeciej postaci normalnej, jeśli jest w drugiej postaci normalnej, a ponadto wszystkie atrybuty niekluczowe są wzajemnie niezależne. UWAGA. W każdym schemacie relacyjnym będącym w 3PN między atrybutami niekluczowymi nie ma zależności funkcyjnych. 17. Przykład relacji, która nie jest w trzeciej postaci normalnej Przykład. Weźmy jako przykład firmę, która ma tylko jednego sprzedawcę w danym województwie. Rozważmy schemat relacyjny R =(U, F), gdzie U = {NrZamówienia, KodKlienta, Województwo, Sprzedawca } F = { W S, NZ KK, KK W, S NZ, NZ W } z kluczem K: = { NZ }. Niech R będzie relacją o schemacie R := (U, F) określoną następująco: NrZamówienia KodKlienta Województwo Sprzedawca KR003 Łódzkie Nowak Jan KR003 Łódzkie Nowak Jan BS145 Małopolskie Klimczyk Janina Ponieważ S NZ NZ W, to S W, tzn. zbiór { W } jest funkcyjnie zależny od zbioru { S }. W relacji pokazanej na powyższym rysunku istnieje zależność między atrybutami Województwo i Sprzedawca, zaś żaden z nich nie jest sensownym kluczem kandydującym tej relacji. A zatem relacja nie jest w trzeciej postaci normalnej. Dla każdej relacji R INST(R) mamy R = R[NZ, KK] R[KK, W] R[S, W] tzn. uzyskaliśmy trzy schematy relacyjne będące w 3PN R 1 := ({ NZ, KK }, { NZ KK }), R 2 = ({ KK, W }, { KK W }), R 3 = ({ S, W }, {W S, S W }) Jest to rozkład bez straty danych. 8

9 18. Przypadki kłopotliwe PRZYKŁAD. Rozważmy następującą relację i odpowiedzmy na pytanie, czy jest ona w trzeciej postaci normalnej? NazwaFirmy Adres Miasto Województwo KodPocztowy Trasco Warszawska 6 Warszawa Mazowieckie Retrex Toruńska 14 Bydgoszcz Kujawsko-Pomorskie Korab Lipowa 2 Ustka Zachodniopomorskie W większości przypadków wartość pola KodPocztowy oparta jest na wartościach pól Miejscowość i Województwo. A zatem relacja pokazana na powyższym rysunku nie jest ściśle biorąc w trzeciej postaci normalnej. Poniżej pokazane są dwie relacje, które są już w trzeciej postaci normalnej. NazwaFirmy Adres Miasto Województwo Trasco Warszawska 6 Warszawa Mazowieckie Retrex Toruńska 14 Bydgoszcz Kujawsko-Pomorskie Korab Lipowa 2 Ustka Zachodniopomorskie Miasto Województwo KodPocztowy Warszawa Mazowieckie Bydgoszcz Kujawsko-Pomorskie Ustka Zachodniopomorskie Te dwie relacje są już technicznie bardziej poprawne, ale w rzeczywistości jedyną płynącą z tego korzyścią jest możliwość automatycznego wyszukiwania kodu pocztowego w momencie wprowadzania nowych rekordów. W ten sposób użytkownik zaoszczędza kilka uderzeń w klawisze przy wprowadzaniu nowych rekordów. Oczywiście ma to znaczenie, jeśli chodzi o pracę użytkownika, ale są dużo lepsze sposoby zaimplementowania tego typu funkcjonalności takie, które nie powodują dodatkowego sprzęgania relacji przy każdym odwołaniu do adresu. UWAGA: To wyłącznie od semantyki modelu zależy, w jaki sposób i kiedy należy implementować trzecią postać normalną. Przypadek tworzenia oddzielnych relacji powinien mieć miejsce tylko wtedy, gdy dana encja jest istotna dla modelu, gdy dane często zmieniają się lub gdy ma to zalety natury technicznej. Kody pocztowe zmieniają się, ale dość rzadko i nie są najistotniejsze dla większości systemów. 19. Wady trzeciej postaci normalnej Trzecia postać normalna nie wyklucza przypadku relacji, w której atrybuty kluczowe mogą być zależne funkcyjnie: pomiędzy sobą, od atrybutów niekluczowych, od części pewnego klucza, do którego nie należą. Dlatego też w trzeciej postaci normalnej może istnieć niepełna i tranzytywna zależność atrybutów kluczowych, która może być źródłem redundancji, a w konsekwencji pewnych anomalii. 20. Postać normalna Boyce a-codda Schemat relacyjny R = (U, F) jest w postaci normalnej Boyce a-codda wtedy i tylko wtedy, gdy z istnienia zależności funkcyjnej X Y F + dla Y U X wynika, że X U F +. Jak wynika z powyższej definicji, schemat relacyjny jest w postaci normalnej Boyce a-codda, jeśli od zbioru atrybutów X jest funkcyjnie zależny jakikolwiek atrybut rozłączny z X, to od X są zależne funkcyjnie wszystkie inne 9

10 atrybuty w tym schemacie. Stąd wynika, iż wszystkie zależności funkcyjne w schemacie relacyjnym będącym w postaci normalnej Boyce a-codda są determinowane przez klucze. Inaczej można powiedzieć, iż relacja jest w postaci normalnej Boyce a-codda, jeśli każdy wyznacznik jej zależności funkcyjnej jest kluczem w tej relacji. Jak wynika z tej definicji, aby sprawdzić, czy rozważana relacja jest w postaci normalnej Boyce a-codda należy znaleźć wszystkie wyznaczniki zależności i sprawdzić, czy są one kluczami kandydującymi. Postać normalna Boyce a/codda, traktowana jako odmiana trzeciej postaci normalnej, dotyczy szczególnego rodzaju relacji z wieloma kluczami kandydującymi. W praktyce, aby móc zastosować postać normalną Boyce a/codda, muszą być spełnione następujące warunki: relacja musi mieć co najmniej dwa klucze kandydujące, co najmniej dwa klucze kandydujące muszą być kluczami złożonymi, klucze kandydujące muszą mieć wspólne atrybuty. Różnica pomiędzy trzecią postacią normalną a postacią normalną Boyce a-codda polega na tym, iż zależność funkcyjna X Y jest dopuszczalna w trzeciej postaci normalnej, o ile Y jest atrybutem klucza głównego oraz X nie jest kluczem kandydującym. Natomiast postać normalna Boyce a-codda dopuszcza taką zależność, wtedy gdy atrybut X jest kluczem kandydującym. W ten sposób postać normalna Boyce a-codda jest silniejsza niż trzecia postać normalna. 21. Przykład relacji w trzeciej postaci normalnej, która nie jest w postaci Boyce a/codda PRZYKŁAD. Rozważmy schemat relacyjny R = (U, F), gdzie U = {KodDostawcy, NazwaDostawcy, NRProduktu, NazwaProduktu, CenaJednostkowa} F = { KD ND, KD NRP, {ND, NRP} KD, NRP NP, NRP CJ } Niech R będzie relacją o schemacie relacyjnym R = (U, F), która została zaprezentowana na poniższym rysunku KodDostawcy NazwaDostawcy NrProduktu NazwaProduktu CenaJednostkowa 1 Goplana 15 Czekolada mleczna 2,10 zł 2 Browary Okocim 63 Piwo Okocim 2,50 zł 3 Korab 42 Szprot w oleju 3,10 zł Ponieważ postać normalna Boyce a/codda określa przede wszystkim, że nie mogą istnieć zależności funkcjonalne między kluczami kandydującymi, musimy zidentyfikować wszystkie klucze kandydujące relacji. Powyższa relacja ma następujące klucze kandydujące: {KD, NRP}, {KD, NP}, {ND, NRP}, {ND, NP}. Nietrudno zauważyć, iż istnieje zależność funkcyjna {KD} {ND}, co jest niedopuszczalne w postaci normalnej Boyce a/codda. A zatem rozważany schemat relacyjny nie jest w PNB-C. 22. Przekształcenie relacji w trzeciej postaci normalnej do postaci Boyce a/codda Relacja z przykładu zostanie teraz przekształcona do postaci normalnej Boyce a/codda. W wyniku tego powstaną dwie relacje Dostawcy i Produkty, które są już w postaci normalnej Boyce a/codda. Dostawcy KodDostawcy NazwaDostawcy 1 Goplana 2 Browary Okocim 3 Korab Produkty KodDostawcy NrProduktu NazwaProduktu CenaJednostkowa 1 15 Czekolada mleczna 2,10 zł 2 63 Piwo Okocim 2,50 zł 3 42 Szprot w oleju 3,10 zł 10

11 23. Zależność wielowartościowa Definicja. Niech dana będzie relacja R(U), X, Y U i Z: = U XY. Mówimy, że w R spełniona jest zależność wielowartościowa X >> Y, gdy spełniony jest jeden z równoważnych warunków: a) ( x R[X])( y, y R[Y])( z,z R[Z]) {[(x y z R) (x y z R)] [(x y z R) (x y z R)] } b) R = R[XY] R[XZ] Uwaga. Każda zależność funkcyjna X Y F + jest zależnością wielowartościową, tzn. mamy X >> Y. Spełniony jest warunek konieczny rozkładu bez straty danych (punkt b). Uwaga. Zależności X >> U i X >> spełnione są w każdej relacji R(U). Istotnie, mamy R = R[XY] R[XZ], gdzie Z =, Y = U, R = R[XY] R[XZ], gdzie Z = U X, Y = Nazywamy je trywialnymi zależnościami wielowartościowymi. 24. Przykład zależności wielowartościowych, które nie są zależnościami funkcyjnymi PRZYKŁAD. Rozważmy jako relację R relację PracownikDzieckoZarobki: R: Pracownik ImieDziecka Zarobki Rok Nowak Marek Nowak Marta Nowak Marek Nowak Marta Kowalski Michał Kowalski Michał W powyższym przykładzie zakładamy, że atrybut Pracownik jednoznacznie identyfikuje pracownika oraz atrybut ImieDziecka jednoznacznie identyfikuje dziecko pracownika. Widać, iż wymienieni pracownicy pracowali w określonych latach. Ze względu na brak bezpośredniego związku pomiędzy dziećmi pracownika a latami jego pracy oraz zarobkami, w celu zapewnienia spójności relacji musimy utworzyć oddzielną krotkę dla każdej kombinacji dziecka pracownika oraz jego zarobkami i rokiem. To połączenie przedstawia zależność wielowartościową w relacji PracownikDzieckoZarobki. Mówiąc inaczej, bezpośrednią przyczyną pojawienia się zależności wielowartościowej w tej relacji jest występowanie w niej dwóch niezależnych związków jeden do wielu. Nietrudno zauważyć, iż zależnościami wielowartościowymi spełnionymi w rozważanej relacji są P >> ID i P >> ZR. Istotnie, w relacji R z każdą wartością, np. Nowak, atrybutu P jest związany pewien, jednoznacznie określony i niezależny od kontekstu, zbiór wartości atrybutu ID w rozważanym przypadku (Marek, Marta). Niezależny od kontekstu oznacza, iż każda z wartości tego zbioru występuje w pewnej krotce zarówno z kombinacją (Nowak, 2400, 2007), jak i z kombinacją (Nowak, 2700, 2008) wartości atrybutów {P, Z, R}, jak ma to miejsce w przypadku drugiej z wymienionych zależności wielowartościowych. Zauważmy, iż uwzględnienie zależności wielowartościowej P >> ID jako podstawy rozkładu relacji R, prowadzi do dwóch projekcji 11

12 Nietrudno zauważyć, iż w powyższych relacjach występują zależności funkcyjne: 25. Czwarta postać normalna w R 1 : ID P, zaś w R 2 : PR Z. Czwarta postać normalna stanowi teoretyczną podstawę reguły, która intuicyjnie jest dość oczywista: niezależne powtarzające się grupy nie powinny występować w tej samej relacji. Załóżmy np., że produkty sprzedawane przez firmę TMarket pod własną marką pochodzą od różnych dostawców, mają różnej wielkości opakowania i każdy z dostawców ma w ofercie wszystkie wielkości opakowań. Zupełnie nieznormalizowana wersja relacji Produkty dla takiej firmy mogłaby wyglądać jak na poniższym rysunku: NazwaProduktu NazwaDostawcy WielkośćOpakowania Fasola Jaś Agrotex ¼ kg, ½ kg, 1 kg Rodzynki sułtańskie Bartex ¼ kg, ½ kg, 1 kg Ser półtłusty Mlekovita ¼ kg, ½ kg, 1 kg Relacja nieznormalizowana 26. Sprowadzanie relacji do czwartej postaci normalnej Pierwszym krokiem w normalizowaniu rozważanej relacji jest wyeliminowanie nieskalarnego atrybutu WielkośćOpakowania. Poprawiona w ten sposób relacja pokazana jest na poniższym rysunku. NazwaProduktu NazwaDostawcy WielkośćOpakowania Fasola Jaś Agrotex ¼ kg Fasola Jaś Agrotex ½ kg Fasola Jaś Agrotex 1 kg Rodzynki sułtańskie Bartex ¼ kg Rodzynki sułtańskie Bartex ½ kg Rodzynki sułtańskie Bartex 1 kg Ser półtłusty Mlekovita ¼ kg Ser półtłusty Mlekovita ½ kg Ser półtłusty Mlekovita 1 kg Relacja w postaci Boyce a/codda Zaskakujące, ale relacja z powyższego rysunku jest w postaci normalnej Boyce a/codda, gdyż cała jest kluczem. Widać w niej jednak wyraźnie obecność redundancji, a pilnowanie integralności danych może być utrapieniem. Rozwiązanie tych problemów leży w koncepcji par zależności wielowartościowych i w czwartej postaci normalnej. Para zależności wielowartościowych to dwa wzajemnie niezależne zbiory atrybutów. Na powyższym rysunku widoczną zależnością wielowartościową jest {NazwaProduktu} {WielkośćOpakowania} {NazwaDostawcy}, co należy czytać Produkt określa wiele rozmiarów opakowań i dostawców. Czwarta postać normalna mówi, nieformalnie, że zależności wielowartościowe muszą być rozbite na oddzielne relacje, jak to jest pokazane na poniższym rysunku. NazwaProduktu Fasola Jaś Fasola Jaś Fasola Jaś Rodzynki sułtańskie Rodzynki sułtańskie Rodzynki sułtańskie Ser półtłusty Ser półtłusty Ser półtłusty WielkośćOpakowania ¼ kg ½ kg 1 kg ¼ kg ½ kg 1 kg ¼ kg ½ kg 1 kg NazwaProduktu Fasola Jaś Rodzynki sułtańskie Ser półtłusty NazwaDostawcy Agrotex Bartex Mlekovita 12

13 Jak wynika z przykładu relacje zawierające wielowartościowe zależności powinny być dekomponowane w celu ich sprowadzenia do czwartej postaci normalnej. 27. Piąta postać normalna Piąta postać normalna ma zastosowanie tylko w wyjątkowo rzadkich przypadkach zależności sprzężeń. Zależność sprzężeń określa więzy o charakterze cyklicznym: Jeśli encja1 jest sprzężona z encją2, encja2 jest sprzężona z encją3, a encja3 jest sprzężona z encją1, to wszystkie trzy encje muszą obowiązkowo występować w tej samej krotce Mówiąc językiem bardziej zrozumiałym, jeśli {Dostawca} dostarcza {Produkt}, {Klient} zamawia ten {Produkt} i {Dostawca} dostarcza coś {Klientowi}, to {Dostawca} dostarcza ten {Produkt} {Klientowi}. W świecie rzeczywistym nie jest to jednak poprawne wnioskowanie. {Dostawca} może dostarczać {Klientowi} cokolwiek nie musi to być koniecznie {Produkt}. Zależność sprzężeń istnieje tylko wtedy, gdy obowiązuje dodatkowy warunek mówiący o tym, ze podane wnioskowanie jest poprawne. W takiej sytuacji nie wystarczy użyć pojedynczej relacji o atrybutach {Dostawca, Produkt, Klient}, gdyż spowodowałoby to problemy z aktualizacją. Dostawca Produkt Klient Agrotex Groszek zielony Nowak Jan Bartex Rodzynki sułtańskie Krysiak Marek Istotnie, np. wstawienie do relacji pokazanej na powyższym rysunku krotki { Krakus, Groszek zielony, Krysiak Marek } wymagałoby wstawienia dodatkowej krotki { Agrotex, Groszek zielony, Krysiak Marek }, gdyż w modelu pojawiłoby się nowe sprzężenie - Groszek zielony z Krysiak Marek. Dekompozycja relacji na trzy oddzielne relacje (DostawcaProdukt, ProduktKlient i DostawcaKlient) eliminuje ten problem, ale powoduje z kolei inny: w celu odtworzenia oryginalnej relacji konieczne staje się sprzężenie wszystkich trzech relacji składowych. Próba sprzężenia tylko dwóch z nich spowoduje uzyskanie niepoprawnej informacji. Z punktu widzenia projektanta systemu jest to sytuacja zatrważająca, gdyż nie istnieje żadna samoistna metoda wymuszenia sprzężenia trzech tabel oprócz nałożenia zabezpieczeń. Co więcej, jeśli użytkownik będzie zmuszony w jakiejś sytuacji utworzyć tymczasowy zbiór wynikowy, będzie się on wydawał całkiem sensowny i jest mało prawdopodobne, aby patrząc na niego użytkownik zdołał wykryć błąd. Na szczęście cykliczna zależność sprzężeń występuje tak rzadko, że w większości przypadków tego typu niebezpieczeństwa można spokojnie ignorować. 28. Ilustracja graficzna zależności między postaciami normalnymi 1PN 2PN 3PN B-C 4PN 5PN 13

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

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

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

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

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

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

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

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

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

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

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

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

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości. elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana

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

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

Zależności funkcyjne

Zależności funkcyjne Zależności funkcyjne Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności

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

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

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski azy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Normalizacja relacji bazy danych jako podstawa relacyjnego modelowania danych (wykład przygotowany z wykorzystaniem materiałów

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

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

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

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

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

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

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki. Normalizacja Niewłaściwe zaprojektowanie schematów relacji może być przyczyną dublowania się danych, ich niespójności i anomalii podczas ich aktualizowania Przykłady anomalii PROWNIY id_prac nazwisko adres

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

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

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

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

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

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

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

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych Bazy danych 2. Zależności funkcyjne Normalizacja baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13 Zależności funkcyjne Definicja: Mówimy, że atrybut B jest zależny funkcyjnie od atrybutów

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

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

Normalizacja schematów logicznych relacji

Normalizacja schematów logicznych relacji Normalizacja schematów logicznych relacji Wykład przygotował: Tadeusz Morzy BD wykład 5 Celem niniejszego wykładu jest przedstawienie i omówienie procesu normalizacji. Proces normalizacji traktujemy jako

Bardziej szczegółowo

Zależności funkcyjne pierwotne i wtórne

Zależności funkcyjne pierwotne i wtórne Zależności funkcyjne pierwotne i wtórne W praktyce, w przypadku konkretnej bazy danych, nie jest zwykle możliwe (ani potrzebne), by projektant określił wszystkie zależności funkcyjne na etapie analizy

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

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

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

Zależności funkcyjne c.d.

Zależności funkcyjne c.d. Zależności funkcyjne c.d. Przykłady. Relacja Film (zapis w postaci tabeli): Tytuł Rok Długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne 1977 124 Kolor Fox Carrie Fisher Gwiezdne 1977 124 Kolor Fox

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

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

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

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych BAZY DANYCH wykład 7 Projektowanie relacyjnych baz danych Dr hab. Sławomir Zadrożny, prof. PR Zależności funkcyjne Niech X i Y oznaczają zbiory atrybutów relacji R Powiemy, że dla relacji R obowiązuje

Bardziej szczegółowo

Postać normalna Boyce-Codd (BCNF)

Postać normalna Boyce-Codd (BCNF) Postać normalna Boyce-Codd (BCNF) Grunty Id_Własności Wojewódz. Id-gruntu Obszar Cena Stopa_podatku Postać normalna Boyce-Codd a stanowi warunek dostateczny 3NF, ale nie konieczny. GRUNTY Id_Własności

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

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

Bazy danych 3. Normalizacja baz danych (c.d.)

Bazy danych 3. Normalizacja baz danych (c.d.) Bazy danych 3. Normalizacja baz danych (c.d.) P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13 Postać normalna Boyce a-codda Tabela jest w postaci normalnej Boyce a-codda (BCNF, PNBC), jeżeli 1.

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

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

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

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH Plan wykładu 2 ZY DNYH Wykład 3: Sprowadzanie do postaci normalnych. SQL zapytania grupujące Małgorzata Krętowska Wydział Informatyki Politechnika iałostocka Problemy w bazie danych Przykład sprowadzenia

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

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ń 2016 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 1 / 50 Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B

Bardziej szczegółowo

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

PODSTAWY BAZ DANYCH 2009/ / Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 2009/2010 1 Literatura 1. Connolly T., Begg C.: Systemy baz danych. Tom 1 i tom 2. Wydawnictwo RM 2004. 2. R. Elmasri, S. B. Navathe: Wprowadzenie do systemu baz danych, Wydawnictwo

Bardziej szczegółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie relacji, relacja równoważności, rozkłady zbiorów 1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

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

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja Plan Zależności funkcyjne 1. Zależności funkcyjne jako klasa ograniczeń semantycznych odwzorowywanego świata rzeczywistego. 2. Schematy relacyjne = typ relacji + zależności funkcyjne. 3. Rozkładalność

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 11/15 NORMALIZACJA c.d. Przykład {UCZEŃ*, JĘZYK*, NAUCZYCIEL} {UCZEŃ, JĘZYK} NAUCZYCIEL NAUCZYCIEL JĘZYK Są

Bardziej szczegółowo

Literatura. Bazy danych s.1-1

Literatura. Bazy danych s.1-1 Literatura R.Colette, Bazy danych : od koncepcji do realizacji, PWE 1988, S.Forte, T.Howe, J. Ralston, Access2000, HELION 2001, R.J.Muller, Bazy danych, język UML w modelowaniu danych, MIKOM 2000, M.Muraszkiewicz,

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

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Uzupełnij pola tabeli zgodnie z przykładem poniżej, 1. Wykonaj bazę danych biblioteki szkolnej, Otwórz MS Access a następnie z menu plik wybierz przycisk nowy, w oknie nowy plik wybieramy pusta baza danych nadaj jej nazwę Biblioteka i wybierz miejsce w

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

Tworzenie bazy danych na przykładzie Access

Tworzenie bazy danych na przykładzie Access Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy

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

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

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

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

Normalizacja schematu bazy danych. Radosław Fijołek Paweł Romanowski Paweł Trzos

Normalizacja schematu bazy danych. Radosław Fijołek Paweł Romanowski Paweł Trzos Normalizacja schematu bazy danych Radosław Fijołek Paweł Romanowski 171128 Paweł Trzos Normalizacja schematu bazy danych Normalizacja Postaci normalne Postaci normalne Pierwsza postać normalna 1 NF Opisuje

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

Algebra Boole a i jej zastosowania

Algebra Boole a i jej zastosowania lgebra oole a i jej zastosowania Wprowadzenie Niech dany będzie zbiór dwuelementowy, którego elementy oznaczymy symbolami 0 oraz 1, tj. {0, 1}. W zbiorze tym określamy działania sumy :, iloczynu : _ oraz

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

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

Dekompozycja w systemach wyszukiwania informacji

Dekompozycja w systemach wyszukiwania informacji METODY DEKOMPOZYCJI: Dekompozycja w systemach wyszukiwania informacji ATRYBUTOWA OBIEKTOWA HIERARCHICZNA (zależna i wymuszona) Dekompozycje mają cel wtedy kiedy zachodzi któryś z poniższych warunków: Duża

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

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

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

Bazy danych w sterowaniu

Bazy danych w sterowaniu Bazy danych w sterowaniu funkcje systemu zarządzania bazą danych, schemat pojęciowy, normalizacja relacji Jeffrey D. Ullman Systemy baz danych Claude Delobel Michel Adiba elacyjne bazy danych Paul Beynon-Davies

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

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

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

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge BAZA DANYCH Informatyka ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge Treść zadania: Dyrektor szkoły dysponuje plikami Uczniowie, Klasy i Przedmioty. Oto opisy wierszy w poszczególnych plikach:

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

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

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji Diagramy związków encji (ERD) 1 Projektowanie bazy danych za pomocą narzędzi CASE Materiał pochodzi ze strony : http://jjakiela.prz.edu.pl/labs.htm Diagramu Związków Encji - CELE Zrozumienie struktury

Bardziej szczegółowo

Projektowanie baz danych

Projektowanie baz danych Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2005/06 Plan wykładu Ewolucja

Bardziej szczegółowo

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Metoda eliminacji Gaussa. Autorzy: Michał Góra Metoda eliminacji Gaussa Autorzy: Michał Góra 9 Metoda eliminacji Gaussa Autor: Michał Góra Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego

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

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację

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

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

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem

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