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



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

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

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

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

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í

Terminologie v relačním modelu

Databázové systémy BIK-DBS

Hierarchický databázový model

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

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

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

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

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. Logický model DB. David Hoksza

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

Relační model dat (Codd 1970)

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

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

5. Formalizace návrhu databáze

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

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

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

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

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

Databázové systémy trocha teorie

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

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Kapitola 6: Omezení integrity. Omezení domény

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

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

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

Databáze v MS ACCESS

5. Formalizace návrhu databáze

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

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

4IT218 Databáze. 4IT218 Databáze

Analýza dat a modelování. Přednáška 3

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

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

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

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

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

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

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

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.

Access. Tabulky. Vytvoření tabulky

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

Konceptuální modelování a SQL

Michal Valenta DBS Databázové modely 2. prosince / 35

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

Windows Server 2003 Active Directory

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

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

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

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

Relační databázová technologie

Data v informačních systémech

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

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

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

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

DBS Konceptuální modelování

Relace x vztah (relationship)

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

DUM 12 téma: Příkazy pro tvorbu databáze

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

Transformace konceptuálního modelu na relační

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

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

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

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

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

POKROČILÉ POUŽITÍ DATABÁZÍ

DBS relační DB model, relační algebra

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

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

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:

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

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Návrh databázového modelu

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

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

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

Metodika návrhu databáze

Objektově orientované databáze. Miroslav Beneš

Databázové systémy IDS

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

Datové modelování II

Analýza a modelování dat. Helena Palovská

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Konceptuální modelování. Pavel Tyl

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

TEORIE ZPRACOVÁNÍ DAT

4IT218 Databáze. 4IT218 Databáze

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Databáze SQL SELECT. David Hoksza

Transkript:

Relační databázový model

Databázové (datové) modely základní dělení klasické databázové modely relační databázový model

relační databázový model Základní konstrukt - relace relace, schéma relace atribut, doména relace versus tabulka Databáze, přípustná relační databáze Integritní omezení: primární klíč omezení cizího klíče

Databázový model Intuitivně = model dat, ale není model dat v běžném slova smyslu Databázový model je prostředek pro modelování, nikoli cíl (výsledek). Slouží k vytvoření třídy přípustných schémat a operací. Databázový model obsahuje: prostředky pro popis struktury dat integritní omezení základní operace, které lze nad daty definovanými pomocí daného databázového modelu provádět

Databázový model Databázový verzus datový model Užít je lze ve stejném významu, datový má širší smysl, databázový je speciální případ datového v používané terminologii se příliš nerozlišuje. vhodnější je používat databázový model

Databázový model Mezi klasické databázové modely patří : síťový hierarchický relační Síťový model byl ustaven ve zprávě CODASYL z r.1972 hierarchický model se vyvíjel v 2.polovině 60.let k oběma teorie dopracována dodatečně

Relační model dat Relační model dat byl poprvé publikován v roce 1970 pracovníkem firmy IBM Dr. E.F. Coddem (článek A relational model of data for large shared data banks ) v roce 1985 12 pravidel pro relační model dat, v r.1990 333 pravidel vychází z představy, že sebekomplikovanější vztahy mezi objekty lze vyjádřit pomocí několika 2-rozměrných tabulek

Relační model dat - základní konstrukt vychází z matematické relace odlišnost od matematické relace ve 2 aspektech: má pomocnou strukturu schema relace. Schema se skládá ze jména relace (R) jmen atributů ( A i ) a specifikace domén ( D i = Dom(Ai ) ) Domény obsahují přípustné hodnoty pro atributy, z domén se berou jednotlivé komponenty prvků relace.

Relační model dat - základní konstrukt I. Vlastnosti vyplývající z pojmu relace jména atributů - Ai pro i 1,n n -řád relace či arita relace, degree (- počet atributů, které obsahuje) a i je hodnota atributu Ai, kde platí a i Di doména hodnot - D i = dom(ai ) atribut relace Ai :Di množina atributů Ω= { A 1 :D 1,., A n :D n } resp. Ω= { A 1 :dom(a 1 ),., A n :dom(a n )} je R = (A 1 :D 1,., A n :D n ), R(Ω) je schéma relace Prvky relace, tuple ( n-tice a 1, a 2, a 3,...a n ) jsou řádky relace

Relační model dat Relace R* nad množinou atributů Ω= { A 1 :D 1,, A n :D n } je podmnožinou kartézského součinu dom(ω)= dom( A 1 ) x..x dom( A n ), kde pro každé Ai je dom ( Ai ) neprázdným oborem (doménou) hodnot dále nedělitelných.

Relační model dat nedělitelnost a nenulovosti: hodnoty atributů jsou atomické (tedy nedělitelné ) a nenulové. Postupně - obecnější relační modely, kde jednotlivé hodnoty atributů nemusí být dále nedělitelné ( vícehodnotové, složené ) Nulové hodnoty : doména obsahuje speciální hodnotu, která je označena jako nedefinovaná, neznámá... NULL,?

Relační model dat relace x tabulka Relace = dvourozměrná tabulka s označenými sloupci, kde řádky obsahují prvky relace. Prvky relace (= n-tice hodnot atributů ) značíme malými písmeny: (a 1, a 2, a n ), kde a i dom( Ai ), jsou zobecněním pojmu jednoduchý záznam 1 tabulka je 1 relace (R*) A 1 :D 1.... An :Dn záhlaví tabulky = schéma relace (R )

Relační model dat relace x tabulka relace neobsahují duplicitní n-tice vyplývá to z definice relace jako množiny ( u tabulky neplatí). 2 n-tice (řádky) se musí lišit alespoň v hodnotě jednoho atributu neplatí pro domény Di nemusí být různé sloupce relace obsahují hodnoty atributu (tedy prvky domény)

Relační model dat relace x tabulka v relaci nezáleží na pořadí sloupců ani řádků X u tabulky je vždy dané uspořádání do sloupců tabulky se ukládají různé hodnoty (je dán jménem) X atribut je dán svým jménem a doménou ( každá hodnota musí být z domény atributu) atribut není sloupec tabulky, zahrnuje celou doménu X sloupec jen hodnoty dané v tabulce

Relační model dat - relace Každá hodnota uložená v databázi je identifikovatelná průsečíkem řádku a sloupce tabulky. k získání konkrétní hodnoty z databáze je třeba mít: název relace a pojmenování atributu, jehož hodnotu požadujeme (sloupce tabulky) název a hodnotu atributů určující příslušný řádek tabulky - tj.klíč relace aktuální doména - adom(a i ) aktuální doména atributu A i - obsahuje hodnoty, které se pro daný atribut právě vyskytují v databázi. Jedná se tedy o sjednocení hodnot daného atributu z více relací (jeden atribut se může vyskytovat v několika schématech)

Relační model dat Př. relace KNIHA, jejíž schéma relace je KNIHA (ISBN, Autor, Titul) má konkrétní prvky: ISBN Autor Titul 300 Novák, Nový Databáze 500 Novák Foxpro 800 Peterka SQL

Relační model dat základní vlastnosti Relační databáze R* je dána jako množina relací R* = { R* 1, R* 2,.., R* k } Relační schéma databáze R je v nejjednodušším případě dáno množinou schémat relací R = { R 1, R 2,.., R k } Každé z těchto schémat lze vyjádřit : R = (A 1 :D 1,., A n :D n ) pro n 1

Relační model dat základní vlastnosti Přípustná relační databáze R* Přípustnou relační databázi R* nazveme takovou množinu relací { R*, R* 1 2,.., R* k }, jejíž prvky vyhovují I. Někdy je I rozděleno mezi jednotlivá R i, takže můžeme napsat: R = { ( R 1, I 1 ),,( R n, I n }. Relační schéma databáze s I pak nazveme dvojici (R, I). Přičemž R je množina schemat relací, I je množina integritních omezení.

Relační model dat základní vlastnosti Z důvodu přiblížení se realitě modifikujeme relační databázi resp. relační schéma databáze integritními omezeními mi. V souvislosti s přípustnou relační databází hovoříme o konzistenci. Konzistence v širším slova smyslu znamená, že databáze odpovídá realitě, v užším smyslu slova pak, že odpovídá zadaným integritním m omezením. m. Změny přípustné relační databáze ( aplikací, SQL..) musí být korektní (tj. přechod z jedné přípustné databáze do druhé).

Základní vlastnosti RMD - integritní omezení Atributy - Ai : Di základní typ - text (řetězec), numerický, datum, další omezení : velikostí svých domén př.plat - od 2,000.- do 20,000.. hodnota jednoho atributu je stanovena v závislosti na hodnotě jiného atributu je-li hodnota atributu Profese zedník, pak hodnota atributu Plat musí být menší než 15,000.- 1 čtenář může mít půjčeno max. 5 knih (databáze knihovna)

Základní vlastnosti RMD - integritní omezení Integritní omezení jsou přídavnp davná tvrzení o objektech, která se po dobu existence konkrétn tní databázov zové aplikace nemění.. Integritní omezení byla zavedena z důvodu nedokonalosti databázov zového modelu omezují široké možnosti vstupu n-tic do relací omezení mohou být použita do programů (kontrola vstupů, aktualizace dat). Pozn.: kontroly mohou odstranit chyby uživatelů, s rozsahem kontroly dat roste doba trvání

Základní vlastnosti RMD - integritní omezení Integritní omezení : inherentní - jsou základní vlastnosti konstruktů obsažených v databázovém modelu. U RDM základní konstrukt relace, zaručuje: - žádný prvek relace nebude mít v dané relaci duplicity (2 řádky tabulky nebudou duplicitní) - hodnoty atributů musí být z odpovídajících domén. - explicitní - jsou navíc definovaná, jsou konzistentí s inherentními omezeními implicitní - jsou odvozená z jiných omezení

integritní omezení primární klíč (primary key) referenční integrita ( omezení cizího klíče, foreign key) explicitní integritní omezení

Primární klíč Primární klíč je minimální množina atributů K Ω, jejíž hodnoty určují jednoznačně n-tice relace R*. Minimálnost K: nelze odebrat žádný atribut bez narušení této jednoznačnosti identifikace řádku Jednoznačnost řádku (prvku ) relace vyplývá z definice RMD

Základní vlastnosti RMD - integritní omezení-pk každá relace musí mít PK Atributy v relaci klíčové - tvoří klíč relace (značí se podtržením) neklíčové atributy - není součástí žádného klíče relace pokud nelze stanovit jinak, pak primární klíč relace je tvořen množinou všech atributů, či se přidá atribut, který jednoznačně určířádek Jednoduchý klíč (tvořen jediným atributem), složený klíč (composite key)

Základní vlastnosti RMD - integritní omezení-pk SUPERKEY= jednoznačně (unikátně) identifikuje řádek relace, může obsahovat atributy, které nejsou nezbytné pro jednoznačnou identifikaci řádku CANDIDATE KEY = takový superkey, který obsahuje atributy nezbytné pro jednoznačnou identifikaci řádku relace ; kandidáti klíče musí mít základní 2 vlastnosti: a) unikátnost (Uniqueness) b) minimálnost (Irreducibility) PRIMÁRN RNÍ KLÍČ kandidátní klíč vybraný k identifikaci řádků relace ALTERNATIVNÍ KLÍČE kandidáti klíče, které nejsou vybrány

Referenční integrita vztah mezi 2 relacemi: Nadřazená ( master, parent hlavní, nezávislá) podřízená ( detail, dependent, závislá ). Relace lze spojit, pokud: atribut či skupina atributů K ( primární klíč, či alternativní klíč) nadřazené tabulky bude obsažena v podřízené tabulce atributy v podřízené tabulce odpovídající PK resp. alternativnímu klíči tvoří cizí klíč

Referenční integrita = FK (Foreign Key), omezení cizího klíče propojení mezi tabulkami - většinou 1:N, výjimečně 1:1 detail tabulka obecně nemusí mít prvek relace (řádek tabulky) k určité hodnotě klíče K master tabulky (tedy křádku tabulky) v detail tabulce nemůže být řádek, kde hodnota cizího klíče neodpovídá klíči master tabulky ( může být NULL), U původního RDB se neuvažovalo že je neznáma.

Referenční integrita Omezení cizího klíče Je-li K klíčem schématu R(Ω) a zároveň pro nějaké schéma relace S je K Ω S, pak pro každé 2 relace R*,S*, které patří do globální relace platí, že každá k-hodnota z S* se vyskytuje jako k- hodnota v R*. Jedná se o logickou vazbu, nikoli fyzickou FK nemůže nabývat hodnot, které jsou v rozporu s hodnotami PK nadřazené tabulky- to je třeba zajistit v INSERT, UPDATE, DELETE

Ochrana integrity databáze Integritní omezení (integrity constraints, integrity rules) Specifikace IO musí být podle teorie relačního modelu součástí definice databáze, tedy uloženy v DD (Data Dictionary = slovníku dat =katalogu dat), nikoli v aplikačním software Integritu rozlišujeme : - doménovou (domain integrity) - Entitní (entity integrity) - Referenční ( referential integrity )

Ochrana integrity databáze doménová integrita (domain integrity) - každá hodnota musí být z hodnot pro atribut přípustných - DBS by měl poskytovat prostředky pro definici omezení v Data Dictionary - v okamžiku definice relace - třeba zabudovat doménovou integritu Entitní integrita (entity integrity) - požadavek na zajištění identifikace každého řádku(prvku relace) (řádek = konkrétní výskyt entity či vztahu) = PK

Ochrana integrity databáze Referenční ( referential integrity ) - řeší logické vztahy mezi více relacemi - logická konzistence obsahu databáze - pomocí FK - řešení logické integrity databáze - 1. Restriktivnířešení - 2. kaskádovitéřešení - 3. Nullifyřešení

1. Restriktivnířešení - není dovoleno zrušit řádek, pokud existují v jiných relacích řádky logicky související - hodnotu PK nadřízené tabulky -není možné aktualizovat - do podřízené relace nelze uložit řádek, u něhož hodnota FK neodpovídářádku v nadřízené tabulce

2. kaskádovitéřešení - v případě rušenířádku v nadřazené tabulce -ruší se řádky v podřízené relaci se stejnou hodnotou FK - hodnotu PK možné aktualizovat - ale aktualizují se i FK v souvisejících řádcích - v případě ukládánířádku, u něhož hodnota FK neodpovídá řádku v nadřízené tabulce se doplnířádek v nadřízené tabulce

3. Nullify řešení - při rušenířádků dochází ke změně hodnot všech souvisejících klíčů na neurčené - tedy NULL hodnoty - v případě ukládánířádku, u něhož hodnota FK neodpovídá řádku v nadřízene tabulce - se naplní FK hodnotou neurčenou

RMD U RMD důl. omezení : hodnoty atributů jsou atomické - tedy dále nedělitelné, tomuto omezení se říká I.NF relace Některé relační SŘBD umožňují relace s vícenásobnou hodnotou atributu. Pak při dotazu se zobrazí tak, že se vypíše tolik řádků, kolikanásobná hodnota atributu je. Pozn: Zvažte jednoatributový klíč, víceatributový klíč ve vztahu k doménám atributů