Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové modely – Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.
Modely ●
●
●
Konceptuální model se zabývá modelováním reality, není ovlivněn budoucími prostředky řešení. Logický model se vztahuje ke konkrétnímu datovému modelu a používá jeho konstrukční dotazovací a manipulační prostředky (relační, objektové, síťové, hierarchické, XML, ...). Fyzický model zajišťuje fyzické uložení dat (sekvenční soubory, indexy, clustery, ...). Obvykle řeší konkrétní SŘBD.
Konceptuální datový model ●
●
Konceptuální model vzniká jako popis dat v databázi bez ohledu na jejich uložení. Konceptuální model představuje formální popis modelované reality. Hlavními úkoly je nalezení entit, vtahů a atributů.
Konceptuální datový model Na konceptuální úrovni se u modelů užívají pojmy: ●
entita (object) – student, předmět
●
vztah (relationship) - studuje
●
atributy - vlastnost - věk, rč
Komponenty modelů U modelu se obvykle řeší komponenty: ●
strukturální - struktura dat
●
specifikace integritních omezení
●
manipulace dat - manipulace s daty
Manipulace dat bývá řešena na nižší úrovni.
Činnosti při tvorbě E-R modelu ●
Identifikace typů entit jako množiny objektů stejného typu. Např. PŘEDMĚT, STUDENT, PEDAGOG
●
Identifikace typů vztahů, do kterých typy entit mohou vstupovat. Např. PEDAGOG garantuje PŘEDMĚT
Činnosti při tvorbě E-R modelu ●
Přiřazení popisných atributů jednotlivým typům entit a vztahů podle požadované úrovně abstrakce. Např. PRIJMENI (popisný atribut) daného ZAMESTNANCE (entita), DATUM (popisný atribut), do kdy si daný ABONENT (entita) VYPUJCIL (údaj typu vztah) daný EXEMPLAR (entita).
●
Formulace integritních omezení (IO) vyjadřujících s větší či menší přesností soulad schématu s modelovanou realitou.
Činnosti při tvorbě E-R modelu ●
●
Atributem budeme rozumět funkci přiřazující entitám či vztahům hodnotu popisného typu, určující některou podstatnou vlastnost entity nebo vztahu. Vymezení pojmů entita, vztah a atribut je dosti volné. Vodítkem může být, že v souvislosti s entitami používáme podstatných jmen a se vztahy sloves.
Úplný konceptuální model ●
●
Lineární zápis seznamu typů entit s jejich atributy a lineární zápis seznamu vztahových entit. Úplný grafický popis - ERD ve dvou úrovních: konceptuální schéma, transformovaný pro databázové schéma.
●
●
Datový slovník. Seznam IO týkajících se entit, atributů a vztahů.
Lineární zápis Lineární (textový) zápis popisuje entity a vazby: Typ_entity ( klíč, atrib1, atrib2, . . . ) TYP_VZTAHU ( Typ_entity1, Typ_entity2, . . ., vztah_atrib1, vztah_atrib2, … ) Například: Pedagog(Id_pedagog, jméno, příjmení, telefon) Předmět(Id_předmět, název, počet_kreditů) Garantuje(Pedagog, Předmět, od, do)
E-R diagram Graficky znázorňuje entitní typy a vztahy mezi nimi formou grafu. Obsahuje několik grafických prvků označených názvy: –
obdélníkový uzel označuje entitní typ, uvnitř je zapsán název,
–
oválný uzel označuje atributy; atributy jsou spojeny hranami s odpovídajícím entitním typem; klíčové atributy se obvykle zvýrazní
–
kosočtvercový uzel reprezentuje vztah mezi entitními typy, hranami je spojen s těmito entitními typy.
E-R diagram Chenova notace Pedagog
Garantuje
Předmět
Zjednodušený zápis Pedagog
Garantuje
Předmět
Integritní omezení Integritní omezení (IO) popisují logická omezení na typy a hodnoty atributů, entit a vazeb tak, aby konceptuální model odpovídal zobrazované realitě. Mohou být zadána jak graficky v ERD, tak textovým popisem. Textově v datovém slovníku nebo doplňujícím textem formou poznámky za datovým slovníkem.
IO atributů - Datový slovník Představuje záznam IO pro atributy ve formě tabulky, která obsahuje: ●
jméno atributu jako identifikátor,
●
syntaktický typ atributu, jeho doménu
●
popis a význam atributu
●
velikost a formát vnější reprezentace atributu
●
●
množinu operací, které lze nad jeho hodnotami provádět KLÍČ - příznak, zda je atribut klíčový, zda je součástí primárního klíče
Datový slovník ●
●
●
NULL - zda je přípustné, aby měl atribut hodnotu nevyplněnu či je zadání hodnoty povinné poznámku pro další IO plynoucí z reality, která ve výše uvedených informacích nejsou uvedena (předdefinovaná hodnota, výpočet, popis kontroly ap.) případně další systémové informace (indexování ap.)
Integritní omezení Mezi další integritní omezení patří: ●
neatomické atributy –
skupinové atributy Student( jméno, příjmení, adresa (ulice, město, PSČ, stát))
–
vícehodnotové atributy Zaměstananec( jméno, příjmení,dítě (jméno, d_rod_cis): multi, . . ., plat (leden, únor, …, prosinec))
●
ISA hierarchie
IO vztahů mezi entitami Kardinalita vztahu Při definování vztahu typů entit E1 a E2, existují tři možnosti binárního vztahu: ●
●
●
1:1 jedné e1∈ E1 odpovídá ve vztahu nejvýše jedna e2 ∈ E2 a naopak, jedné e2 ∈ E2 odpovídá nejvýše jedna e1 ∈ E1; 1:N jedné e1∈ E1 odpovídá ve vztahu obecně několik e2∈ E2, ale jedna e2 ∈ E2 má vztah pouze k jedné entitě e1 ∈ E1; M:N jedné e1 ∈ E1 odpovídá ve vztahu obecně několik entit e2 ∈ E2 a naopak jedna e2 ∈ E2 má vztah k několika entitám e1 ∈ E1.
IO vztahů mezi entitami Povinnost členství ve vztahu ●
Definujeme dva druhy členství ve vztahu: –
povinné (obligatorní)
–
nepovinné (fakultativní)
IO vztahů mezi entitami Výskytový diagram představuje způsob záznamu vazeb mezi entitami. Znázorňuje jednotlivé výskyty entit a jejich vztahů. Používá se při ujasňování kardinality vztahu a povinnosti členství ve vztahu. V určité fázi je nutno provést dekompozici vztahu M:N, kde je možné si pomoci výskytovým diagramem.
Relační model dat (RMD) ●
●
●
RMD je založený na matematické teorii množin a predikátové logice a definuje způsob reprezentace dat, způsob jejich ochrany (integritní omezení) a možné operace nad daty. RMD navrhnul a jeho pravidla publikoval Dr. E. F. Codd (pracovník firmy IBM) v r. 1970 v článku: "A relational model of data for large shared databanks". Byly zde základní definice, vycházející z teorie množin a predikátové logiky.
RMD ●
●
●
●
RMD odděluje data, která jsou chápána jako relace od jejich implementace. Symetrický přístup k datům. Při manipulacích s daty nás nezajímají přístupové metody k datům v relacích. Pro práci s daty máme k dispozici relační kalkul a algebru (matematické aparáty, jimiž lze popsat sémantiku (význam konstrukcí) relačních jazyků). Pro omezení redundance dat, máme k dispozici pojmy pro normalizaci relací, což znamená možnost vhodně navrhovat databázové struktury.