Relační databázové systémy. T1 Relační databázov zové systémy



Podobné dokumenty
C8 Relační databáze. 1. Datový model

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Databázové systémy. Ing. Radek Holý

Databázové systémy. Přednáška 1

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Databázové systémy trocha teorie

Hierarchický databázový model

Databázové systémy. Vztahy a relace. 3.přednáška

Úvod do databázových systémů. Lekce 1

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Úvod do databázových systémů

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Databáze. Logický model DB. David Hoksza

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Databázové systémy BIK-DBS

Analýza a modelování dat 3. přednáška. Helena Palovská

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Úvod do databázových systémů 6. cvičení

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

8.2 Používání a tvorba databází

Relační databázové systémy (3. část)

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Konceptuální modelování. Pavel Tyl

5. Formalizace návrhu databáze

Střední průmyslová škola Zlín

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

5. Formalizace návrhu databáze

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Databáze I. Přednáška 2

10. blok Logický návrh databáze

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Databáze I. 1. přednáška. Helena Palovská

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Databáze I. 4. přednáška. Helena Palovská

Data v informačních systémech

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Úvod do databázových systémů

Otázka č. 1 (bodů za otázku: 4)

5. POČÍTAČOVÉ CVIČENÍ

Unifikovaný modelovací jazyk UML

RELACE, OPERACE. Relace

Access Tabulka letní semestr 2013

J. Zendulka: Databázové systémy 4 Relační model dat 1

DBS Konceptuální modelování

4IT218 Databáze. 4IT218 Databáze

Databáze v MS ACCESS

Úvod do databázových systémů. Ing. Jan Šudřich

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Relační model dat (Codd 1970)

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Datové modelování II

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Relační databáze a povaha dat

Úvod do databázových systémů

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

UNIVERZITA PALACKÉHO V OLOMOUCI

Databáze II. 1. přednáška. Helena Palovská

Databázové systémy. Cvičení 2

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

4. Základy relačních databází, logická úroveň návrhu

Základní pojmy teorie množin Vektorové prostory

Informační systémy ve zdravotnictví. 6. cvičení

Terminologie v relačním modelu

Databázové a informační systémy

Český institut pro akreditaci, o.p.s. Ing. Milan Badal

Jiří Mašek BIVŠ V Pra r ha

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Popisné systémy a databáze

4IT218 Databáze. 4IT218 Databáze

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

RELAČNÍ DATABÁZE ACCESS

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

1 Báze a dimenze vektorového prostoru 1

Databázové systémy Cvičení 5.2

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Přednáška č. 11 PRODEJNÍ ČINNOST PODNIKU doc.ing. Roman ZámeZ

Relace x vztah (relationship)

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

TECHNICKÁ DOKUMENTACE

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Databázové systémy BIK-DBS

Michal Krátký, Miroslav Beneš

Použití databází na Webu

Databázové a informační systémy Jana Šarmanová

DATOVÉ MODELOVÁNÍ ER MODEL

Transkript:

C1 T1 Relační databázov zové systémy Relační databázové systémy (1. část) 1. Základní pojmy 2. Struktura DBS 3. Vztahy a relace 4. Datová integrita

2 Proč používat DBS Základn kladní pojmy Poskytuje rychlejší přístup k datům než soubory. Umožň žňuje přímý přístupp stup k datům. Má zabudovaný mechanismus pro paralelní přístupstup k datům. Má zabudovaný systém m uživatelských u práv. Umožň žňuje pomocí dotazů snadno vybrat množiny dat vyhovující zadaným kritéri riím.

3 Základní pojmy Základn kladní pojmy Databáze (DB) Určit itá uspořádan daná množina dat uložen ená na paměť ěťovém m médiu m (počíta tač,, server). evidence knih, sklad stavebnin, studijní agenda, Systém řízení báze dat (SŘBD) Integrovaný softwarový prostředek pro řízení databází. Rozsáhl hlé Microsoft SQL Server, Sybase SQL Server, mysql, PostgreSQL, Interbase, Oracle,, DB2, Informix, Ingres. Malé dbase,, Paradox, FoxPro, Microsoft Access. Poskytuje prostředky pro definování dat, ukládání,, změnu, vymazání a vyhledání dat. Zajišťuje bezpečnost systému a správu přístupových p práv. Databázový systém m (DBS) Spojení databáze a systému řízení báze dat.

4 Relační databázový systém Základn kladní pojmy Databázový systém m založený na relačním m modelu dat (RMD), relační algebře e (RA). Relační model dat definuje způsob reprezentace dat (struktura dat), způsoby jejich ochrany (integrita dat), operace prováděné nad daty (manipulace s daty).

5 Základn kladní pojmy Relační algebra Dotazovací jazyk pro práci s relacemi (tabulkami). Operace Množinov inové: : sjednocení,, průnik, rozdíl, kartézský součin. Další ší: : projekce (výběr r sloupců),, selekce (výběr řádků), spojení (spojení tabulek). Databázov zové operace vyhledávání (realizuje RA),, vkládání,, rušen ení a modifikace.

6 Charakteristika RDBS Základn kladní pojmy Vešker kerá data se pomyslně dají reprezentovat v pravidelně uspořádaných strukturách s řádky a sloupci nazývaných relace. Všechny hodnoty jsou skalárn rní. V každé konkrétn tní pozici řádku a sloupce dané relace se nachází právě jedna hodnota. Operace se provádějí vždy nad celou relací a jejich výsledkem je opět t jiná celá relace (tzv. uzávěr).

7 Komponenty relace Záhlaví Atribut Vektor hodnot Základn kladní pojmy Tělo Každý řádek je n-rozměrným rným vektorem. Popisek atributu název_atributu:doména. Každý řádek relace musí mít jednoznačnou nou identifikaci. Relace nesmí obsahovat opakované záznamy. znamy.

8 Základn kladní pojmy Tělo relace neuspořádan daná množina nula nebo více v vektorů hodnot. Každý prvek množiny je podle definice jedinečný ný. Tabulka je současn asně relací,, když každý její řádek dek mám jednoznačnou nou identifikaci, neobsahuje opakované záznamy znamy (2 nebo více v stejných řádků).

9 Datový model Základn kladní pojmy Myšlenkový (pojmový) popis modelování reáln lného světa. Cílem je vytvořit obraz reality nezávislý na pozdější ším m způsobu implementace. Vyjadřuje se pomocí entit, atributů, domén n (oborů hodnot), vztahů.

10 Entita Základn kladní pojmy Součást reáln lného světa, o nížn potřebujeme uchovávat vat nějakn jaké informace. Osoba, místo, m věc, v událost, myšlenka, Sestavením m seznamu entit zahajujeme návrh n datového modelu. Použit ití podstatných jmen a sloves při p i popisu reality Zákazníci kupují výrobky. Dodavatelé prodávaj vají výrobky. Entity Zaměstnanci vyrábějí výrobky.

11 Atributy Základn kladní pojmy Vlastnosti popisující entity. Příklady entita Zakaznik kód, jméno, příjmenp jmení,, adresa, telefon; entita Vyrobek kód, název, n dodavatel, cena; entita Objednavka kód, datum, položka, množstv ství. Zakaznik KodZak Jmeno Prijmeni Adresa Telefon

12 Domény Základn kladní pojmy Definice domény (oboru hodnot) Popisuje typ dat představujp edstavujících ch daný atribut. Obor hodnot Množina všech v přípustných p pustných platných hodnot, které smí určitý atribut obsahovat. Nezaměň ěňovat s datovým typem! číslo (datový typ) věk k (doména); vzdělání příjmení stejný datový typ (text), různé domény (Ing., MUDr. Novák, Sladká).

13 Vztahy Základn kladní pojmy Definují se mezi entitami. Z tvrzení Zákazníci kupují výrobky vyplývá existence jistého vztahu mezi entitami Zákazníci a Výrobky. Entity zapojené do vztahu účastníci. Počet účastníků vyjadřuje stupeň vztahu. Vztah mezi dvěma libovolnými entitami jedna k jedné, jedna k vícev ce, více k vícev ce.

14 Diagramy entit a vztahů Základn kladní pojmy Zobrazení modelu entit a vztahů. Označen ení: ER diagramy Symboly entity atributy vztahy (Entity Relationship Diagrams). jedna více nula nula nebo jedna nula nebo více jedna nebo více nula, jedna nebo více

15 ER diagram (příklad) Základn kladní pojmy Zakaznik CisloObjednavky CisloProdejce DatumObjednavky Objednavka Zaměstnanec vytvoří objednávku Zamestnanec Zaměstnanec hraje fotbal FotbaloveMuzstvo CisloZamestnance Titul IDZamestnance PoziceVMuzstvu Jmeno Prijmeni

16 ER diagram (relační formát, příklad) Základn kladní pojmy PK Objednavka CisloObjednavky Zakaznik CisloProdejce DatumObjednavky Zamestnanec Zamestnanec FK CisloZamestance PK CisloZamestnance PK IDZamestnance Titul PoziceVMuzstvu Jmeno Prijmeni

17 Struktura DBS Struktura databázových systémů Úkol Zabezpečit, že e model bude schopen odpovědět t na jakoukoli rozumně položenou otázku. Cíl Minimalizace veškerých redundancí a problémů s nimi spojených. Normalizace Jednotlivé normáln lní formy specifikují pro strukturu relací určit itá pravidla.

18 Bezztrátová dekompozice Struktura databázových systémů Relace v relačním m modelu spojujeme prostřednictv ednictvím propojení atributů. Princip bezztrátov tové dekompozice Při i vytvářen ení plně normalizovaného datového modelu odstraňujeme redundance, přičemp emž rozdělujeme původní relace tak, abychom nové relace mohli zpětn tně spojit bez ztráty ty informace.

Nenormalizovaná relace Normalizované relace relace Ucastnici relace Skoleni 19 Struktura databázových systémů

20 Kandidátní a primární klíče Struktura databázových systémů U každé relace musí existovat určit itá kombinace atributů jednoznačně identifikující každý jednotlivý vektor hodnot. Tato množina jednoho nebo více atributů se nazývá kandidátn tní klíč. Relace můžm ůže e mít m t i více v než jeden kandidátn tní klíč. Jednoznačnou nou identifikaci jednotlivých vektorů hodnot musí definovat vždy v každý z nich. Kandidátn tní klíč musí být schopen v jakémkoli daném okamžiku jednoznačně identifikovat všechny v možné vektory hodnot.

Tento atribut není kandidátním klíčem! 21 Struktura databázových systémů

22 Struktura databázových systémů Každá relace musí mít t alespoň jeden kandidátn tní klíč. Kandidátn tní klíče e se skládaj dají z jediného atributu (jednoduchý( klíč), z více atributů (složený klíč). Kandidátn tní klíč musí být ireducibilní (nerozložitelný). Jakákoliv koliv podmnožina této t to množiny klíčů již nevyjadřuje jednoznačnou nou identifikaci.

23 Struktura databázových systémů Atribut Číslo kategorie je kandidátním klíčem. Množina atributů {Číslo kategorie, Název kategorie} není kandidátním klíčem, ačkoliv je jedinečná. Atribut Název kategorie je totiž zbytečný.

24 Struktura databázových systémů Někdy (ne přílip liš často) může e mít m t jedna relace i několik n možných kandidátn tních klíčů čů. Bývá zvykem stanovit jeden z kandidátn tních klíčů za primárn rní klíč a ostatní považovat ovat za náhradní (alternativní) klíče. Pokud je jediný možný kandidátn tní klíč příliš těžkopádný (mnoho atributů nebo je rozsáhlý) hlý), můžeme pro primárn rní klíč použít t speciáln lní datový typ vytvoříme umělé klíče s jednoznačnými nými hodnotami, vygenerovanými systémem.

25 Funkční závislost Struktura databázových systémů Je-li v dané entitě mezi atributem A a atributem B funkční závislost, pak hodnota atributu A určuje uje hodnotu atributu B. Zapisujeme A B, čteme A funkčně určuje uje B. Relace na snímku 23: Každý vektor hodnot se stejnou hodnotou množiny {Číslo kategorie} má stejnou i hodnotu množiny {Název kategorie, Popis}. Atribut Číslo kategorie funkčně určuje uje množinu {Název kategorie, Popis} (množina je na atributu funkčně závislá).

{Číslo kategorie} {Název kategorie, Popis} Název kategorie Číslo kategorie Popis 26 Struktura databázových systémů

27 Normalizace Struktura databázových systémů Postup, na jehož konci vytvoříme množinu relací, splňuj ující jistou množinu vlastností. Nenormalizovaná relace Relace v 1NF Výběr primárního klíče Odstranění opakovaných atributů a atributů s násobnými hodnotami Relace v 2NF Odstranění částečně závislých atributů Relace v 3NF Odstranění tranzitivně závislých atributů Aplikace dalších normálních forem (?) Plně normalizovaná relace

28 Potřeba normalizace Struktura databázových systémů Nenormalizované relace znamenají určit ité problémy projevující se při p i pokusu o aktualizaci dat. Tyto problémy se označuj ují výrazem anomálie lie. Důvodem vodem normalizace relací je odstranění anomáli lií v datech. Anomálie při p i vkládání. Anomálie při p i odstraňov ování. Anomálie při p i aktualizaci.

Kritéria pro výběr primárního klíče 29 Struktura databázových systémů Pokud je k dispozici jen jeden kandidátn tní klíč, vybereme jej. Vybereme ten kandidátn tní klíč,, u kterého je změna hodnoty nejméně pravděpodobn podobná. Změna hodnoty PK po zápisu z dat do relací je vždy v komplikovaná,, protože e PK můžm ůže e být v roli FK v jiných relacích. ch. Hodnoty umělých klíčů jsou téměřt vždy méněm náchylné ke změnám m než klíče e přirozenp irozené. Vybereme nejjednodušší kandidátn tní klíč. Je složen z nejmenší šího počtu atributů. Vybereme nejkratší kandidátn tní klíč. Týká se čistě efektivity zpracování. Významná úspora místa, m pokud PK je v roli FK v jiných relacích. ch.

30 První normální forma (1NF) Struktura databázových systémů Charakteristika tabulkový formát, žádné opakované skupiny, určen ení primárn rního klíče e (PK). Kroky 1. Odstranění opakovaných skupin. 2. Určen ení primárn rního klíče e (PK). 3. Určen ení všech závislostz vislostí.

31 Příklad Struktura databázových systémů Nenormalizovaná relace CisloLetadla kandidátn tní klíč,, ale obsahuje prázdn zdné hodnoty. Nekonzistentní data a anomálie: transportní dopravní, anomálie při p i aktualizaci, anomálie při p i vkládání, anomálie při p i odstraňov ování.

Tabulkové uspořádání 32 Struktura databázových systémů Odstranění opakovaných atributů a atributů s násobnými n hodnotami. Určen ení primárn rního klíče. Relace v 1NF

33 Struktura databázových systémů Určen ení všech závislostz vislostí. Diagram závislostz vislostí PK: {CisloLetadla, CisloPilota} CisloLetadla NazevLetadla částečná závislost CisloPilota PK: {CisloPilota} CisloPilota JmenoPilota PrijmeniPilota TridaLetu tranzitivní závislost částečná závislost CenaZaLetovouHodinu LetoveHodiny

34 Druhá normální forma (2NF) Struktura databázových systémů Charakteristika 1NF, žádné částečné závislosti. Kroky 1. Oddělen lení kandidátn tních klíčů čů. 2. Přiřazení závislých atributů klíčů čům. 3. Oprava diagramu závislostz vislostí.

35 Opravený diagram závislostí Struktura databázových systémů CisloLetadla CisloPilota NazevLetadla TridaLetu CenaZaLetovouHodinu tranzitivní závislost CisloLetadla CisloPilota LetoveHodiny CisloPilota JmenoPilota PrijmeniPilota

36 Třetí normální forma (3NF) Struktura databázových systémů Charakteristika 2NF, žádné tranzitivní závislosti. Kroky 1. Určen ení nových klíčů čů. 2. Určen ení závislých atributů. 3. Odstranění závislých atributů z tranzitivních závislostz vislostí. 4. Oprava diagramu závislostz vislostí.

37 Opravený diagram závislostí Struktura databázových systémů CisloLetadla NazevLetadla CisloLetadla TridaLetu TridaLetu CenaZaLetovouHodinu CisloLetadla CisloPilota LetoveHodiny CisloPilota JmenoPilota PrijmeniPilota

38 Terminologie Vztahy a relace Entity svázan zané určitým vztahem se nazývají účastníky vztahu. Počet účastníků je stupeň vztahu. Binárn rní vztahy vztahy o dvou účastnících ch (přev evážná většina vztahů). Unárn rní vztahy vztah o jednom účastníkovi, tj. účastník k svázaný sám s se sebou (běž ěžné). Ternárn rní vztahy vztahy o třech t účastnících ch (někdy) kdy).

39 Vztahy a relace Klasifikace vztahů a entit do nich zapojených úplná nebo částečná účast, povinná nebo volitelná entita, slabá nebo silná entita. Typ účasti entity závisz visí na tom, jestli můžm ůže e entita existovat i bez účasti ve vztahu. Příklad klad entity Zakaznik a Objednavka Účast ast entity Zakaznik v jejich vzájemn jemném m vztahu je jen částečná, protože e informace o zákaznz kazníkovi kovi můžm ůžeme zadat i bez toho, aby musel podat první objednávku. Entita Objednavky vykazuje úplnou účast, protože e objednávku můžm ůže podat pouze konkrétn tní zákazník. k. Zakaznik částečná účast, volitelná entita, silná entita. Objednavka úplná účast, povinná entita, slabá entita.

40 Vztahy a relace Instance entity jeden konkrétn tní výskyt dané entity. Např.. zákaznz kazník k Josef Novák k je jednou instancí entity Zakaznik. Kardinalita vztahu maximální počet vztahů daného typu, kterých se můžm ůže účastnit jedna entita. Obecné typy kardinality jedna k jedné, jedna k více, v více k více. v

41 Modelování vztahů Vztahy a relace Je-li mezi dvěma entitami vztah, musíme me jej vhodně namodelovat. Zahrneme příslup slušné atributy z jedné relace (primárn rní relace) i do druhé relace (cizí relace). Objednavky CisloObjednavky KK KodZakaznika DatumObjednavky DodatDne RozpisObjednavek CisloObjednavky FK CisloVyrobku JednotkovaCena Mnozstvi Sleva

42 Vztahy a relace Volíme takové atributy, které jednoznačně identifikují primárn rní entitu. Do cizí relace doplníme atributy tvořící kandidátn tní klíč primárn rní relace. Opakované atributy v cizí relaci cizí klíč (foreign foreign key,, FK). Relace Objednavky je primárn rní relací. Do relace RozpisObjednavek jsme doplnili atribut CisloObjednavky,, který je kandidátn tním m klíčem relace Objednavky. Relace RozpisObjednavek je cizí relací, CisloObjednavky je cizím m klíčem relace RozpisObjednavek.

43 Vztahy typu jedna k jedné Vztahy a relace Každou libovolnou instanci první entity můžeme spojit pouze s jedinou instancí druhé entity, a naopak každou libovolnou instanci druhé entity můžm ůžeme spojit pouze s jedinou instancí první entity. Manžel Manželka Použit ití snížen ení počtu atributů v relaci, vytvořen ení podtřídy dy určit ité entity.

44 Vztahy a relace Podtřídy dy entit Máme relace Kategorie a Pozice. Každý výrobek je přiřazen p do jisté kategorie výrobků. S výrobkem můžm ůžeme pracovat pouze jako s obecným výrobkem, nikoli jako instancí jeho konkrétn tní kategorie. Atributy, definované pro výrobky, mám u sebe uloženy jakýkoli výrobek bez ohledu na svůj j typ. Např.. nápoje n mají ze své podstaty jiné atributy než třeba kořen ení.

Model s podtřídami dami entit 45 Vztahy a relace Vztahy a relace

46 Vztahy a relace Identifikace primárn rní a cizí relace Někdy kdy bývá dosti ošidno idná. Musí jednoznačně vycházet ze sémantiky s datového modelu. Ve struktuře e s podtřídami dami entit se obecná entita (Vyrobky( Vyrobky) ) stane primárn rní relací a jednotlivé podtřídy dy (Napoje, Koreni,, Plodiny, )) budou tvořit cizí relace.

47 Vztahy typu jedna k více Vztahy a relace Nejběž ěžnější typ vztahů mezi entitami. Jednu instanci první entity můžm ůžeme spojit s nula, jednou nebo více v instancemi druhé entity, ale naopak každá instance druhé entity může e být spojena nejvýše e s jednou instancí první entity. Zakaznik Objednavky Jeden zákaznz kazník k můžm ůže e realizovat nula, jednu nebo více v objednávek, ale každá objednávka můžm ůže e být realizována jen jedním m zákaznz kazníkem. kem.

48 Vztahy a relace Identifikace primárn rní a cizí relace Velmi snadná. Entita na straně jedna tvoří vždy primárn rní relaci, její kandidátn tní klíč se zkopíruje do relace na straně více. Relace na straně více se stává cizí relací. Kandidátn tní klíč primárn rní relace je často součást stí kandidátn tního klíče e cizí relace na straně více, sám s m o sobě však jednoznačně identifikovat vektory hodnot cizí relace nedokáže. e. Kandidátn tní klíč cizí relace se z něj n j můžm ůže e stát t pouze po spojení s jedním m neb více v vhodnými atributy.

49 Vztahy typu více k více Vztahy a relace Zvláš áštní typ vztahu mezi dvěma entitami. Libovolnou instanci první entity můžeme spojit s nula, jednou nebo více instancemi druhé entity, ale i naopak libovolnou instanci druhé entity můžm ůžeme spojit s nula, jednou nebo více v instancemi první entity. Student Predmet

50 Vztahy a relace Vztahy typu více v k více v nelze realizovat přímo. p Modelují se pomocí speciáln lní mezilehlé relace, která má s každým z obou účastníků vztah jedna k více. v Mezilehlá relace se obvykle nazývá spojovací tabulka. Student Spojovací tabulka Predmet

51 Vztahy a relace Identifikace primárn rní a cizí relace Vyplývá z toho, že e vztah typu více v k více v modelujeme jako dva vztahy typu jedna k více. v Ve vztahu jedna k více v je relace na straně jedna vždy v primárn rní relací. Každá z původnp vodních entit se v jednom z nových vztahů stane primárn rní relací a spojovací tabulka bude pro oba vztahy cizí relací,, přičemp emž z obou původnp vodních relací převezme jejich kandidátn tní klíče. Spojovací tabulky obsahují nejčast astěji pouze kandidátn tní klíče e dvou původnp vodních účastníků.

52 Unární vztahy Vztahy a relace Mají jen jednoho účastníka relace je spojena sama se sebou. Klasickým případem p padem je vztah zaměstnance stnance a nadřízen zeného. Zaměstnanec stnanec mám obvykle za nadřízen zeného další šího zaměstnance, který mívám také nadřízen zeného. Zamestnanec

53 Vztahy a relace Modelují se stejným způsobem jako binárn rní vztahy kandidátn tní klíč primárn rní relace se přidp idá do cizí relace. Jediným rozdílem je to, že e primárn rní a cizí relace jsou jedna a tatáž relace. Příklad Kandidátn tní klíč relace Zamestnanec může e být atribut CisloZamestnance, přidáme atribut CisloNadrizeneho jako cizí klíč. Zamestnanec Unárn rní vztahy mohou být typu jedna k jedné,, jedna k více v a více v k více. v

54 Datová integrita Datová integrita Vytvořen ení datového modelu je jednou z mnoha součást stí datového modelování. Zároveň se musí modelovat také datová integrita. Pravidla zajišťuj ující, že fyzická data uložen ená v hotovém m DBS budou správn vná,, nebo alespoň věrohodná. Žádný DBS nedokáže e garantovat pravdivost dat v DB umí jen zajistit, že mohou být pravdivá. Data musejí vyhovovat jistým definovaným omezením m integrity.

55 Omezení integrity Datová integrita Datová integrita se implementuje na několika n různr zně podrobných úrovních: doménov nová integrita, přechodová integrita, entitní integrita, referenční integrita, databázov zová integrita, transakční integrita.

56 Datová integrita Doménov nová, přechodová a entitní omezení definují pravidla pro údržbu integrity jednotlivých relací. Omezení referenční integrity zajišťuj ují zachování potřebných vztahů mezi relacemi. Omezení databázov zové integrity kontrolují databázi jako celek. Omezení transakční integrity řídí manipulace s daty v jedné,, nebo i mezi několika databázemi.

57 Doménová integrita Datová integrita Doména (obor hodnot) je množina všech přípustných p pustných hodnot určit itého atributu. Omezení doménov nové integrity (dom omezení) je pravidlo definující platné hodnoty. (doménové K úplnému popisu některých n kterých domén je třeba t eba definovat více v než jedno doménov nové omezení.

58 Přechodová integrita Datová integrita Omezení přechodové integrity definují stavy,, kterými můžm ůže e vektor hodnot právoplatn voplatně přecházet. Stav entity kontroluje: Jediný atribut Přechodovou integritu můžm ůžeme považovat ovat za jistý speciáln lní typ doménov nové integrity. Několik kolik atributů nebo několik n relací Pak je vhodné je považovat ovat za samostatný typ omezení.

59 Datová integrita svobodný/á ženatý/vdaná rozvedený/á ovdovělý/ lý/á Obrázek ukazuje, jakých hodnot může nabývat rodinný stav

60 Entitní integrita Datová integrita Entitní omezení zabezpečuj ují integritu entit modelovaných v DB. Na nejjednodušší úrovni existence primárn rního klíče (pravé omezení). Primárn rní klíč jednoznačně definuje každý záznam z znam entity. Není možná existence záznamz znamů se stejným primárn rním m klíčem. Není možná existence záznamu z znamu s hodnotou primárn rního klíče Null.

61 Datová integrita Omezení integrity definovaná na úrovni entity (ostatní omezení) mohou kontrolovat: Jeden atribut Integritu modelujeme definicí atributu v určit ité doméně atribut zdědí vešker kerá omezení integrity definovaná pro jeho doménu. Na úrovni rovni entity můžm ůžeme tato zděděná omezení zpřísnit (v žádném m případp padě však uvolnit!). Několik atributů stejné relace Např. DatumVraceni musí být pozdější nebo rovno DatumVypujcky.

62 Referenční integrita Datová integrita Omezení referenční integrity udržuj ují a ochraňuj ují vztahy mezi relacemi. Zajišťuj ují, že vztahy mezi relacemi zůstanou z konzistentní. Jediné omezení cizí klíče e se nesmějí stát sirotky: Žádný dný vektor hodnot v cizí relaci nesmí obsahovat takovou hodnotu FK, která nemá odpovídaj dající vektor hodnot v primárn rní relaci. Sirotci vektory hodnot obsahující FK bez odpovídaj dajícího PK v primárn rní relaci.

Datová integrita Vznik sirotka Do cizí relace je přidp idán n vektor hodnot s FK, který neodpovídá žádnému PK v primárn rní relaci. PK v primárn rní relaci je změněn. n. Musí být zajištěno promítnut tnutí odpovídaj dající změny i v hodnotách FK kaskádov dová aktualizace. Vektor hodnot v primárn rní relaci, na nějžn se sirotek odkazuje, je odstraněn. n. Může e být zajištěno zákazem z odstranění vektoru hodnot, na který se odkazuje nějakn jaká cizí relace. Může e být zajištěno odstraněním m vektoru hodnot ze všech v relací kaskádov dové odstranění. 63

64 Databázová integrita Datová integrita Databázov zové omezení nejobecnější forma omezení integrity. Databázov zová omezení jsou omezeními mi závislými z na několika n relacích. ch. Definují se mezi atributy patřících ch do různých r zných relací.

65 Transakční integrita Datová integrita Omezení transakční integrity ovládaj dají způsoby přípustné manipulace s databází. Jsou proceduráln lního charakteru. Nejsou součást stí datového modelu. Transakce neděliteln litelná skupina určitých operací. Operace se musejí buď všechny společně dokončit, nebo se nesmí dokončit žádná z nich.

66 Datová integrita Příklad klad transakce převod peněz z jednoho bankovního účtu na druhý. Pokud se odečte částka z účtu A, ale pak se sytému nepodaří připsat ji na účet B, znamená to ztrátu tu peněz z po cestě. Řešení: : jestliže e selhala druhá operace, musí se zrušit i první operace. Do jedné transakce můžm ůže e být zapojeno několik různých r záznamz znamů,, několik n různých r relací i několik n různých r databází.