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

Podobné dokumenty
Databáze I. Přednáška 1

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

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

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

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

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

Databázové systémy úvod

Databázové systémy trocha teorie

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 úvod

Databázové systémy BIK-DBS

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

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

Databázové systémy úvod

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

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

DBS Konceptuální modelování

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

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

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

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

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

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í

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

Databáze. Logický model DB. David Hoksza

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

Data v informačních systémech

Databázové systémy BIK-DBS

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

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

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

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

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

Konceptuální modelování. Pavel Tyl

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

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

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 II. 1. přednáška. Helena Palovská

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

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

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

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

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

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.

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

5. Formalizace návrhu databáze

Databázové modelování. Analýza Návrh konceptuálního schématu

Terminologie v relačním modelu

Relační model dat (Codd 1970)

Hierarchický databázový model

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

5. Formalizace návrhu databáze

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

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

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

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

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

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

Funkční schéma Datové schéma Integrita modelu s realitou

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

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ř.

Geografické informační systémy p. 1

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

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

4IT218 Databáze. 4IT218 Databáze

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

Databázové systémy úvod

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

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

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

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

Diagram výskytů a vztahů

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

Data v informačních systémech

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

DBS Transformace konceptuálního schématu na

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

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

DBS Databázové modely

4IT218 Databáze. 4IT218 Databáze

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

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

Objektově orientované databáze. Miroslav Beneš

Databáze v MS ACCESS

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

Databázové systémy. modelování. Tomáš Skopal. - úvod. - konceptuální datové

DBS Konceptuální modelování

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

DATOVÉ MODELOVÁNÍ ER MODEL

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

Konceptuální datové modely používané při analýze

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

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

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

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

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

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

Transkript:

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

Databázová technologie databázová technologie zabývá se řízením velkého množství perzistentních, spolehlivých a sdílených dat databáze soubor informací (znaky, čísla, diagramy,...), jejichž systematická struktura umožňuje vyhledávat tyto informace pomocí počítače

velké množství nevejdou se do operační paměti perzistentní přetrvávající (na diskových pamětech) spolehlivé odolné proti výpadkům systému integrita zajištění konzistence zajištěno např. pomocí transakcí odolné proti neoprávněnému přístupu (bezpečnost - security) autentizace a autorizace

Další vlastnosti dat v databázích neredundance prvky v databázi se zbytečně neopakují ne vždy lze dosáhnout nezávislost programy přistupující k datům jsou nezávislé na tom, jak jsou data uložena

Databázový systém DBS - databázový systém DBS = SŘBD + DB SŘBD - Systém řízení báze dat software DB - databáze vlastní data

SŘBD (DBMS) Databázový systém česky: systém řízení báze dat anglicky: Database Management System databázový software (DB stroj, DB engine) IBM DB2, Oracle, Informix, MS SQL Server, MySQL, SyBase, PostgreSQL

Základní témata db technologie organizace dat, souborů, metody přístupu paralelní přístup (sdílení) transakční zpracování konzistence dat optimalizace dotazů databázové jazyky OS distribuované systémy speciální pro DB technologie projektování dat (modelování)

Poznámky: optimalizace dotazů snaha o co nejefektivnější zpracování dotazů (prohození operací,... ) konzistence dat - logická správnost data odpovídají realitě, např. v DB není zaznamenáno datum 32.13.2005

DBS počátky DB systémů aplikace programovány na míru zlom v polovině 60. let a v 70. letech - odtržení dat a programu základní paradigma databázové technologie existence dat je nezávislá na programech, které s ní pracují

Uživatelé databáze správce dat programátor uživatel pokročilý uživatel, který umí třeba i SQL naivní uživatel zejména dnes, kdy jsou k dispozici názorná webová grafická rozhraní

model Modelování souhrn pojmů (vztahů) popisujících reálný svět příklad: matematický model např. soustavy lineárních rovnic, diferenciálních rovnic, atd. První vlak vyjíždí ze stanice A průměrnou rychlostí 60 km/h, druhý vlak proti němu ze stanice B vzdálené 100 km průměrnou rychlostí 80 km/h o 30 minut později. Vypočtěte vzdálenost od stanice A, kde se vlaky setkají.

s = 100 km, v 1 = 60 km/h, v 2 = 80 km/h ujetá dráha 1. vlaku s 1, ujetá dráha 2. vlaku s 2 čas jízdy 1. vlaku t 1,čas jízdy 2. vlaku t 2 matematický model - soustava lineárních rovnic s = s 1 + s 2, s 1 = v 1 t 1, s 2 = v 2 t 2 t 2 = t 1-0,5 s = v 1 t 1 + v 2 (t 1-0,5)

Modelování v databázových systémech Připomeňme si: základní paradigma databázové technologie existence dat je nezávislá na programech, které s ní pracují

Co k realizaci paradigma potřebujeme? univerzální (obecný) SŘBD konceptuální model platformově nezávislý model databázový model výstupem databázového modelování je schéma konkrétní databáze jazyk pro definici dat (JDD) DDL Data Definition Language aneb musíme nějak SŘBD sdělit, jak bude databáze vypadat, tj. popsat formálním jazykem schéma db

jazyk pro manipulaci dat (JML) DML Data Manipulation Langage s daty se musí manipulovat (vkládat mazat, vyhledávat., součástí jazyka bývá i řízení transakcí dnes tuto úlohu zastává dotazovací jazyk SQL (Structured Query Language)

Druhy modelů používané v DBS 1. konceptuální model model vytvořený na základě úplného odproštění od implementace účel modelu: srozumitelnost i pro laiky v oboru výpočetní techniky na přípravě schématu DB se mohou podílet i uživatel (zákazník), pro nějž se DB tvoří (ostatní řídicí pracovníci) u konceptuálního modelu by měl platit princip 100% postihnout v modelu všechny požadavky uživatele

2. databázový model DB model, který bere v úvahu implementaci modely: síťový data v modelu provázána tak, aby je bylo možné efektivně zpracovat v souborech se sekvenčním přístupem (páska) hierarchický relační DB modelována (a realizována) pomocí provázaných relací (tabulek) objektově-relační, objektově orientovaný databáze XML, NoSQL, grafové,

Historie databází Síťový model 1965 konference CODASYL (Conference on Data System Languages) výbor DataBase Task Group tvorba síťového modelu a koncepce DB systému vznikaly SŘBD pro sálové počítače IDMS, IDS (Integrated Data Store od General Electric) postupná aktualizace síťového modelu 1971, 1973, 1981, 1984, 1987

Historie databází Hierarchický model nemá oficiální standard první SŘBD byl IMS (Information Management System) od IBM a North American Aviation (Rockwell) v 60. letech dodnes prý existuje verze 13 podporovaná IBM pro sálové počítače

Historie databází Relační a objektový model první teoretický článek r. 1970 E.F.Codda zdůraznil logický pohled na data 10 trval vývoj k reálně použitelné relační technologii objektové databáze 1989 objektově relační databáze konec 90. let SQL 99

Konceptuální modely E-R model vytvořen Peterem Chenem v r.1976 E-R znamená: Entity Relationship: The Entity Relationship Model: Toward a Unified View of Data česky: model entit a vztahů definuje grafické zobrazení pomocí ustálených elementů

E-R model

E-R model E-R model používá k modelování reálného světa tyto základní pojmy (konstrukty) entita slabý entitní typ vztah atribut identifikátor kardinalita povinnost ISA vztah

entita zpravidla modeluje objekt reálného světa (např. čtenář), měla by být samostatně vyčlenitelná, identifikovatelná, odlišitelná od jiných entit, schopná nezávislé existence je popsána pomocí hodnot svých vlastností ve větách zpravidla vystupuje jako podmět identifikována jménem (čtenář) př.: čtenář s vlastnostmi: jméno: Vít příjmení: Fábera datum narození: 5.5.1975

entitní typ abstrakce popisující typ entit čtenář s vlastnostmi jméno, příjmení, datum nar. Vít Fábera, 5.5.1975 je výskyt, nebo též instance entity často se pojmy entita, entitní typ zaměňují, pod pojmem entita se myslí ve skutečnosti entitní typ

vztah vyjadřuje vztah mezi dvěma nebo více entitami (je to prvek kartézského součinu mezi entitami) vyjádřen slovesem, přísudkem např. vztah mezi entitami čtenář, exemplář: čtenář si vypůjčil exemplář atribut učeně: funkce f definovaná na množině entit nebo vztahů s funkčními hodnotami z množiny hodnot (z univerza)

srozumitelněji: vlastnosti entit a vztahů příklad: možné atributy u entity čtenář: jméno, příjmení, rodné číslo, u vztahu si vypůjčil: datum výpůjčky atribut jméno: univerzum množina všech řetězců představujících reálná jména

2 entity: atribut příjmení František Kuldanů 320612/1234 Josef Novák 521006/5678 zde přiřazuje funkce atributu příjmení entitě č. 2 hodnotu Novák

pro záznam E-R modelu existuje ustálená grafická notace v Chenově modelu entity obdélník vztahy čtverec postavený na vrchol atributy kolečko, ovál grafickou notaci si budeme ukazovat na příkladu databáze knihovny knihovna je každému srozumitelná

existují varianty grafického zobrazení směrem k UML entity obdélník vztahy čára atributy zapisují se do obdélníku k entitě stejně jako atributy třídy v objektově orientovaném přístupu

entita RČ atribut ČTENÁŘ JMÉNO PSČ SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP DATUM_REZ EXEMPLÁŘ KNIHA PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN (přírůstkový katalog) vztah (autorský katalog)

entita ČTENÁŘ RČ JMÉNO PSČ atribut SI_VYPŮJČIL DATUM_VÝP EXEMPLÁŘ JE_OD SI_REZERVOVAL DATUM_REZ KNIHA PŘÍR_Č CENA D_NÁK (přírůstkový katalog) vztah TITUL AUTOR ISBN (autorský katalog)

Poznámka č. 1: metodologické zásady pojmenování entity podstatné jméno v jednotném čísle (např. KLIENT, ČTENÁŘ, UČITEL) pojmenování vztahu sloveso (např. MÁ, JE_OD) Poznámka č. 2: v realizované databázi bude zaznamenáno: u každého exempláře pouze přírůstkové číslo, cena a datum nákupu a nějakým způsobem (podle typu databázového modelu) vztah (odkaz) na příslušnou knihu

Poznámka č. 3: teoreticky v databázi dle tohoto schématu může mít kniha pouze jednoho autora prakticky bychom zapsali do políčka Autor více jmen např. oddělených čárkou, což může ale způsobovat obtíže při hledání, výpisu všech exemplářů od daného autora apod. řešení 1. zavedení vícehodnotového atributu (oborem hodnot je množina) 2. zavedení nové entity AUTOR a vztahu NAPSAL mezi entitami KNIHA a AUTOR nejlepší řešení

NAPSAL AUTOR KNIHA JMÉNO PŘÍJMENÍ TITUL ISBN

Nástroje pro tvorbu modelů E-R lze je kreslit v ruce i v jakémkoliv grafickém editoru existují lepší nástroje (case nástroje) Microsoft Visio Enterprise Architect Oracle SQL Developer Data Modeler Case Studio (Quest Software) a další datové modeláře

Integritní omezení (IO) tvrzení o objektech (neboli pravidla) čtenář nesmí mít půjčeno více než 10 knih čtenář si nesmí rezervovat exemplář, jestliže je exemplář v knihovně zásoba součástky nesmí klesnout pod 5 ks minimální zůstatková částka na účtu je 500 Kč RČ je klíčem entity ČTENÁŘ Klíč atribut jednoznačně identifikující entity, v E-R modelu označen podtržením

Kardinalita vztahu typ integritního omezení, omezuje počet výskytů entit v jednotlivých vztazích kardinalita: (1:N) jedna entita může být zapojena pouze 1x, ostatní libovolným počtem (M:N) libovolný počet výskytů u entit (1:1) každá entita může být zapojena ve vztahu pouze jedenkrát

ČTENÁŘ 1 RČ JMÉNO PSČ M SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP N N EXEMPLÁŘ 1 N KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

SI_VYPUJCIL (1:N) čtenář si může vypůjčit více exemplářů, exemplář může být vypůjčen pouze jedním čtenářem Josef Novák RČ: 521006/5678 1 N Babička přír. číslo 100 U nás přír. číslo 58 František Kuldanů RČ: 320612/1234 Hřbitovní kvítí přír. číslo 1005 Babička přír. číslo 101

SI_REZERVOVAL (M:N) čtenář si může rezervovat více knih (titulů), jedna kniha může být rezervována v daném okamžiku více čtenáři Josef Novák RČ: 521006/5678 M N Babička ISBN: 80-85190-38-9 Učebnice jazyka C ISBN: 80-85828-02-2 František Kuldanů RČ: 320612/1234 Bylo nás pět ISBN: 80-00-00076-8 Divá Bára ISBN: 9788000005027

příklad vztahu 1:1 občan karta zdravotní pojišťovny každý občan má jen jednu kartu zdravotní pojišťovny, karta je určena pouze pro jednoho občana Kardinalita vztahu typu min-max jemnější popis kardinality pro binární vztahy specifikuje minimální a maximální výskyt entity ve vztahu

zápis: R(E 1 (min,max),e 2 (min,max)) příklad: vztah entita entita SI_VYPUJCIL(ČTENÁŘ(0,n),EXEMPLÁŘ(0,1)) čtenář nemusí mít vypůjčen žádný exemplář, může mít vypůjčeno více exemplářů; exemplář nemusí být vypůjčen, může být vypůjčen pouze jedním čtenářem

příklad: JE_OD(EXEMPLÁŘ(1,1),KNIHA(0,n)) exemplář musí být od nějaké knihy (musí být zapojen povinně do vztahu) a musí být maximálně od jedné knihy; kniha nemusí mít v knihovně žádný exemplář (všechny jsou zničené nebo ukradené, ale kniha zůstává v autorském katalogu, protože se plánuje nákup dalších výtisků) a může mít více exemplářů Otázka: Jakou kardinalitu by měl vztah NAPSAL mezi entitami KNIHA a AUTOR?

ČTENÁŘ (0,n) RČ JMÉNO PSČ (0,m) SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP (0,1) (1,1) EXEMPLÁŘ (0,n) (0,n) KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

Poznámky: entita EXEMPLÁŘ má povinný výskyt ve vztahu (exemplář nemůže existovat bez knihy) exemplář je existenčně závislý na knize EXEMPLÁŘ (1,1) JE_OD (0,n) KNIHA n-ární vztahy vztah může být definován i mezi větším počtem entit, event. entita může být zastoupena ve vztahu vícekrát

DODÁVÁ OBCHODNÍK ZBOŽÍ postihuje situaci, kdy obchodník dodává zboží jinému obchodníkovi arita vztahu = 3 v příkladu s knihovnou jsme měli pouze binární vztahy atribut může být i složený, neatomický adresa (ulice, č.p., místo, PSČ)

Slabý entitní typ některé entity nemohou být jednoznačně identifikovány svým klíčem, potřebují k identifikaci klíč jiné entity jsou to tzv. slabé entitní typy a jsou identifikačně závislé na jiném entitním typu značí se obdélníkem s dvojitou čarou KOPIE (1,1) JE_OD (0,n) FILM ČÍSLO_KOPIE JMÉNO

Příklad: Slabý entitní typ v kině máme tři kopie filmu Amadeus s čísly kopie 1,2,3 a dvě kopie filmu Piano s čísly 1,2 k jednoznačné identifikaci kopie tedy nestačí její číslo, je nutné připojit identifikaci filmu, od kterého je příslušná kopie

Databázové modely tvůrce: Codd 1970 Relační model dat DB modelována pomocí relací (= tabulek), logicky provázaných formální abstrakce nejjednodušších souborů efektivně použitelný pro soubory s přímým přístupem (diskové paměti) většina současných DBS jsou relační, resp. objektově relační definujeme-li novou databázi, zadáváme relační schéma (transformace E-R model relační schéma)

Relační model dat E.F. Codd si všiml souvislosti mezi tabulkami a matematickým pojmem relace matematický aparát relační algebra a kalkul vypracovaný nad relacemi dal teoretický základ pro dotazy a JMD naplňoval ideje pro databáze: oddělení dat chápaných jako relace od implementace při manipulaci se nezajímáme o přístupové mechanismy k datům pro omezení redundance jsou definovány tzv. normální formy relací

Relace mat.: podmnožina kartézského součinu A = {X, Y}, B = {1,2,3} kartézský součin: A B A B = {(X,1),(X,2),(X,3),(Y,1),(Y,2),(Y,3)} relace R: R A B R = {(X,1),(Y,1)}

kartézský součin: A = {1, 2, 3}, B = {1,2,3} A B={(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3, 3)} binární relace menší <: < = {(1,2),(1,3),(2,3)} píšeme: (1,2) <, resp. 1 < 2

Relace R nad množinou atributů A = {A 1 :D 1,,A n :D n } je podmnožina kartézského součinu D 1 D 2 D n A i jsou jména atributů D i jsou domény n je arita relace R(A 1 :D 1,,A n :D n ) je schéma relace prvky relace jsou n-tice (a 1,a 2,,a n ) a i je hodnota atributu A i z domény D i

Příklad: množina atributů {RČ, JMÉNO, PŘÍJMENÍ} domény množina všech platných rodných čísel množina všech řetězců (platných jmen) množin všech řetězců (platných příjmení) schéma relace ČTENÁŘ: ČTENÁŘ(RČ:STRING(11), JMÉNO:STRING(80), PŘÍJMENÍ:STRING(80))

Příklad: zkrácený zápis, bez domén ČTENÁŘ(RČ, JMÉNO, PŘÍJMENÍ) Prvky relace ČTENÁŘ jsou trojice

Tabulková terminologie relace = tabulka schéma relace = záhlaví tabulky arita relace = počet sloupců jméno atributu = jméno sloupce n tice = řádek tabulky příklad konkrétní relace ČTENÁŘ zde dvouprvková (obsahuje dvě trojice, dva řádky):

Příklad konkrétní relace ČTENÁŘ zde dvouprvkové (obsahuje dvě trojice, dva řádky): 320612/1234 František Kuldanů 521006/5678 Josef Novák

Schéma relační databáze je dvojice (R,I), kde R je množina schémat relací (R 1,,R k ) a I je množina integritních omezení integritní omezení lze definovat jako podmínky, např: Atribut rodné číslo má tvar RRMMDD/XXXX, kde DD >= 01 a DD < 31 MM >= 01 a MM < 12 nebo MM>= 51 atd.

Schéma relační databáze přípustná relační databáze se schématem (R,I) je množina relací R 1,,R k takových, že jejich prvky vyhovují integritním omezením

Kandidát na klíč množina atributů relace K: 1. hodnoty K identifikují prvky relace 2. neexistuje K K, že K splňuje 1 (minimalita, tj. žádný atribut v K není nadbytečný) primární klíč (PRIMARY KEY) jeden vybraný kandidát na klíč Poznámka: v relacích často zavádíme umělý primární klíč např. pořadové číslo

Transformace E-R modelu do relačního modelu entita vytvoříme relaci se shodnými atributy jako má entita zvolíme primární klíč (nutné, pokud je entita zapojena ve vztahu) vztah M:N vytvoříme relaci s atributy daného vztahu, přidáme atributy odpovídající primárním klíčům entit, které jsou ve vztahu zapojeny

atribut odpovídající primárnímu klíči entity se nazývá cizí klíč (FOREIGN KEY) 1:N buď: stejným způsobem jako vztah M:N nebo: u entity, která má maximální výskyt ve vztahu roven 1, přidáme do její relace atribut odpovídající primárnímu klíči druhé relace (vhodné pro povinný výskyt ve vztahu) 1:1 u jedné entity přidáme atribut odpovídající primárnímu klíči relace druhé entity

ČTENÁŘ 1 RČ JMÉNO PŘÍJMENÍ M SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP N N EXEMPLÁŘ 1 N KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

ČTENÁŘ (0,n) RČ JMÉNO PSČ (0,m) SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP (0,1) (1,1) EXEMPLÁŘ (0,n) (0,n) KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

Příklad: Relační schéma DB knihovny ČTENÁŘ(RČ, JMÉNO, PŘÍJMENÍ) KNIHA(ISBN, TITUL, AUTOR) EXEMPLÁŘ(PŘÍR_Č, CENA, D_NÁK) JE_OD(PŘÍR_Č, ISBN) cizí klíče SI_VYPŮJČIL(RČ, PŘÍR_Č, DATUM_VÝP) SI_REZERVOVAL(RČ, ISBN, DATUM_REZ) eventuální realizace vztahu JE_OD: nebude relace JE_OD, místo ní bude mít relace EXEMPLÁŘ podobu: EXEMPLÁŘ(PŘÍR_Č, CENA, D_NÁK, ISBN) cizí klíč

eventuální realizace vztahu SI_VYPŮJČIL: místo relace SI_VYPŮJČIL bude relace: EXEMPLÁŘ(PŘÍR_Č, CENA, D_NÁK,RČ) Poznámka: pokud není exemplář vypůjčen, hodnota atributu RČ není v příslušném záznamu definována co bude ve skutečnosti uloženo v DB? hodnota NULL, reprezentující prázdnou hodnotu toto není vhodné řešení, pro realizaci vztahu je zde lépe mít samostatnou relaci

ČTENÁŘ RČ JMÉNO PŘÍJMENÍ 320612/1234 František Kuldanů 521006/5678 Josef Novák KNIHA ISBN TITUL AUTOR 80-11111-22-3 U nás A. Jirásek 80-85190-38-9 Babička B. Němcová EXEMPLÁŘ PŘÍR_Č CENA D_NÁK 1 100 25.3.1990 2 100 25.3.1990 3 150 26.3.1990

JE_OD PŘÍR_Č ISBN 1 80-85190-38-9 2 80-85190-38-9 3 80-11111-22-3 SI_VYPŮJČIL RČ PŘÍR_Č DAT 320612/1234 1 10.11.2005 521006/5678 2 20.11.2005

Realizace vztahů 1:N bez relací SI_VYPŮJČIL, JE_OD: ČTENÁŘ(RČ, JMÉNO, PŘÍJMENÍ) KNIHA(ISBN, TITUL, AUTOR) EXEMPLÁŘ(PŘÍR_Č, CENA, D_NÁK,ISBN,RČ,DATUM_VÝP) SI_REZERVOVAL(RČ, ISBN, DATUM_REZ)

ČTENÁŘ RČ JMÉNO PŘÍJMENÍ 320612/1234 František Kuldanů 521006/5678 Josef Novák KNIHA ISBN TITUL AUTOR 80-11111-22-3 U nás A. Jirásek 80-85190-38-9 Babička B. Němcová EXEMPLÁŘ PŘÍR_Č CENA D_NÁK ISBN RČ DATUM_VÝP 1 100 25.3.1990 80-85190-38-9 320612/1234 10.11.2005 2 100 25.3.1990 80-85190-38-9 521006/5678 20.11.2005 3 150 26.3.1990 80-11111-22-3