Terminologie v relačním modelu



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

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

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

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

Hierarchický databázový model

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

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

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

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

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

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. Ing. Radek Holý

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

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

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

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

2. Konceptuální model dat, E-R konceptuální model

Relace x vztah (relationship)

7. Normální formy. PŘ: POJIŠŤOVNA Povinné ručení relace Platby

Databáze. Logický model DB. David Hoksza

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

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

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

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

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

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

Databázové systémy BIK-DBS

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

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

5. Formalizace návrhu databáze

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

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

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

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

Relační databázová technologie

Databázové systémy trocha teorie

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

DBS Konceptuální modelování

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

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

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

Relační databázová technologie

5. Formalizace návrhu databáze

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

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

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.

DATOVÉ MODELOVÁNÍ ER MODEL

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

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

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

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

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

Datové modelování II

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

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

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

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

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

RELACE, OPERACE. Relace

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

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

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

6. blok část C Množinové operátory

Konceptuální modelování. Pavel Tyl

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

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í

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

Objektově relační databáze a ORACLE 8

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

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

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

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

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

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

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

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

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

Objektově orientované databáze. Miroslav Beneš

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

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

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Návrh databázového modelu

Relační model dat (Codd 1970)

Zadání. Seznam typů entit včetně jejich atributů, vyznačte klíče a cizí klíče Seznam typů vztahu určený svým názvem a entitami do něj vstupujícími

Objektově orientovaný přístup

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

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

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

8 Třídy, objekty, metody, předávání argumentů metod

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

Konceptuální modelování a SQL

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

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

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

POUŽITÍ DATABÁZÍ. Po ukončení tohoto kurzu budete schopni

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

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

Obsah. Zpracoval:

Transkript:

3. RELAČNÍ MODEL Relační model reprezentuje databázi jako soubor relací. Každá relace představuje tabulku nebo soubor ( ve smyslu soubor na nosiči dat ). Terminologie v relačním modelu řádek n-tice ( n-tuple, tuple ) sloupec atribut tabulka relace Nezáleží na pořadí atributů ani řádků. Datový typ určující typy hodnot, kterých může atribut nabývat ( které se tedy mohou objevit v konkrétním sloupci tabulky ), se nazývá doména. Doména : - množina atomických hodnot ( hodnot, které se dále nedělí, přesněji řečeno pro potřeby daného relačního modulu se tyto hodnoty už dále nedělí ) - je tedy dána svým jménem, datovým typem a formátem eventuelně může být doplněna o dodatečné informace ohledně např. měřící jednotky. Relační schéma R označené jako R(A 1, A 2,...., A n ) je tvořeno jménem relace a seznamem atributů. Každý atribut A i zastupuje určitou doménu D, kterou značíme dom(a i ). Počet atributů N určuje tzv. stupeň relace. Relace r ( instance relace - tj. konkrétní výskyt relace ) z relačního schématu R(A 1, A 2,..., A n ) se značí také jako r(r) a je to množina n-tic r = { t 1, t 2,...., t m }. Každá n-tice je uspořádaný seznam n hodnot t = < v 1, v 2,.... v n >, kde každé v i, 1 i n, je prvkem domény dom(a i ) nebo je specielní hodnota null. Relace r(r) je podmnožina kartézského součinu domén, které definují R r(r) ( dom(a 1 ) x dom(a 2 ) x.... x dom(a n ) ) Kartézský součin určuje všechny možné kombinace hodnot z uvedených domén. Pokud označíme kardinalitu domény D jako D a předpokládáme, že všechny domény jsou konečné, potom celkový počet n-tic v kartézském produktu je dom(a 1 ) * dom(a 2 ) *.... * dom(a n ) 1

Použitá notace relační schéma R stupně n R(A 1, A 2,..., A n ) n-tice t v relaci r(r) t = < v 1, v 2,.... v n >, kde v i je hodnota odpovídající atributu A i hodnota atributu A i v i =t[a i ] relační jména R, S, Q,... relační stavy r, s, q,... n-tice t, u, v kvalifikovaná jména atributů STUDENT.Jméno,STUDENT.Příjmení,... aktuální relační stav STUDENT relační schéma STUDENT(Jméno, Příjmení,... ) PŘ: n-tice t=< Jana Bláhová, 765502/1234, Kaplice,null,21,3,12> viz relace STUDENT(Jméno, Rod. číslo, Adresa, Telefon, Věk, Ročník, Obor ) t[jméno] =< Jana Bláhová >, t[ročník] =<3> Omezení podmínky relačního modelu Podmínky pro domény hodnota každého atributu musí být atomická hodnota a musí být prvkem množiny dom(a). Datové typy pro doménu zahrnují standardní číselné datové typy ( celočíselné short integer, integer, long integer, reálné typy jako float, double ), dále řetězcové typy ( řetězce pevné i proměnné délky ), měnové, datumové, časové typy. Ostatní datové typy domén se definují jako podintervaly nebo výčtové typy výše uvedených typů. Klíčová omezení relace je dána jako množina n-tic ( záznamů, vět ). Dle definice množiny jsou všechny její prvky různé tj. i pro všechny záznamy v relaci musí platit, že jsou navzájem různé neboli že neexistují dvě n-tice, které mají tutéž kombinaci hodnot atributů. Obvykle existují různé podmnožiny atributů SK, které mají tu vlastnosti, že žádné dva záznamy nemají stejnou kombinaci hodnot atributů tj. pro libovolné dvě n-tice t 1 a t 2 v relaci r ( relační schéma R ) platí, že t 1 [SK] t 2 [SK]. Každá takováto podmnožina atributů je označována jako superklíč relačního schématu R. Každá relace má nejméně 1 superklíč 2

- množinu všech atributů. Superklíč může obsahovat redundantní atributy, nicméně rozumná koncepce klíče je pochopitelně klíč bez nadbytečných atributů. Jako klíč K relačního schématu R tedy označíme superklíč schématu R, který má tu vlastnost, že odebereme-li libovolný atribut A z klíče K, zbyde množina atributů K, která není superklíč. Tj. klíč je minimální superklíč - nemůžeme odebrat jediný atribut k zachování jednoznačnosti. PŘ. {Rodné číslo, Jméno, Ročník} je superklíč, ne klíč {Rodné číslo} je klíč Klíč je časový invariant, jeho jednoznačnost nesmí být narušena ani při vkládání nových záznamů, ani při editaci stávajících Relační schéma může mít víc klíčů, který z nich bude označen jako primární je v podstatě libovolné, ostatní klíče se pak označují jako kandidátní. Relační databázové schéma a integritní omezení. Relační databázové schéma S je množina všech relačních schémat S = {R 1, R 2,..., R m } a množina integritních podmínek ( omezení ) IO. Instance relační databáze DB ze schématu S je množina relačních instancí DB = {r 1, r 2,.., r m }, kde r i je instance R i a splňuje podmínky integritních omezení. PŘ: Podmínky IO pro entitu - primární klíč nesmí být NULL. Referenční integrita - podmínky specifikované pro vztah dvou relací - užívá se pro zachování konzistence mezi záznamy dvou relací. Záznam relace R 1, která je spojena s jinou relací R 2, se musí odkazovat na existující ( odpovídající ) záznam v R 2 3

PŘ: STUDENT(Číslo,Jméno, Adresa, Třída ) TŘÍDY(Číslo třídy, Umístění, Třídní) Pojem cizí klíč se zavádí v souvislosti se vztahem dvou relací R 1 a R 2. Množina atributů FK z relačního schématu R 1 je cizím klíčem R 1, pokud splňuje následující dvě pravidla : 1. Atributy zahrnuté v FK mají tutéž doménu jako primární klíč PK v R 2, FK se odkazuje na PK. 2. Hodnota FK v záznamu t 1 z R 1 se buďto vyskytuje jako hodnota PK v nějakém záznamu t 2 v R 2 nebo je NULL t 1 [FK] = t 2 [PK] Předchozí typy podmínek ovšem nezahrnují velké skupiny obecných podmínek tzv. podmínek sémantické integrity, které mohou být specifikovány na relační databázi a mohou ovlivňovat uložená data. PŘ: Plat zaměstnance musí být menší než plat vedoucího Maximální počet hodin odpracovaných v týdnu musí být menší než 56 hod Aktualizační operace na relaci INSERT - může dojít k porušení podmínek na doménu, porušení klíčových podmínek, entitních podmínek ( klíč NULL ) a RI podmínek DELETE porušení RI podmínek MODIFY jedná se vlastně o DELETE a INSERT, z toho vyplývají příslušné možné porušení všech podmínek Zdrojová literatura : DRAGON, P., ALBHARI, B., NEWARK, T. C# v kostce. Grada, 2006. ISBN 80-247-0443-9. HERNANDEZ, M., J. Návrh databází.. Grada, 2006. ISBN 80-247-0900-7. KANISOVÁ, H.,MÜLLER, M. UML. Computer Press, 2006. ISBN 80-251-1083-4. KEOGH, J., GIANNINI, M. OOP Objektově orientované programování bez předchozích znalostí. Computer Press, 2006. ISBN 80-251-0973-9. ŠIMŮNEK, M. SQL - kompletní kapesní průvodce.grada, 2001.ISBN 80-7169-692-7. 4

Řešte: 1. V relačním databázovém modelu znamená? Rádek relace Sloupec n-tice Tabulka atribut 2. Čím je charakteristická doména: a) je nedělitelná b) je dělitelná c) množina atomických hodnot 3. Co je superklíč: a) primární klíč b) jedinečná skupina atributů v tabulce (jednoznačně identifikovatelná) c) shodující se atributy v tabulce 4. Referenční integrita: a) zachování konzistence mezi záznamy dvou relací b) relace mezi tabulkami musí odkazovat na existující hodnoty c) souvisí s pojemem cizí klíč 5

PŘÍKLADY KNIHOVNA ČTENÁŘI Číslo čtenáře Příjmení Jméno Město Ulice Psč Datum registrace 0001 Adamec Petr Český Krumlov Fialková 5 381 01 25.09.96 0002 Dvořáková Jana Kaplice Luční 7 382 41 11.02.97 0003 Vávrová Alena Besednice Dlouhá 11 NULL 17.08.97 0004 Suchánek Jakub Kaplice Náměstí 8 382 41 15.05.97 ŽÁNRY Číslo Žánr 01 dětská literatura 02 dobrodružství 03 sci-fi 04 cestopisy 05 beletrie 06 thriller 07 detektivky 08 literatura faktu VÝPUJČKY Číslo Číslo Datum Datum čtenáře knihy 0001 123456 12.09.97 0001 124512 12.09.97 0002 121245 10.09.97 20.09.97 0002 121212 10.09.97 ČÁST DATABÁZE BANKY BANKA Číslo konta Číslo klienta Kód Datum Datum posled. Částka měny založení pohybu 124df45f12 0011245 DEM 12.05.95 17.09.97 28 000 125784h1g 0011245 USD 17.02.97 25.09.97 5 000 13254o1k8 0011445 ATS 11.03.96 21.05.97 125 000 KLIENT Číslo klienta Jméno klienta Adresa Podpisový vzor 0011245 Dvořák Petr Český Krumlov, Špičák 127 Petr Dvořák 0011235 ALFA s. r. o. Tábor, Pražská 1882 Peterka 0011445 Metrostav a. s. Praha, I. P. Pavlova 174 Σϖοβοδα Παϖελ 6

FIRMA ZAMĚSTNANEC Příjmení Jméno Rod.číslo Adresa Oddělení ODDĚLENÍ Číslo Název Vedoucí UMÍSTĚNÍ Číslo oddělení Adresa PROJEKT Číslo projektu Číslo oddělení Umístění PRACUJE_NA Rodné číslo zam. Číslo projektu Počet hodin DÍTĚ Rodné číslo zam. Jméno Rodné číslo dítěte 7

KNIHOVNA podrobněji ČTENÁŘ Příjmení Jméno Rod.číslo Adresa Datum Číslo průkazky KNIHA ISBN Název Autor VÝTISK Inventární číslo ISBN Rok vydání Nakladatelství Cena Stav VÝPŮJČKA Inventární číslo Vypůjčeno Vráceno Číslo průkazky REZERVACE ISBN Datum Číslo průkazky UPOMÍNKY Číslo průkazky Datum Částka Placeno Den platby 8

ZÁSILKOVÁ FIRMA ZÁKAZNÍK Číslo Jméno Osoba Adresa IČO DIČ DPH SKLAD Číslo zboží Množství CENÍK Číslo zboží Název Měr. jednotka Cena za mj OBJEDNÁVKA Číslo Datum Zákazník Číslo účtu POLOŽKA_OBJ Číslo obj Název zboží Množství FAKTURA Číslo faktury Číslo obj Datum Splatnost POLOŽKA_FAK Číslo fak Název zboží Množství Cena za mj 9

ZOOLOGICKÁ ZAHRADA ZVÍŘE Číslo Jméno Pohlaví Druh Narození Umístění DRUH Číslo druhu Číslo třídy Číslo řádu Název TŘÍDA Číslo třídy Název ŘÁD Číslo řádu Název PAVILON Číslo pavilonu Název Vedoucí Umístění MÍSTO Číslo Číslo pavilonu ZAMĚSTNANEC Osobní číslo Jméno Adresa Rod. číslo Funkce FUNKCE Číslo funkce Název funkce PEČUJE Osobní číslo Číslo místa 10

MUZEUM EXPONÁT Číslo Název Období Původ Místnost MÍSTNOST Číslo Číslo budovy Patro BUDOVA Číslo budovy Adresa Stát OBDOBÍ Číslo období Název EXPOZICE Číslo expozice Název UMÍSTĚNÍ Číslo expozice Místnost 11