Bazy Danych. pok. 103, D-4 tel dr inż. Mariusz Kopeć.
|
|
- Teresa Żurek
- 8 lat temu
- Przeglądów:
Transkrypt
1 Bazy Danych dr inż. Mariusz Kopeć pok. 103, D-4 tel
2 Program wykładu 1. Pojęcia podstawowe 2. Systemy Zarządzania Bazami Danych 3. Technologie baz danych 4. Modele logiczne danych 5. Relacyjny model danych 6. Model związków encji 7. Asocjacje 8. Hierarchie encji 9. Transformacje do modelu relacyjnego (C) Mariusz Kopeć, WEiP AGH,
3 Literatura R. Elmasri, S. B. Navathe, Wprowadzenie do systemów baz danych, Helion, 2005 M. J. Hernandez, Bazy danych dla zwykłych śmiertelników, Mikom, 2004 P. Beynon-Davies, Systemy baz danych, WNT, 2003 C. J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa, (C) Mariusz Kopeć, WEiP AGH,
4 Pojęcia podstawowe Dane są symbolami lub zbiorami symboli odzwierciedlających pewne fakty. Same w sobie nie mają znaczenia bowiem konieczna jest jeszcze ich odpowiednia interpretacja: 1983 samo w sobie nic nie znaczy, ale interpretowane jako rok wydania książki zawiera pewną informację. Baza danych jest kolekcją danych będącą modelem pewnego aspektu rzeczywistości określanej jako obszar analizy. Rzeczy istotne z punktu widzenia obszaru analizy nazywamy klasami lub encjami przykład: Klient, Zamówienie Encje posiadają cechy nazywane właściwościami lub atrybutami przykład: Klient posiada Nazwisko Pomiędzy encjami mogą występować określone związki nazywane relacjami przykład: Klient złożył Zamówienie (C) Mariusz Kopeć, WEiP AGH,
5 Systemy Zarządzania Bazą Danych System Zarządzania Bazą Danych (DBMS) zbiór gotowych narzędzi zapewniających odpowiedni dostęp, manipulację, modyfikację i aktualizację danych gromadzonych w systemie komputerowym (bazie danych) Elementy składowe SZBD: manager bazy danych zarządzanie obiektami bazy danych procesor zapytań przetwarzanie poleceń kierowanych do BD kompilator definicji schematu przetwarzanie definicji obiektów znajdujących się w bazie na postać zrozumiałą dla managera bazy SZBD komunikuje się z: managerem plików (fizyczną bazą danych) zapytaniami użytkownika aplikacjami użytkownika narzędziami definicji schematu bazy (C) Mariusz Kopeć, WEiP AGH,
6 Systemy Zarządzania Bazą Danych Zapytania Aplikacje Definicje Procesor zapytań Kompilator definicji SZBD Manager bazy danych Manager plików (C) Mariusz Kopeć, WEiP AGH,
7 Architerktura ANSI-SPARC SZBD Architektura trójwarstwowa zaproponowana w 1975 roku przez American National Standards Institute oraz Standards Planning And Requirements Committee jako abstrakcyjny standard projektowania SZBD. Zakłada istnienie następujących 3 poziomów: Poziom zewnętrzny (użytkownika) opisuje jak użytkownicy widzą dane. Realizacji na poziomie zewnętrznym, czyli sposobów w jaki użytkownicy widza dane może być wiele Poziom koncepcyjny (pojęciowy) opisuje logiczny widok wszystkich danych w bazie bez szczegółów dotyczących praktycznej realizacji Poziom wewnętrzny (fizyczny) opisuje fizyczny sposób przechowywania danych oraz dostępu do nich (C) Mariusz Kopeć, WEiP AGH,
8 Architektura ANSI-SPARC SZBD widok użytk. widok użytk. widok użytk. Poziom zewnętrzny Model koncepcyjny Poziom pojęciowy model fizyczny model fizyczny Poziom wewnętrzny (C) Mariusz Kopeć, WEiP AGH,
9 Przesłanki architektury 3-poziomowej niezależność aplikacji i danych różne widoki użytkowników dopasowanie do szczegółowych potrzeb użytkowników zmiany jednego widoku nie wpływają na inne możliwość zmiany koncepcji przechowywania danych na tym poziomie działa administrator bazy danych wprowadzane przez administratora zmiany struktury bazy danych nie wpływają na widoki użytkowników logiczna niezależność danych ukrycie fizycznej implementacji użytkownicy nie znają i nie muszą znać szczegółów przechowywania danych zmiany w warstwie fizycznej nie wpływają na działanie bazy danych widzianej ze strony użytkowników - na przykład zmiana dysku czy stosowanego systemu plików jest dla użytkowników niewidoczna fizyczna niezależność danych (C) Mariusz Kopeć, WEiP AGH,
10 Wymagania odnośnie SZBD System Zarządzania Bazą Danych umożliwia: opisywanie encji w terminach składowanych danych tworzenie oraz trwałe i wydajne składowanie dużych i bardzo dużych kolekcji danych (nawet bajtów) wydajne przeszukiwanie i aktualizowanie danych wydajne modyfikowanie danych zapewnienie współbieżnego dostępu do danych odtwarzanie aktualnego i spójnego stanu bazy danych po awariach zapewnienie spójności przechowywanych danych kontrolę dostępu do danych obsługę różnych interfejsów współpracujących z bazą danych działanie w długim cyklu życia (C) Mariusz Kopeć, WEiP AGH,
11 Najpopularniejsze SZBD System Model BD Licencja Firma Start Rank Oracle relacyjny komercyjna Oracle MySQL relacyjny open source Oracle MS SQL Server relacyjny komercyjna Microsoft MongoDB nierelacyjny open source MongoDB Inc PostgreSQL relacyjny open source PostgreSQL DB2 relacyjny komercyjna IBM MS Access relacyjny komercyjna Microsoft Cassandra nierelacyjny open source Apache Soft SQLite relacyjny open source Dwayne Rich Regis nierelacyjny open source Sanfilippo S (C) Mariusz Kopeć, WEiP AGH,
12 Technologie baz danych Modele danych modele pojęciowe związki encji (ERM), zunifikowany język modelowania (UML), język definicji obiektów (ODL) modele logiczne relacyjne, obiektowe, post-relacyjne Fizyczne struktury danych i metody dostępu pliki uporządkowane, indeksy, bitmapy operacje połączenia, sortowania, grupowania, połowienie binarne, haszowanie regułowe i kosztowe metody optymalizacji zapytań Przetwarzanie transakcyjne dostęp do danych przez transakcje metody synchronizacji transakcji (znaczniki czasowe) metody odtwarzania spójności (punkty kontrolne, logi) metody archiwizacji (C) Mariusz Kopeć, WEiP AGH,
13 Języki baz danych Język definiowania danych DDL umożliwia tworzenie, modyfikowanie i usuwanie struktur danych oraz całych baz danych Język manipulowania danymi DML umożliwia realizację żądań użytkownika obejmujących wyszukiwanie, wstawianie, modyfikowanie i usuwanie danych Język kontroli danych DCL zapewnia autoryzację dostępu do danych Język integralności danych DIL służy do określenia więzów integralności danych czasami wyróżnia się dodatkowo Język definicji widoku VDL umożliwia definicję widoku zewnętrznego (rzadko implementowany) (C) Mariusz Kopeć, WEiP AGH,
14 Użytkownicy baz danych Użytkownicy zwykli z prawem odczytu mają prawo do wyszukiwania i odczytu informacji Użytkownicy zwykli z prawem odczytu i modyfikacji danych mają prawo do wyszukiwania i odczytu informacji oraz dodawania, zmieniania i usuwania danych Administratorzy baz danych zarządzają dostępem do baz i nadają uprawnienia użytkownikom; zarządzają logiczną i fizyczną konfiguracją systemu Projektanci baz danych projektują schematy baz danych, definiują perspektywy użytkowników, określają strukturę aplikacji i interfejsy, utrzymują system Analitycy baz danych wyznaczają charakterystyki danych, wykrywają zależności i cechy jakościowe Inżynierowie wiedzy wydobywają wiedzę z danych (data mining) (C) Mariusz Kopeć, WEiP AGH,
15 Modele logiczne danych Modele logiczne danych zasady posługiwania się danymi obejmujące: definicje danych zbiory reguł określających strukturę danych operowanie danymi zbiory reguł dotyczących dostępu do danych oraz ich modyfikacji integralność danych zbiory reguł określających które stany danych są poprawne, czyli jakie operacje prowadzące do zmiany danych są dozwolone Modelowanie logiczne jest realizowane przez projektantów na podstawie specyfikacji wymagań i modelu pojęciowego jest ściśle powiązane z określonym modelem bazy danych, a często z jej konkretną implementacją określa struktury modelu danych, ale nie ingeruje w struktury fizyczne (C) Mariusz Kopeć, WEiP AGH,
16 Modele logiczne danych Chronologiczne zestawienie modeli danych hierarchiczny 1965 dane są przechowywane w postaci rekordów pomiędzy którymi występuje zależność nadrzędności-podrzędności każdy rekord (z wyjątkiem pierwszego) posiada dokładnie jeden rekord nadrzędny jeżeli rekordowi można by przypisać więcej rekordów nadrzędnych, musi zostać do nich skopiowany usunięcie rekordu powoduje usunięcie wszystkich jego rekordów podrzędnych implementacja: system plików sieciowy (grafowy) 1968 zmodyfikowana wersja modelu hierarchicznego rekordy zawierają pola przechowujące dane rekordy mogą mieć wiele rekordów nadrzędnych i podrzędnych implementacja: Integrated Database Management System relacyjny 1970 dane przechowywane są w tabelach w rekordach (wierszach) każda tabela ma określoną stałą kolumn i dowolna liczbę wierszy każda tabela ma zdefiniowany klucz danych jednoznacznie identyfikujący wiersz (C) Mariusz Kopeć, WEiP AGH,
17 Modele logiczne danych cd Chronologiczne zestawienie modeli danych cd semantyczny 1978 dane są zorganizowane w oparciu o obiekty oraz relacje zachodzące pomiędzy tymi obiektami a rzeczywistym światem obiekty są interpretowane z uwzględnieniem relacji, które pomiędzy nimi zachodzą semantyczne modele danych budowane w celu maksymalnie dokładnego reprezentowania świata rzeczywistego w oparciu o istniejące dane obiektowy 1980 dane zapisywane są w formie obiektów dane wykorzystują założenia modelu obiektowego takie jak: klasy, dziedziczenie, metody, przeciążanie metod, referencje do obiektów wykorzystanie paradygmatu obiektowego zapewnia automatycznie realizację wymagań stawianych SZBD dedukcyjny 1982 dane zgromadzone tak jak w modelu relacyjnym lub obiektowym uzupełnione są tzw. bazą reguł wnioskowania, zawierającą reguły wnioskowania i więzy integralności dane znajdujące się w bazie dostępne są użytkownikowi bezpośrednio dane nieznajdujące się w bazie są tworzone na bieżąco w procesie wnioskowania postrelacyjny 1990 model relacyjny rozszerzony o elementy obiektowości (C) Mariusz Kopeć, WEiP AGH,
18 Relacyjny model danych Model oparty na teorii zbiorów i teorii predykatów, opublikowany w 1970 przez E.F. Codd a Zakłada istnienie tylko jednej struktury danych nazywanej relacją lub tabelą Tabele reprezentują różne realne rzeczy ze świata rzeczywistego, będące rzeczywistymi obiektami materialnymi (np. Osoba) lub niematerialnymi (np. Rozmowa, Przedmiot, Wiedza) Każda tabela ma unikalną nazwę i reprezentuje tylko jedną rzecz Każda rzecz posiada pewien zestaw atrybutów, taki sam dla wszystkich rzeczy w tabeli Zbiór nazw atrybutów nazywa się schematem relacji Każdy wiersz tabeli reprezentujący wystąpienie obiektu rzeczywistego nazywa się krotką Tabele znajdujące się w bazie mogą być powiązane między sobą poprzez związki (C) Mariusz Kopeć, WEiP AGH,
19 Relacyjny model danych Relacja jest tabelą spełniającą następujące warunki Każda relacja w bazie ma jednoznaczną nazwę Każda kolumna w ramach relacji ma jednoznaczną nazwę Wszystkie wartości w kolumnie są tego samego rodzaju (mają tę samą dziedzinę) Porządek kolumn w relacji nie jest istotny Wiersze w tabeli nie mogą się powtarzać (są różne) Kolejność wierszy nie jest istotna Każde pole relacji musi mieć wartości elementarne (atomowe) Nr_ind Imię Nazwisko Kierunek Rok 1010 Jan Kowalski energ Anna Nowak energ Adam Zawadzki techn Anna Nowak energ 2 (C) Mariusz Kopeć, WEiP AGH,
20 Relacyjny model danych Postulaty Codd a 0 Każdy system uznany za relacyjny musi mieć możliwość zarządzania danymi tylko za pomocą mechanizmów relacyjnych 1 Postulat informacji: dane w bazie muszą być reprezentowane wyłącznie na poziomie logicznym jako wartości w tabelach 2 Postulat dostępu: każda tabela musi mieć zdefiniowany klucz główny, będący identyfikatorem wiersza w tabeli. Dostęp do każdej wartości atomowej musi być możliwy przez nazwę tablicy, nazwę kolumny i nazwę klucza głównego 3 Postulat wartości NULL: dostępna jest specjalna wartość NULL reprezentująca wartości puste lub nieadekwatne, inna od wszystkich i podlegająca przetwarzaniu 4 Postulat metadanych: baza musi wykorzystywać katalog systemowy, w którym w tablicach są przechowywane metadane (dane o danych) 5 Postulat uniwersalnego języka: musi istnieć jeden język umożliwiający manipulowanie danymi w bazie, dostępny w trybie interaktywnym i z aplikacji 6 Postulat modyfikowalności perspektyw: muszą być możliwe modyfikacje danych wynikowych udostępnianych przez perspektywy (C) Mariusz Kopeć, WEiP AGH,
21 Relacyjny model danych Postulaty Codd a cd 7 Postulat modyfikowalności danych: system musi umożliwiać operacje modyfikacji danych takie jak INSERT, UPDATE, DELETE 8 Postulat fizycznej niezależności danych: zmiany fizycznej reprezentacji danych oraz organizacji dostępu do nich nie wpływają na aplikacje 9 Postulat logicznej niezależności danych: zmiany wartości w tabelach nie wpływają na aplikacje 10 Postulat niezależności więzów spójności: więzy spójności są definiowane w bazie i nie zależą od aplikacji 11 Postulat niezależności dystrybucyjnej: działanie aplikacji nie zależy od modyfikacji i dystrybucji bazy 12 Postulat bezpieczeństwa względem operacji niskiego poziomu: operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności (C) Mariusz Kopeć, WEiP AGH,
22 Wartość NULL Reprezentuje brak wartości danego atrybutu ze względu na: brak wiedzy o jego wartości (np. numer PESEL jakiejś osoby) brak wiedzy o jego stosowalności (np. dana osoba może mieć numer prawa jazdy lub nie) jego niestosowalność (np. objętość figury płaskiej) Jest różny od zera, spacji lub stringu pustego Podlega wyświetlaniu Nie podlega sortowaniu Nie stosuje się wobec niego operatorów porównania Implikuje stosowanie logiki trójwartościowej (C) Mariusz Kopeć, WEiP AGH,
23 Logika trójwartościowa AND true false null true true false null false false false false null null false null OR true false null true true true true false true false null null true null null NOT true false null false true null (C) Mariusz Kopeć, WEiP AGH,
24 Relacyjny model danych - klucze Superklucz tabeli kolumna lub zestaw kolumn tabeli jednoznacznie identyfikujący rekord w tabeli, czyli rekord musi mieć unikalną wartość superklucza. Zwykle jest nadmiarowy Klucz tabeli minimalny superklucz. Może ich być wiele i wtedy nazywane są kluczami kandydującymi Klucz podstawowy (PK) kluczy wybrany spośród kluczy kandydujących. Najczęściej dodatkowo zapewnia się jego unikalność Klucz obcy (FK) kolumna lub zestaw kolumn wskazujących na klucz podstawowy innej tabeli Reguły integralności gwarantują, że wszystkie wprowadzane dane będą spełniać nałożone warunki i obejmują: Klucze Zawężenie dziedziny Unikatowość wartości Dopuszczenie lub blokowanie wartości pustych (C) Mariusz Kopeć, WEiP AGH,
25 Relacyjny model danych Klucz podstawowy i klucz obcy Nr_ind (PK) Imię Nazwisko Id_kier (FK) 1010 Jan Kowalski Anna Nowak Adam Zawadzki Anna Nowak 1 2 Rok Id_kier (PK) Kierunek 1 energ 2 techn (C) Mariusz Kopeć, WEiP AGH,
26 Algebra relacyjna Służy do wyszukiwania danych w relacji Jest proceduralnym językiem zapytań Jest zbiorem 8 operatorów: rzutowanie (projekcja) π selekcja (wybór) σ produkt (iloczyn kartezjański) złączenie suma przecięcie różnica \ iloraz (C) Mariusz Kopeć, WEiP AGH,
27 Algebra relacyjna Projekcja jest operatorem, który bierze jedną relację i zwraca inną relację, w której dla wszystkich krotek (wierszy) wypisuje tylko żądane atrybuty (kolumny) π Nazwisko,Rok (Student) Student Imię Nazwisko Rok Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 3 π(student) Nazwisko Rok Kowalski 2 Nowak 3 Kucharski 3 (C) Mariusz Kopeć, WEiP AGH,
28 Algebra relacyjna Selekcja jest operatorem, który bierze jedną relację i zwraca inną relację, w której umieszcza tylko krotki spełniające zadane warunki σ Rok=3 (Student) Student Imię Nazwisko Rok Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 3 σ(student) Imię Nazwisko Rok Ewa Nowak 3 Jan Kucharski 3 (C) Mariusz Kopeć, WEiP AGH,
29 Algebra relacyjna Iloczyn kartezjański zwraca relację, której schemat jest sumą schematów obu relacji, a krotki są wszystkimi kombinacjami krotek wejściowych (Student) (Przedmiot) Student Imię Nazwisko Rok Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 3 Przedmiot ID Nazwa 10 Bazy danych 11 Statystyka (C) Mariusz Kopeć, WEiP AGH,
30 Algebra relacyjna (Student) (Przedmiot) Imię Nazwisko Rok ID Nazwa Adam Kowalski 2 10 Bazy danych Ewa Nowak 3 10 Bazy danych Jan Kucharski 3 10 Bazy danych Adam Kowalski 2 11 Statystyka Ewa Nowak 3 11 Statystyka Jan Kucharski 3 11 Statystyka (C) Mariusz Kopeć, WEiP AGH,
31 Algebra relacyjna Iloczyn kartezjański może być wykonany również na relacjach posiadających takie same atrybuty. W tej sytuacji atrybuty wynikowe wskazują relację, z której pochodzą (S) (W) S Imię Nazwisko Rok Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 3 Imię Jerzy Anna W Nazwisko Adamski Mroczek (C) Mariusz Kopeć, WEiP AGH,
32 Algebra relacyjna (S) (W) S.Imię S.Nazwisko S.Rok W.Imię W.Nazwisko Adam Kowalski 2 Jerzy Adamski Ewa Nowak 3 Jerzy Adamski Jan Kucharski 3 Jerzy Adamski Adam Kowalski 2 Anna Mroczek Ewa Nowak 3 Anna Mroczek Jan Kucharski 3 Anna Mroczek (C) Mariusz Kopeć, WEiP AGH,
33 Algebra relacyjna Złączenie jest operacją składającą się z dwóch kroków, z których pierwszym jest wykonanie iloczynu kartezjańskiego, a drugim wykonanie odpowiedniej selekcji Złączenie naturalne Złącznie wewnętrzne (równozłączenie) = Złącznie wewnętrzne θ warunkowe θ semizłączenie θ: <, >, >=, <= antyzłączenie θ: <> (!=) Złącznie zewnętrzne lewostronne L Złącznie zewnętrzne prawostronne R Złącznie zewnętrzne dwustronne Samozłączenie (C) Mariusz Kopeć, WEiP AGH,
34 Algebra relacyjna Złączenie naturalne z wyniku iloczynu kartezjańskiego wybierane są tylko te krotki, których wspólne atrybuty mają takie same wartości. W relacji wynikowej takie atrybuty wypisywane są tylko raz. Warunek złączenia nie jest określany, bo dotyczy wszystkich wspólnych kolumn. (Wykładowca) (Przedmiot) Wykładowca Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 Przedmiot ID Przedmiot 2 Bazy danych 3 Statystyka 4 Fizyka (C) Mariusz Kopeć, WEiP AGH,
35 Algebra relacyjna (Wykładowca) (Przedmiot) Imię Nazwisko ID ID Przedmiot Adam Kowalski 2 2 Bazy danych Ewa Nowak 3 2 Bazy danych Adam Kowalski 2 3 Statystyka Ewa Nowak 3 3 Statystyka Adam Kowalski 2 4 Fizyka Ewa Nowak 3 4 Fizyka (Wykładowca) (Przedmiot) Imię Nazwisko ID Przedmiot Adam Kowalski 2 Bazy danych Ewa Nowak 3 Statystyka (C) Mariusz Kopeć, WEiP AGH,
36 Algebra relacyjna Złączenie wewnętrzne θ z wyniku iloczynu kartezjańskiego wybierane są tylko te krotki, których wskazane atrybuty spełniają warunek θ. Równozłączenie warunkiem jest równość. Podobne do naturalnego, ale powtarzające się kolumny nie są pomijane Warunkowe warunek dowolny (inny niż = ) (Wykładowca) W.ID=S.ID (Przedmiot) Wykładowca Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 Przedmiot ID Przedmiot 2 Bazy danych 3 Statystyka 4 Fizyka (C) Mariusz Kopeć, WEiP AGH,
37 Algebra relacyjna (Wykładowca) (Przedmiot) Imię Nazwisko ID ID Przedmiot Adam Kowalski 2 2 Bazy danych Ewa Nowak 3 2 Bazy danych Adam Kowalski 2 3 Statystyka Ewa Nowak 3 3 Statystyka Adam Kowalski 2 4 Fizyka Ewa Nowak 3 4 Fizyka (Wykładowca) = (Przedmiot) Imię Nazwisko ID ID Przedmiot Adam Kowalski 2 2 Bazy danych Ewa Nowak 3 3 Statystyka (C) Mariusz Kopeć, WEiP AGH,
38 Algebra relacyjna Złączenie zewnętrzne podobne do naturalnego, ale w relacji wynikowej pozostawiane są wiersze niemające odpowiedników w obu relacjach. Może być lewostronne, prawostronne lub dwustronne (Wykładowca) L (Przedmiot) Wykładowca Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 5 L Przedmiot ID Przedmiot 2 Bazy danych 3 Statystyka 4 Fizyka (C) Mariusz Kopeć, WEiP AGH,
39 Algebra relacyjna (Wykładowca) L (Przedmiot) Imię Nazwisko ID Przedmiot Adam Kowalski 2 Bazy danych Ewa Nowak 3 Statystyka Jan Kucharski 5 NULL Złączenie zewnętrzne lewostronne (Wykładowca) R (Przedmiot) Imię Nazwisko ID Przedmiot Adam Kowalski 2 Bazy danych Ewa Nowak 3 Statystyka NULL NULL 5 Fizyka Złączenie zewnętrzne prawostronne (C) Mariusz Kopeć, WEiP AGH,
40 Algebra relacyjna (Wykładowca) (Przedmiot) Imię Nazwisko ID Przedmiot Adam Kowalski 2 Bazy danych Ewa Nowak 3 Statystyka Jan Kucharski 5 NULL NULL NULL 5 Fizyka Złączenie zewnętrzne dwustronne (C) Mariusz Kopeć, WEiP AGH,
41 Algebra relacyjna Samozłączenie złączenie relacji z samą sobą. Konieczne jest użycie aliasów. S1 Nazwisko Obecny Kowalski 2 Kowalski 3 Kucharski 2 S2 Nazwisko Obecny Kowalski 2 Kowalski 3 Kucharski 2 (S1) (S2) (C) Mariusz Kopeć, WEiP AGH,
42 Algebra relacyjna (S1) (S2) S1.Nazwisko S1.Obecny S2.Nazwisko S2.Obecny Kowalski 2 Kowalski 2 Kowalski 3 Kowalski 2 Kucharski 2 Kowalski 2 Kowalski 2 Kowalski 3 Kowalski 3 Kowalski 3 Kucharski 2 Kowalski 3 Kowalski 2 Kucharski 2 Kowalski 3 Kucharski 2 Kucharski 2 Kucharski 2 Samozłączenie (C) Mariusz Kopeć, WEiP AGH,
43 Algebra relacyjna Suma działa na dwóch zgodnych relacjach (tzn. relacjach o tym samym schemacie) i zwraca wszystkie różne wiersze z obu relacji. (W1) (W2) W1 Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 W2 Imię Nazwisko ID Adam Kowalski 2 Jan Kucharski 5 W1 W2 Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 Jan Kucharski 5 (C) Mariusz Kopeć, WEiP AGH,
44 Algebra relacyjna Przecięcie działa na dwóch zgodnych relacjach (tzn. relacjach o tym samym schemacie) i zwraca wszystkie wspólne wiersze z obu relacji. (W1) (W2) W1 Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 W2 Imię Nazwisko ID Adam Kowalski 2 Jan Kucharski 5 W1 W2 Imię Nazwisko ID Adam Kowalski 2 (C) Mariusz Kopeć, WEiP AGH,
45 Algebra relacyjna Różnica działa na dwóch zgodnych relacjach (tzn. relacjach o tym samym schemacie) i zwraca wszystkie wiersze z pierwszej relacji niewystępujące w drugiej. (W1)\(W2) W1 Imię Nazwisko ID Adam Kowalski 2 Ewa Nowak 3 \ W2 Imię Nazwisko ID Adam Kowalski 2 Jan Kucharski 5 W1\W2 Imię Nazwisko ID Ewa Nowak 3 (C) Mariusz Kopeć, WEiP AGH,
46 Algebra relacyjna Iloraz działa na dwóch relacjach z których: jedna jest binarna (2 kolumny) a druga unarna (1 kolumna) w obu występuje taka sama dziedzina (Nazwa kolumny) wyznaczane są wartości z kolumny niewspólnej tabeli binarnej, dla których wartości z kolumny wspólnej odpowiadają wartościom z tabeli unarnej jeżeli wszystkie wyznaczone wartości są takie same, są one wyprowadzane do tabeli wynikowej. Zajęcia Przedmioty Wynik Przedmiot Data Fizyka Przedmiot Fizyka Data Bazy danych Bazy danych Bazy danych (C) Mariusz Kopeć, WEiP AGH,
47 Model związków encji (ERM) Model związków encji nazywany także modelem ER służy do odwzorowania obiektów świata rzeczywistego w pewne abstrakcyjne obiekty (encje), które da się później reprezentować w systemie informatycznym Obiekty świata rzeczywistego reprezentowane są przez encje a powiązania między obiektami przez związki między encjami Diagram związków encji (ERD) służy do przedstawienia modelu związków encji w postaci graficznej ERD może być zapisywany w różnych notacjach: notacja Chena notacja Martina (notacja kruczej stopki) notacja Barkera (Oracle) najczęściej używana notacja Bachmana notacja UML (i wiele innych) (C) Mariusz Kopeć, WEiP AGH,
48 Model związków encji (ERM) Encja może reprezentować: obiekt materialny, np. studenta, książkę, samochód obiekt niematerialny, np. konto, zlecenie, projekt zdarzenie, np. wysłanie zamówienia, lądowanie samolotu stan rzeczywistości, np. stan rachunku Każda encja posiada: unikalną nazwę zbiór atrybutów obejmujący: identyfikator jednoznacznie identyfikujący wystąpienie encji deskryptory Encje mogą wchodzić w związki z innymi encjami Każdy obiekt świata rzeczywistego może być reprezentowany tylko przez jedną encję Nazwa encji powinna być rzeczownikiem liczby pojedynczej (C) Mariusz Kopeć, WEiP AGH,
49 Model związków encji (ERM) Encja słaba nie posiada swojego identyfikatora jej wystąpienia mogą istnieć wyłącznie w kontekście wystąpień encji powiązanych z encją słabą przykład: wystąpienie encji słabej Pozycja_zamówienia możliwe jest tylko w kontekście wystąpienia encji Zamówienie Hierarchia encji pewne encje o wspólnym zbiorze atrybutów można uogólnić i stworzyć encję wyższego poziomu (nadencja, encja generalizacji). Encje niższego poziomu nazywane są encjami specjalizacji. marka ile miejsc s. osobowy samochód rocznik masa dop. s. ciężarowy cena (C) Mariusz Kopeć, WEiP AGH,
50 Model związków encji (ERM) Atrybuty encji: proste (atomowe) niepodzielne, np. PESEL złożone podzielne, np. adres jednowartościowe jedna wartość w danej chwili, np. wiek wielowartościowe wiele wartości jednocześnie, np. język obce oryginalne zapisane w bazie danych, np. PESEL wywiedzione wyliczone z innych atrybutów, np. wiek obowiązkowe muszą być podane opcjonalne mogą być pominięte Identyfikatory: proste naturalne, np. PESEL proste sztuczne, np. identyfikator klienta złożone, np. numer rejestracyjny (C) Mariusz Kopeć, WEiP AGH,
51 Cechy związków między encjami Stopień związku Unarny, np. Pracownik jest przełożonym Pracownika Binarny, np. Osoba posiada Paszport Ternarny, np. Student uczęszcza na Zajęcia prowadzone przez Asystenta N-arny Typ związku (kardynalność) jeden do jeden (1:1), np. 1 Osoba posiada 1 Paszport jeden do wiele (1:N), np. 1 Klient składa N Zamówień wiele do wiele (M:N) traktowany jako nieimplementowanly Uczestnictwo obowiązkowe, np. Auto jest własnością Osoby opcjonalne, np. Osoba posiada Auto (C) Mariusz Kopeć, WEiP AGH,
52 Diagram związków encji (ERD) Encja i wystąpienie encji Pracownik # Nr_pracownika Imię Nazwisko Rok_urodzenia Jednostka Stanowisko Nr_telefonu Ewa AdamNowak Kowalski EAiE WEiP Adiunkt asystent Encja Wystąpienie encji (C) Mariusz Kopeć, WEiP AGH,
53 Diagram związków encji (ERD) Oznaczenia atrybutów w notacji Oracle # - identyfikator - atrybut obowiązkowy o - atrybut opcjonalny Zapis atrybutów encji Pracownik w notacji Oracle: Pracownik # Nr_pracownika Imię Nazwisko Rok_urodzenia Jednostka Stanowisko Nr_telefonu Encja Identyfikator Atrybuty obowiązkowe Atrybut opcjonalny (C) Mariusz Kopeć, WEiP AGH,
54 Diagram związków encji (ERD) Oznaczenia cech związków w notacji Oracle Kardynalność (1:1) (1:N) Uczestnictwo obowiązkowe opcjonalne Notacja Martina (kruczej stopki) dokładnie jeden zero lub więcej jeden lub więcej zero lub jeden więcej niż jeden (C) Mariusz Kopeć, WEiP AGH,
55 Diagram związków encji (ERD) Oznaczenia cech związków w notacji Oracle Turysta posiada należy do Paszport Turysta posiada dokładnie jeden Paszport Paszport należy do dokładnie jednego Turysty Firma może posiadać należy do Logo Firma może posiadać jedno Logo Logo należy do dokładnie jednej Firmy Wspólnota może posiadać może należeć do Kamienica Wspólnota może posiadać jedną Kamienicę Kamienica może należeć do dokładnie jednej Wspólnoty (C) Mariusz Kopeć, WEiP AGH,
56 Diagram związków encji (ERD) Ojciec może posiadać posiada Syn Ojciec może posiadać wielu Synów Syn ma dokładnie jednego Ojca Dostawca dostarcza jest dostarczany Produkt Dostawca dostarcza Produkty Produkty są dostarczane przez jednego Dostawcę Produkt jest na zawiera Zamówienie Produkt jest na Zamówieniach Zamówienie zawiera różne Produkty (C) Mariusz Kopeć, WEiP AGH,
57 Cykl projektowy analiza wymagań Analiza modele konceptualne Projektowanie modele implementacyjne Implementacja Testowanie Wdrożenie Utrzymanie (C) Mariusz Kopeć, WEiP AGH,
58 Modele cyklu życia Model "buduj i poprawiaj" Kolejne modyfikacje aż do uzyskania zadowalającego efektu Model kaskadowy Każdy etap musi być zakończony i zatwierdzony by przejść do następnego Etapy nie zazębiają się Model spiralny Szereg kolejnych implementacji modelu wodospadowego Każda kolejna iteracja jest rozszerzeniem poprzedniej Model przyrostowy Analiza i projekt ogólny wykonywane są według modelu kaskadowego Pozostałe etapy wykonywane są według modelu spiralnego Model z prototypem Model zbliżony do modelu kaskadowego Pierwszym etapem jest stworzenie prototypu (C) Mariusz Kopeć, WEiP AGH,
59 Model "buduj i poprawiaj" Pierwsza wersja Modyfikacje wersji Tryb testowania Tryb konserwacji nadaje się do rozwiązywania niewielkich problemów stosowany kiedy nie wiadomo jak zacząć (C) Mariusz Kopeć, WEiP AGH,
60 Model kaskadowy Analiza Projektowanie Implementacja Testowanie Wdrożenie Konserwacja dobrze zdefiniowane wymagania dobrze określone zastosowania rzadko stosowany w postaci czystej (C) Mariusz Kopeć, WEiP AGH,
61 Model kaskadowy Zalety ułatwia organizację przedsięwzięcia wymusza dyscyplinę pracy wymusza kontrolę wyników każdego etapu pracy wymusza dokumentowanie każdej fazy pracy Wady trudności w formułowaniu wymagań możliwa niezgodność z faktycznymi potrzebami klienta narzuca ścisłą kolejność prac wymusza oczekiwanie na zakończenie wcześniejszych faz wysokie koszty ewentualnych błędów we wcześniejszych fazach (C) Mariusz Kopeć, WEiP AGH,
62 Model spiralny Implementacja Projektowanie Analiza Projektowanie Analiza Implementacja Start Testowanie Wdrożenie Testowanie Konserwacja eliminuje problemy związane z modelem kaskadowym kolejne iteracje rozszerzają wcześniejsze rozwiązania duże znaczenie ma właściwa wstępna ocena ryzyka realizacji projektu (C) Mariusz Kopeć, WEiP AGH,
63 Model spiralny Zalety nadaje się do dużych projektów eliminuje konieczność powrotu do wcześniejszych etapów pozwala szybko reagować na zmieniające się wymagania software powstaje już na wczesnym etapie Wady nie nadaje się do małych projektów kolejne iteracje mogą dezaktualizować wcześniejsze prace ostateczna postać systemu nie jest znana do późnych etapów realizacji projektu trudności w oszacowaniu czasu koniecznego na ukończenie trudności w oszacowaniu kosztów (C) Mariusz Kopeć, WEiP AGH,
64 Model przyrostowy Określenie wymagań Projekt ogólny Wybór funkcji przyrostu Projekt, implementacja i testy przyrostu Integracja przyrostu stanowi połączenie dwóch poprzednich modeli wyodrębnienie podstawowych składowych projektu wg modelu kaskadowego kolejne przyrosty realizowane wg modelu spiralnego (C) Mariusz Kopeć, WEiP AGH,
65 Model przyrostowy Zalety wymusza częsty kontakt z klientem nie trzeba od razu formułować pełnych wymagań pozwala na wczesne wykrywanie problemów opóźnienia pewnych fragmentów nie przenoszą się na całość obniża ryzyko projektu podstawowe funkcjonalności są dostępne od początku Wady trudności z wyodrębnieniem niezależnych funkcjonalności kolejne przyrosty nie mogą być duże dodatkowy koszt interfejsów zgodnych z docelowym systemem (C) Mariusz Kopeć, WEiP AGH,
66 Model z prototypem Określenie wymagań Budowa prototypu Weryfikacja prototypu przez klienta Pełne określenie wymagań zmniejsza ryzyko związane z niewłaściwym określeniem wymagań użytkownika w ramach prototypu ujmuje się funkcje trudne do określenia i mogące budzić wątpliwości (C) Mariusz Kopeć, WEiP AGH,
67 Model z prototypem Zalety prototyp jest łatwy do zmiany zwiększenie zrozumienia potrzeb klienta przez twórców systemu przedstawienie klientowi rozwiązania już na wczesnym etapie prototyp pozwala na redukcję kosztów wynikających z niezrozumienia z klientem prototyp umożliwia wczesne rozpoczęcie szkolenia po stronie klienta podstawowe funkcjonalności są dostępne od początku Wady możliwości nieporozumień z klientem wynikających z prezentacji rozwiązania wstępnego koszty związane z budową prototypu odrzuconego przez klienta (C) Mariusz Kopeć, WEiP AGH,
68 Projektowanie baz danych Tworzenie schematu relacyjnej bazy danych projektowanie diagramu związków encji wywiad z docelowymi użytkownikami bazy danych zbieranie i analizowanie informacji o wymaganiach przedstawienie wyników w postaci modelu danych transformacja diagramu związków encji w schemat relacyjnej bazy danych Oprogramowanie specjalistyczne narzędzie CASE (Computer Aided System Engineering) tworzenie diagramów związków encji transformacja do schematu RBD na przykład Workbench (C) Mariusz Kopeć, WEiP AGH,
69 Projektowanie baz danych - normalizacja Normalizacja proces upraszczania struktury danych tak, aby osiągnęła postać optymalną weryfikacja poprawności projektowanych struktur relacji dekompozycja na mniejsze schematy o pożądanych cechach usunięcie anomalii danych Anomalie danych redundancja (nadmiarowość) przechowywania tej samej informacji w kilku krotkach anomalia wprowadzania wprowadzenie pewnej informacji wymaga jednoczesnego wprowadzenia innej informacji anomalia modyfikacji modyfikacja informacji dokonywana jest w pewnych krotkach a w innych nie anomalia usuwania usunięcie części informacji powoduje utracenie innych informacji (C) Mariusz Kopeć, WEiP AGH,
70 Projektowanie baz danych - normalizacja Anomalie danych - przykład Sklep Adres Artykuł Cena Żabka ul. Czarnowiejska 37 masło 3.80 Lewiatan ul. Mazowiecka 28 masło 4.00 Jubilat ul. Głowackiego 30 mleko 2.50 Żabka ul. Czarnowiejska 37 mleko 2.70 redundancja adresy i nazwy sklepów występują wielokrotnie anomalia wprowadzania wprowadzenie artykułu wymaga wprowadzenia adresu sklepu anomalia modyfikacji zmiana adresu sklepu musi być wprowadzana we wszystkich krotkach anomalia usuwania usunięcie wszystkich artykułów danego sklepu powoduje usunięcie wszystkich danych sklepu (C) Mariusz Kopeć, WEiP AGH,
71 Projektowanie baz danych - dekompozycja Dekompozycja proces eliminowania anomalii przez podział atrybutów relacji wyjściowej R o schemacie (A 1,A 2,,A n ) między dwie relacje S i T o schematach (B 1,B 2,,B k ) i (C 1,C 2,,C l ) według następujących zasad: (A 1,A 2,,A n ) = (B 1,B 2,,B k ) (C 1,C 2,,C l ) krotki relacji S powstają przez pobranie wartości atrybutów z każdej krotki (A 1,A 2,,A n ) relacji R (rzutowanie). Jeżeli w ten sposób tworzymy powtarzające się krotki, to w relacji S zapisujemy tylko jedną ich kopię w analogiczny sposób tworzymy krotki relacji T Zasady dekompozycji zasada zachowania atrybutów zasada zachowania informacji zasada zachowania zależności funkcyjnych (C) Mariusz Kopeć, WEiP AGH,
72 Projektowanie baz danych - dekompozycja Zasada zachowania atrybutów w procesie dekompozycji muszą być uwzględnione wszystkie atrybuty żaden z nich nie może zostać pominięty Zasada zachowania informacji krotki w nowych relacjach muszą zawierać wszystkie informacje z kolumn relacji dekomponowanej Zasada zachowania zależności funkcyjnych w strukturach nowych tabel muszą być zachowane wszystkie zależności między danymi występujące w tabeli dekomponowanej Dekompozycja odwracalna relację pierwotną R można odzyskać przez złączenie naturalne relacji S i T Dekompozycja nieodwracalna złączenie naturalne nie daje relacji pierwotnej powodem jest niewłaściwie przeprowadzona dekompozycja (C) Mariusz Kopeć, WEiP AGH,
73 Projektowanie baz danych - dekompozycja R S T A B C A B 1 4 B C S T A B B C S T A B C Dekompozycja nieodwracalna (C) Mariusz Kopeć, WEiP AGH,
74 Projektowanie baz danych - dekompozycja R S T A B C A B 1 4 A C S T A B A C S T A B C Dekompozycja odwracalna (C) Mariusz Kopeć, WEiP AGH,
75 Dane wyjściowe Dane na fakturze: Numer faktury: 123/15 Data wystawienia: Numer klienta: 125 Nazwa klienta: Zakład Mechaniczny Tamech Adres klienta: Tarnów, ul. Fabryczna 5 Nr pozycji faktury: Kod towaru: SM210 PM210 NM210 Nazwa: śruba M10 podkładka M10 nakrętka M10 Cena jedn. zł/kg: Ilość kg: Wartość zł: Suma zł: 160 (C) Mariusz Kopeć, WEiP AGH,
76 123/ Zakład Mechaniczny Tamech Tarnów, ul. Fabryczna 4 Nr faktury Data wystawienia Nr klienta Nazwa klienta Adres klienta Nr pozycji Kod towaru Nazwa Cena Ilość Wartość Suma Tabela nieznormalizowana 1 SM210 śruba M PM210 podkładka M NM210 nakrętka M (C) Mariusz Kopeć, WEiP AGH,
77 Pierwsza postać normalna 1NF Relacja jest w pierwszej postaci normalnej jeżeli każdy atrybut niekluczowy jest funkcyjnie zależny od klucza głównego. Wnioski odnośnie 1NF: tabela posiada klucz wszystkie wartości kolumn muszą być atomowe (niepodzielne) kolumny nie mogą zawierać kolekcji wartości nawet w przypadku kolumn atomowych nie mogą występować powtarzające się grupy wartości 1NF dotyczy powtarzających się grup danych (C) Mariusz Kopeć, WEiP AGH,
78 Nr faktury Data wystawienia Nr klienta Nazwa klienta Adres klienta Nr pozycji Kod towaru Nazwa Cena Ilość Wartość Suma Tabela znormalizowana do 1NF 123/ Zakład Mechaniczny Tamech Tarnów, ul. Fabryczna 4 1 SM210 śruba M / Zakład Mechaniczny Tamech Tarnów, ul. Fabryczna 4 2 PM210 podkładka M / Zakład Mechaniczny Tamech Tarnów, ul. Fabryczna 4 3 NM210 nakrętka M (C) Mariusz Kopeć, WEiP AGH,
79 Tabela znormalizowana do 1NF # Numer faktury Data wystawienia Nr klienta Nazwa klienta Adres klienta # Numer pozycji Kod towaru Nazwa Cena Ilość Wartość Suma Klucz złożony zbudowany z dwóch atrybutów: numer faktury numer pozycji Dane są atomowe (nie dzielimy adresu) Występują zależności częściowe: data wystawienia numer klienta nazwa klienta adres klienta zależą tylko od numeru faktury (C) Mariusz Kopeć, WEiP AGH,
80 Druga postać normalna 2NF Relacja jest w drugiej postaci normalnej wtedy i tylko wtedy, gdy jest w pierwszej postaci normalnej i każdy atrybut niekluczowy, czyli nie należący do zadanego klucza, jest w pełni funkcyjnie zależny od klucza głównego. Wnioski odnośnie 2NF: tabela jest już w 1NF każda kolumna nienależąca do żadnego klucza potencjalnego jest całkowicie zależna od całego klucza głównego tabele powinny przechowywać informacje o tylko jednej "rzeczy", opisywaną w całości przez jej klucz główny tabela będąca w 1NF może nie być w 2NF tylko jeśli posiada złożony klucz główny (C) Mariusz Kopeć, WEiP AGH,
81 Tabela znormalizowana do 2NF # Numer faktury Data wystawienia Nr klienta Nazwa klienta Adres klienta Suma # Numer faktury # Numer pozycji Kod towaru Nazwa Cena Ilość Wartość Występują zależności tranzytywne: numer faktury nr klienta nazwa klienta numer faktury nr klienta adres klienta numer faktury,numer pozycji kod towaru nazwa numer faktury,numer pozycji kod towaru cena (C) Mariusz Kopeć, WEiP AGH,
82 Trzecia postać normalna 3NF Relacja jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy jest w drugiej postaci normalnej i każdy niekluczowy atrybut jest bezpośrednio, a nie przechodnio, zależny od klucza głównego. Wnioski odnośnie 3NF: tabela jest już w 2NF żadna informacja w kolumnie, która nie jest kluczem podstawowym, nie może zależeć od niczego innego, jak tylko od klucza podstawowego wszystkie kolumny nienależące do żadnego klucza potencjalnego są wzajemnie niezależne 3NF jest najwyższym poziomem wymaganym przez większość aplikacji (C) Mariusz Kopeć, WEiP AGH,
83 Tabela znormalizowana do 3NF # Numer faktury Data wystawienia Nr klienta Suma # Nr klienta Nazwa klienta Adres klienta # Numer faktury # Numer pozycji Kod towaru Ilość Wartość # Kod towaru Nazwa Cena wartość i suma nie muszą być w tabeli można je obliczyć na podstawie innych danych w widoku (C) Mariusz Kopeć, WEiP AGH,
84 Postać normalna Boyce'a-Codda BCNF Relacja jest w postaci normalnej Boyce'a-Codda wtedy i tylko wtedy, gdy wyznacznik każdej nietrywialnej zależności funkcyjnej jest nadkluczem. Wnioski odnośnie BCNF: tabela jest już w 3NF żaden atrybut nie może zależeć od wyznacznika niebędącego nadkluczem tabela będąca w postaci normalnej BCNF nie zawiera danych nadmiarowych nie każdą tabelę da się doprowadzić do postaci BCNF w praktyce zwykle poprzestajemy na 3NF (C) Mariusz Kopeć, WEiP AGH,
85 Czwarta postać normalna 4NF Relacja jest w czwartej postaci normalnej wtedy i tylko wtedy, gdy wyznacznik każdej nietrywialnej zależności wielowartościowej jest nadkluczem. Wnioski odnośnie 4NF: 4NF stanowi rozszerzenie BCNF na zależności wielowartościowe ponieważ zależności funkcyjne są również zależnościami wielowartościowymi, tabela będąca w 4NF jest już w BCNF w 4NF występuje tylko jedna nietrywialna zależność wielowartościowa w większości przypadków praktycznych taka postać nie jest wymagana (C) Mariusz Kopeć, WEiP AGH,
86 Piąta postać normalna 5NF Relacja jest w piątej postaci normalnej wtedy i tylko wtedy, gdy jest w postaci 4NF i nie zawiera zależności złączeniowych, czyli nie istnieje jej odwracalny rozkład na mniejsze tabele. Wnioski odnośnie 5NF: 5NF dotyczy sytuacji w której występują więcej niż dwie zależności wielowartościowe w większości przypadków praktycznych taka postać nie jest wymagana (C) Mariusz Kopeć, WEiP AGH,
87 Zależności funkcyjne atrybutów A B oznacza, że każdej wartości atrybutu A przyporządkowana jest jednoznacznie wartość atrybutu B. Zależność taka działa w jedną stronę, np. PESEL NAZWISKO ale nie NAZWISKO PESEL Zależności funkcyjne mogą dotyczyć zbiorów atrybutów: UCZELNIA,WYDZIAŁ NAZWISKO_DZIEKANA A 1,A 2,,A n B 1 A 1,A 2,,A n B 2 A 1,A 2,,A n B m A 1,A 2,,A n zbiór determinujący (wyznacznik) B 1,B 2,,B m zbiór zależny A 1,A 2,,A n B 1,B 2,,B m A 1,A 2,,A n jest kluczem głównym relacji R jeśli wszystkie pozostałe atrybuty są funkcyjne zależne od atrybutów klucza (C) Mariusz Kopeć, WEiP AGH,
88 Zależności funkcyjne atrybutów Aksjomaty Armstronga Założenie: A,B,C są podzbiorami atrybutów relacji R zwrotność jeżeli B A to A B (zależność trywialna) rozszerzenie jeżeli A B to A,C B,C przechodniość jeżeli A B i B C to A C Z aksjomatów tych wynikają następujące reguły Armstronga samookreślenie A B rozkład jeżeli A B,C to A B i A C suma jeżeli A B i A C to A B,C złożenie jeżeli A B i C D to A,C B,D (C) Mariusz Kopeć, WEiP AGH,
89 Zależności funkcyjne atrybutów Domknięcie zbioru atrybutów Niech dany będzie zbiór atrybutów A = (A 1,A 2,...,A n ) oraz zbiór zależności funkcyjnych F = (F 1,F 2,...,F n ). Domknięciem A + zbioru atrybutów A nad zbiorem zależności F nazywamy taki zbiór atrybutów B, w którym dla każdego atrybutu B i, należącego do pewnej relacji R spełniającej zależności F, spełniona jest zależność A 1,A 2,...,A n B i. Zbiór A + zawiera wszystkie atrybuty zależne funkcyjnie od zbioru atrybutów A (C) Mariusz Kopeć, WEiP AGH,
90 Algorytm wyznaczania domknięcia Wyznaczanie domknięcia zbioru atrybutów {A 1,A 2,...,A n } oznaczanego {A 1,A 2,...,A n } + 1. Z zależności trywialnej przyjmujemy, że domknięciem jest początkowy zbiór atrybutów, tzn.: {A 1,A 2,...,A n } + = {A 1,A 2,...,A n } 2. Przechodzimy przez wszystkie zależności funkcyjne i do domknięcia dodajemy wszystkie atrybuty stojące z prawych stron zależności wynikających z A 1,A 2,...,A n 3. Postępowanie powtarzamy tak długo jak to jest możliwe 4. Procedurę kończymy jeśli nie są już dodawane kolejne atrybuty (C) Mariusz Kopeć, WEiP AGH,
91 Algorytm wyznaczania domknięcia Przykład Relacja ma schemat R(A,B,C,D) i zbiór F zależności funkcyjnych: F: {A,B C, C D, D A} 1. {A} + = {A}, {B} + = {B}, {C} + = {C,D,A}, {D} + = {D,A} (nowa zależność C A) 2. {A,B} + = {A,B,C,D}, (nowa zależność A,B D) {A,C} + = {A,C,D}, (nowa zależność A,C D) {A,D} + = {A,D}, {B,C} + = {B,C,D,A}, (nowa zależności B,C D i B,C A) {B,D} + = {B,D,A,C}, (nowa zależności B,D A i B,D C) {C,D} + = {C,D,A}, (nowa zależność C,D A) (C) Mariusz Kopeć, WEiP AGH,
92 Algorytm wyznaczania domknięcia 3. {A,B,C} + = {A,B,C,D}, (nowa zależność A,B,C D) {A,B,D} + = {A,B,D,C}, (nowa zależność A,B,D C) {A,C,D} + = {A,C,D}, {B,C,D} + = {B,C,D,A}, (nowa zależność B,C,D A) 4. {A,B,C,D} + = {A,B,C,D} Klucze: {A,B}, {B,C}, {B,D} klucze kandydujące {A,B,C}, {A,B,D}, {A,B,C,D} nadklucze Domknięcie zbioru zależności funkcyjnych: F + : {A,B C, C D, D A, C A, A,B D, A,C D, B,C A, B,C D, B,D A, B,D C, C,D A, A,B,C D, A,B,D C, B,C,D A} (C) Mariusz Kopeć, WEiP AGH,
93 Równoważność pokrycia zbioru zależności Domknięcie zbioru zależności funkcyjnych F + jest to zbiór wszystkich zależności funkcyjnych, które można wyprowadzić z zależności należących do zbioru F Równoważność zbiorów zależności funkcyjnych Dwa zbiory zależności funkcyjnych E i F są równoważne jeśli ich domknięcia są takie same, czyli E + = F + Minimalne pokrycie zbioru zależności funkcyjnych F (baza minimalna relacji) jest to minimalny zbiór zależności funkcyjnych równoważny F (C) Mariusz Kopeć, WEiP AGH,
94 Baza minimalna relacji Jeżeli B jest minimalną bazą relacji, to zachodzą następujące warunki: 1. wszystkie zależności w zbiorze B mają jednoelementowe prawe strony 2. usunięcie dowolnej zależności z B powoduje, że B przestaje być bazą (nie jest już równoważne z F) 3. jeśli z dowolnej zależności z B usuniemy jakieś atrybuty z lewej strony zależności, to B przestaje być bazą Ustalenie bazy minimalnej jest podstawą definiowania poprawnych tablic (C) Mariusz Kopeć, WEiP AGH,
95 Algorytm znajdowania bazy minimalnej Dla zbioru zależności F szukamy minimalnej bazy G: 1. przyjmujemy, że G = F 2. wszystkie zależności funkcjonalne typu X A 1,A 2,,A n rozbijamy na zbiory zależności prostych: X A 1, X A 2,, X A n 3. sprawdzamy kolejno, czy po usunięciu dowolnego atrybutu z wyznacznika (tj. lewej strony) zależności dana zależność pozostanie zachowana. Jeżeli tak, to taki atrybut z wyznacznika usuwamy 4. usuwamy z G powtarzające się zależności (C) Mariusz Kopeć, WEiP AGH,
96 Przykład Algorytm znajdowania bazy minimalnej Relacja: R(A,B,C,D,E,F,G,H,I) Zbiór zależności F: 1. A,B C,D,E,F,G,H 2. A,C D,E 3. A C,D,E 4. B F,G 5. D I 6. B,F G Chcemy wyznaczyć minimalną bazę G (C) Mariusz Kopeć, WEiP AGH,
97 Algorytm znajdowania bazy minimalnej Rozkładamy zależności 1,2,3,4 na zależności proste 1. A,B C 2. A,B D 3. A,B E 4. A,B F 5. A,B G 6. A,B H 7. A,C D 8. A,C E 9. A C 10. A D 11. A E 12. B F 13. B G 14. D I 15. B,F G (C) Mariusz Kopeć, WEiP AGH,
98 Algorytm znajdowania bazy minimalnej Usuwamy zależności zbędne badamy zależności o wyznacznikach dłuższych od 1 1. zależność A,B C (1) jest zbędna, bo mamy A C (9) 2. zależność A,B D (2) jest zbędna, bo mamy A D (10) 3. zależność A,B E (3) jest zbędna, bo mamy A E (11) 4. zależność A,B F (4) jest zbędna, bo mamy B F (12) 5. zależność A,B G (5) jest zbędna, bo mamy B G (13) 6. zależność A,C D (7) jest zbędna, bo mamy A D (10) 7. zależność A,C E (8) jest zbędna, bo mamy A E (11) 8. zależność B,F G (15) jest zbędna, bo mamy B G (13) Zostają zależności: 6,9,10,11,12,13,14 Baza minimalna: G: {A,B H, A C, A D, A E, B F, B G, D I} (C) Mariusz Kopeć, WEiP AGH,
99 Algorytm dekompozycji do 3NF 1. wyznaczamy bazę minimalną relacji R 2. dla każdego wyznacznika tworzymy oddzielny schemat relacji, w którym wyznacznik jest kluczem, a pozostałe atrybuty są w bazie przez ten klucz wyznaczane 3. pozostałe atrybuty, które nie znalazły się w żadnej relacji utworzonej w drugim kroku, umieszczamy w nowym schemacie wszystkie relacje wynikowe są w 3NF dekompozycja zachowuje zależności dekompozycja jest odwracalna istnieje dla niej złączenie bezstratne (C) Mariusz Kopeć, WEiP AGH,
100 Algorytm dekompozycji do 3NF Rozważam relację R z poprzedniego przykładu R(A,B,C,D,E,F,G,H,I) Używam wyznaczonej poprzednio bazy minimalnej: G: {A,B H, A C, A D, A E, B F, B G, D I} Mamy 4 różne wyznaczniki, więc tworzę 4 relacje: R1(A,B,H) R2(A,C,D,E) R3(B,F,G) R4(D,I) (C) Mariusz Kopeć, WEiP AGH,
101 Projektowanie metodą modelowania danych Ustalenie potrzebnych encji Ustalenie atrybutów encji Identyfikowanie cech związków zachodzących między encjami stopień związku typ związku uczestnictwo Konwersja związków wieloznacznych (M:N) do postaci związków prostych Transformacja diagramu związków encji do modelu relacyjnego Implementacja bazy danych (np. SQL) (C) Mariusz Kopeć, WEiP AGH,
102 Transformacja modelu ERD w model relacyjny Transformacja encji prostych Transformacja hierarchii encji Transformacja związków 1:1 Transformacja związków 1:N Transformacja związków M:N Transformacja związków n-arnych (C) Mariusz Kopeć, WEiP AGH,
103 Transformacja encji prostych Dla każdej encji nie uczestniczącej w hierarchii tworzę relację o nazwie będącej nazwą encji w liczbie mnogiej Atrybuty encji przenosimy odpowiednio na atrybuty relacji uwzględniając odpowiednio ich typy Unikalny identyfikator encji przenosimy na klucz podstawowy relacji Obligatoryjność atrybutu encji przenosimy jako ograniczenie not null atrybutu relacji Opcjonalność atrybutu encji przenosimy jako własność null atrybutu relacji Pozostałe ograniczenia integralnościowe atrybutów encji przenosimy na ograniczenia integralnościowe atrybutów relacji (C) Mariusz Kopeć, WEiP AGH,
104 Transformacja hierarchii encji Transformacja do jednej relacji Tworzymy relację zawierającą atrybuty wspólne nadklasy, atrybuty specyficzne wszystkich podklas i atrybut określający typ specjalizacji (do jakiej podklasy dany obiekt należy) Wszystkim atrybutom specyficznym poszczególnych podklas nadajemy własność null Rozwiązanie stosujemy tylko wtedy, gdy podklasy różnią się między sobą minimalnie (np. pojedynczymi atrybutami), a wystąpienie nadklasy należy przynajmniej do jednej z podklas W przeciwnym razie w relacji może występować wiele wartości NULL (C) Mariusz Kopeć, WEiP AGH,
105 Transformacja do jednej relacji Osoba # PESEL Imię Nazwisko Adres Pracownik Nr pracownika Stanowisko Wydział Student Nr indeksu Kierunek Rok Osoba PESEL primary key Imię not null Nazwisko not null Adres not null Rodzaj_osoby not null Nr_pracownika Stanowisko Wydział Nr indeksu Kierunek Rok (C) Mariusz Kopeć, WEiP AGH,
106 Transformacja hierarchii encji Transformacja do dwóch relacji Dla każdej podklasy tworzymy relację zawierającą atrybuty podklasy oraz atrybuty nadklasy Rozwiązanie stosujemy tylko wtedy, gdy podklasy różnią się między sobą znacznie, a wystąpienie nadklasy należy przynajmniej do jednej z podklas Transformacja taka prowadzi to utraty korzyści wynikających ze stosowania hierarchii Przetwarzanie jest wydajne ze względu na brak konieczności robienia złączeń (C) Mariusz Kopeć, WEiP AGH,
107 Transformacja do dwóch relacji Osoba # PESEL Imię Nazwisko Adres Pracownik Nr pracownika Stanowisko Wydział Student Nr indeksu Kierunek Rok Student Nr_indeksu primary key Kierunek not null Rok not null PESEL not null Imię not null Nazwisko not null Adres not null Pracownik Nr_pracownika primary key Stanowisko not null Wydział not null PESEL not null Imię not null Nazwisko not null Adres not null (C) Mariusz Kopeć, WEiP AGH,
108 Transformacja hierarchii encji Transformacja do trzech relacji Tworzymy jedną relację zawierającą atrybuty nadklasy (wspólne) i atrybut określający typ podklasy Dla każdej podklasy tworzymy relację zawierającą jej atrybuty oraz klucz obcy nadklasy Rozwiązanie daje najlepsze wyniki z punktu widzenia normalizacji Rozwiązanie jest korzystne jeśli podklasy mają wiele różniących się atrybutów Przetwarzanie może być mało wydajne przy dużej ilości złączeń (C) Mariusz Kopeć, WEiP AGH,
109 Transformacja do dwóch relacji Osoba # PESEL Imię Nazwisko Adres Pracownik Nr pracownika Stanowisko Wydział PESEL Imię Nazwisko Adres Nr_indeksu Kierunek Rok PESEL Osoba Student primary key not null not null not null primary key not null not null foreign key Student Nr indeksu Kierunek Rok Pracownik Nr_pracownika primary key Stanowisko not null Wydział not null PESEL foreign key (C) Mariusz Kopeć, WEiP AGH,
110 Atrybut a encja Atrybut powinien być modelowany jako encja jeśli jest istotną "rzeczą" która posiada własne atrybuty i związki Atrybuty mają opisywać encje przy których są umieszczone a nie związki między encjami Nazwy atrybutów nie powinny zawierać w sobie nazw encji Niektóre dane można modelować na wiele sposobów wymiennie używając, encji, atrybutów i związków. Na przykład możemy stworzyć encję kupno z atrybutami kupujący, sprzedający i cena, albo dwie encje sprzedający i kupujący połączone związkiem kupno Związki posiadające atrybuty są modelowane jako encje Wybierany sposób modelowania powinien być optymalny z punktu widzenia projektowanego systemu (C) Mariusz Kopeć, WEiP AGH,
111 Kontrola encji Każda instancja musi być wyraźnie odróżnialna od innych instancji tej encji Każda encja powinna być związana przynajmniej jednym związkiem Każda encja powinna posiadać przynajmniej dwa atrybuty Encja podstawowa oznacza byty mające zdolność samodzielnego istnienia. Na diagramie z encji podstawowej wychodzą wyłącznie związki opcjonalne Encja zależna (słaba) oznacza byty zależne, mogące istnieć wyłącznie w powiązaniu z innymi encjami. Na diagramie z encji zależnej wychodzi co najmniej jeden związek obligatoryjny. Encje zależne są identyfikowane przez związki z innymi encjami (C) Mariusz Kopeć, WEiP AGH,
112 Transformacje związków encji Kombinacje związków 1:1 Kombinacje związków 1:N Kombinacje związków M:N mało prawdopodobna rzadka rzadka mało prawdopodobna najczęściej występująca bardzo rzadka rzadka mało prawdopodobna dość częsta dość częsta (C) Mariusz Kopeć, WEiP AGH,
113 Szczegóły związków encji Związek jedno-jednoznaczny obustronnie obowiązkowy Państwo Stolica Związek praktycznie nieprawdopodobny Zwykle błędny Prawie zawsze przedstawia dwa punkty widzenia na ten sam byt (C) Mariusz Kopeć, WEiP AGH,
114 Szczegóły związków encji Związek jedno-jednoznaczny obustronnie opcjonalny Wspólnota Kamienica Związek występujący rzadko Oba byty mogą istnieć samodzielnie Związek łączy w parę dwa samodzielne byty (C) Mariusz Kopeć, WEiP AGH,
115 Szczegóły związków encji Związek jedno-jednoznaczny opcjonalno-obowiązkowy Osoba Dokument Związek występujący rzadko Połączenie w parę bytu niezależnego i zależnego Może przedstawiać zestaw opcjonalnych atrybutów wydzielonych w postaci encji zależnej (C) Mariusz Kopeć, WEiP AGH,
116 Szczegóły związków encji Związek jednoznaczny obustronnie opcjonalny Klub Zawodnik Związek występujący rzadko Oba byty mogą istnieć samodzielnie Pomiędzy bytami istnieje zależność hierarchiczna (C) Mariusz Kopeć, WEiP AGH,
117 Szczegóły związków encji Związek jednoznaczny obustronnie obowiązkowy Faktura Pozycja Mało prawdopodobny Jeżeli występuje, opisuje obiekt złożony o strukturze hierarchicznej (C) Mariusz Kopeć, WEiP AGH,
118 Szczegóły związków encji Związek jednoznaczny obowiązkowo-opcjonalny Pociąg Wagon Związek występujący bardzo rzadko Pomiędzy bytami istnieje zależność hierarchiczna Tylko byty podrzędne z punktu widzenia hierarchii mogą istnieć samodzielnie (C) Mariusz Kopeć, WEiP AGH,
119 Szczegóły związków encji Związek jednoznaczny opcjonalno-obowiązkowy Klient Konto Związek występujący często Pomiędzy bytami istnieje zależność hierarchiczna Tylko byt nadrzędny z punktu widzenia hierarchii może istnieć samodzielnie (C) Mariusz Kopeć, WEiP AGH,
120 Szczegóły związków encji Związek rekurencyjny jedno-jednoznaczny obowiązkowy lub opcjonalny żona Osoba mąż Związek występujący bardzo rzadko Oznacza połączenie w pary bytów tej samej encji (C) Mariusz Kopeć, WEiP AGH,
121 Szczegóły związków encji Związek rekurencyjny jednoznaczny opcjonalny podwładny Pracownik szef Związek występujący często Określa hierarchię bytów tej samej encji (C) Mariusz Kopeć, WEiP AGH,
122 Transformacja związków binarnych 1:1 Związek obustronnie obowiązkowy Unikalny niepusty klucz obcy umieszczony w relacji o mniejszej przewidywanej liczbie krotek Mąż Żona Mężowie Żony PESEL primary key PESEL primary key Imię not null Imię not null Nazwisko not null Nazwisko not null PESEL_ż not null foreign key references Żony(PESEL) (C) Mariusz Kopeć, WEiP AGH,
123 Transformacja związków binarnych 1:1 Związek jednostronnie obowiązkowy Unikalny niepusty klucz obcy umieszczony w relacji o mniejszej przewidywanej liczbie krotek Auto Pracownik Nr_rej Marka PESEL_p Auta primary key not null not null foreign key (PESEL_p) references Pracownicy(PESEL) Pracownicy PESEL primary key Imię not null Nazwisko not null (C) Mariusz Kopeć, WEiP AGH,
124 Transformacja związków binarnych 1:N Związek obustronnie obowiązkowy W relacji po stronie "wiele" dodajemy niepusty klucz obcy do relacji obowiązkowej Grupa Student Nr Kierunek Rok Grupy primary key not null not null Tak samo dla Studenci PESEL primary key Imię not null Nazwisko not null Nr not null foreign key (Nr) references Grupy(Nr) (C) Mariusz Kopeć, WEiP AGH,
125 Transformacja związków binarnych 1:N Związek jednostronnie obowiązkowy W relacji po stronie "wiele" dodajemy opcjonalny klucz obcy do relacji obowiązkowej Pracownik Doktorant Pracownicy Nr_p primary key Wydział not null Stanowisko not null Doktoranci Nr_indeksu primary key Imię not null Nazwisko not null Nr_p foreign key (Nr_p) references Pracownicy(Nr_p) Tak samo dla (C) Mariusz Kopeć, WEiP AGH,
126 Transformacja związków binarnych M:N Tworzymy nową relację Q reprezentującą związek między relacjami R i S (odpowiada encji słabej) W Q dodajemy klucze obce do relacji R i S Student Koło naukowe Studenci Nr_i primary key Imię not null Nazwisko not null Koła Nr_k primary key Nazwa not null Uczestnictwa Nr_i not null? Nr_k not null? unique (Nr_i,Nr_k) foreign key (Nr_i) references Studenci(Nr_i) foreign key (Nr_k) references Koła(Nr_k) (C) Mariusz Kopeć, WEiP AGH,
127 Transformacja związków unarnych 1:1 Związek obowiązkowy lub opcjonalny Do relacji dodajemy klucz obcy (not null lub null) wskazujący na klucz podstawowy tej samej relacji Student studenci tworzą zespoły dwuosobowe, ale osoby bez pary pracują same Studenci Nr_ind primary key Imię not null Nazwisko not null Para not null? foreign key (Para) references Studenci(Nr_ind) (C) Mariusz Kopeć, WEiP AGH,
128 Transformacja związków unarnych 1:N Związek opcjonalny Do relacji dodajemy klucz obcy opcjonalny wskazujący na klucz podstawowy tej samej relacji (not null nie możliwe) Pracownik pracownicy mają przełożonego Pracownicy Nr_prac primary key Imię not null Nazwisko not null Szef foreign key (Szef) references Pracownicy(Nr_prac) (C) Mariusz Kopeć, WEiP AGH,
129 Transformacja związków n-arnych Dla relacji R 1,R 2,,R n będących w związku n-arnym tworzymy relację Q zawierającą klucze obce wskazujące na klucze główne relacji R i. Jej kluczem głównym jest złożenie wszystkich kluczy obcych. Nr_ind Imię Nazwisko Nr_prz Nazwa Nr_wyk Imię Nazwisko Studenci primary key not null not null Przedmioty primary key not null Wykładowcy primary key not null not null Nr_ind Nr_prz Nr_wyk Egzamin student zdaje egzamin z przedmiotu u wykładowcy not null not null not null Egzaminy primary key (Nr_ind,Nr_prz,Nr_Wyk) foreign key (Nr_ind) references Studenci(Nr_ind) foreign key (Nr_prz) references Przedmioty(Nr_prz) foreign key (Nr_wyk) references Wykładowcy(Nr_wyk) (C) Mariusz Kopeć, WEiP AGH,
130 Workbench (C) Mariusz Kopeć, WEiP AGH,
131 Workbench (C) Mariusz Kopeć, WEiP AGH,
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,
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
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ść.
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
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
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
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
Modelowanie danych, projektowanie systemu informatycznego
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym
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
PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 5. Modelowanie danych 1 Etapy tworzenia systemu informatycznego Etapy tworzenia systemu informatycznego - (według CASE*Method) (CASE Computer Aided Systems Engineering ) Analiza wymagań
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
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
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
1 Projektowanie systemu informatycznego
Plan wykładu Spis treści 1 Projektowanie systemu informatycznego 1 2 Modelowanie pojęciowe 4 2.1 Encja....................................... 5 2.2 Własności.................................... 6 2.3 Związki.....................................
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
INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji
Modelowanie danych. Model związków-encji Plan wykładu Wprowadzenie do modelowania i projektowania kartograficznych systemów informatycznych Model związków-encji encje atrybuty encji związki pomiędzy encjami
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
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
Program wykładu. zastosowanie w aplikacjach i PL/SQL;
Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,
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,
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
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
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
Transformacja modelu ER do modelu relacyjnego
Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)
Pojęcie bazy danych. Funkcje i możliwości.
Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE
PLAN WYKŁADU Modelowanie logiczne Transformacja ERD w model relacyjny Odwzorowanie encji Odwzorowanie związków Odwzorowanie specjalizacji i generalizacji BAZY DANYCH Wykład 7 dr inż. Agnieszka Bołtuć GŁÓWNE
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
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
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
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
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
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
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
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
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
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
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
SZKOLENIE: Administrator baz danych. Cel szkolenia
SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami 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
Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000
Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
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
mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)
1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Zaliczenie wykładu -
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.
Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL
Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania
Program nauczania. Systemy baz danych. technik informatyk 351203
Program nauczania Systemy baz technik informatyk 351203 Treści nauczania Lp. Temat Liczba godzin Efekty kształcenia 1. Zapoznanie z pojęciem baz 53 1. Pojęcie bazy podstawowe definicje 2 PKZ(E.b)11 2.
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
FUNKCJE SZBD. ZSE - Systemy baz danych 1
FUNKCJE SZBD ZSE - Systemy baz danych 1 System zarządzania bazami danych System zarządzania bazami danych (SZBD, ang. DBMS) jest zbiorem narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych
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
Bazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
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
K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU
(pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma
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
Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret
Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków
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
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
Bazy danych - wykład wstępny
Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,
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
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
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
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
Wykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
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
Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków
Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.
PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!
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)
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
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
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,
BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH model związków encji Opracował: dr inż. Piotr Suchomski Świat rzeczywisty a baza danych Świat rzeczywisty Diagram związków encji Model świata rzeczywistego Założenia, Uproszczenia, ograniczenia
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
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
Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie warstwy danych Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej
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,
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
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
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
Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 6 Model relacyjny danych projektowanie relacyjnych baz danych, model logiczny i relacyjny, zastosowanie Oracle SQL Developer Data
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba
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
PRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Pojęcie systemu baz danych
Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)
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
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
ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH
ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH ZSE - Systemy baz danych 2 rzeczywistość uzyskanie od użytkowników początkowych informacji i wymagań dotyczących przetwarzania danych analiza
Projektowanie baz danych
Projektowanie baz danych Etapy procesu projektowania BD Określenie celów, jakim ma służyć baza danych (w kontakcie z decydentem z firmy zamawiającej projekt). Sprecyzowanie zakresu dostępnych danych, kategorii
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
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
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
Bazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność
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
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
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
2010-10-06 ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO
ORGANIZACJA ZAJĘĆ Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 30 godzin wykładu oraz 30 godzin laboratorium Konsultacje: czwartek 10:15-12:00
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
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,
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
S y s t e m y. B a z D a n y c h
S y s t e m y B a z D a n y c h Wykład na przedmiot: Bazy danych Studia zaoczne i podyplomowe UAM Anna Pankowska aniap@amu.edu.pl W y k ł a d I Temat: Relacyjne bazy danych Plan wykładu: - cel stosowania
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