Introduction to Databases & E-R Data Modeling

Introduction to Databases & E-R Data Modeling

Tma 9 Databze vod, modelovn dat Obsah 1. 2. 3. 4. 5. 6. 7. 8. 9. Zkladn pojmy databz Abstrakce, schmata, pohledy Databzov modely Modelovn relnho svta Entity a vztahy Entity-Relationship (E-R) model E-R diagramy Pevod E-R modelu na tabulky dat Normalizace A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 1 Zkladn pojmy asto se smuj pojmy databze Vlastn data zpravidla ve form tabulek systm zen bze dat, databzov systm (stroj), DBMS Komplex softwarovch komponent pro pokroilou prci s daty

Zkladn terminologie databzovch systm Logick struktura dat abstrakce od fyzick organizace uloench dat zaloeno na vhodnm modelu dat pohledy na data (data views) uivatelsky zajmav dl daje Prostedky pro rychl pstup k dat kle indexy organizovan s ohledem na rychlost vyhledvn Prostedky pro pohodln uvn dat sestavy nebo formule; pouvaj se pro vstup dat (tisk, prezentaci nebo pouh zobrazen). Sestavy mohou bt nap. doplnny o filtry, kter vyberou jen poadovan zznamy. Ochrann prostedky uivatelsk oprvnn definice pstupu uivatel k objektm databze A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 2 el databzovch systm Historick databze vystavn jako soustava soubor pmo nad OS Nevhody pmho pouit soubor Redundance a nekonzistence dat

Nejednotn formty soubor, duplikace informac v rznch souborech Izolace dat Problmy s pstupem k datm Pro kadou novou lohu jee nutno napsat nov program Integritn problmy Integritn omezen (nap. mzda > 0) je zanoeno nkde v programu msto explicitnho vyjden v poadavcch na datov obsah Velmi obtn aktualizace podmnek (pidn nebo zmna) Atomicita operac s daty Havrie mohou nechat databzi v nekonzistentnm stavu, kdy aktualizace probhne jen sten Pklad: Pevod penz z jednoho tu na druh mus probhnou bu pln nebo vbec ne Soubn pstup vce uivatel Soubh je nutn z aplikanho hlediska; nezen pstupy mohou vst k nekonzistencm Databzov systmy nabzej een A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 3 Systm zen bze dat (SBD=DBMS)

Pklad DBMS obsahuje informace o uritm podniku Kolekce vzjemn provzanch dat Mnoina program pro pstup a modifikaci dat Prosted, kter je uivatelsky pvtiv a pi tom efektivn Aplikace Databz Bankovnictv: veker transakce Aerolinky: rezervace, letov dy, opravy letadel, ... University: registrace, studijn plny, rozvrhy, diplomy, ... (KOS) Prodejci: zkaznci, katalogy, jednotliv obchody Vroba: produkce, sklady, objednvky, zsobovn Personalistika: zznamy o zamstnancch, mzdy, daov povinnosti, ... Databze jsou vude kolem ns A3B33OSD (J. Laansk) verze: Jaro 2013

Databze - vod, modelovn dat 4 Fyzick rove rovn abstrakce popisuje, jak je uloen zznam (nap. o zkaznkovi) Logick rove popisuje jak data jsou v databzi uloena a vztahy mezi daty type customer = record customer_id: string; customer_name: string; customer_street: string; customer_zip: integer; end; Pohled 1 Pohledy Pohled 2 ... Pohled n rove pohled Aplikace zakrvaj detaily dat. Pohledy mohou mt t el, tedy nap. zakrt vi mzdy a zaruit tak dvrnost i utajen nkterch daj

A3B33OSD (J. Laansk) verze: Jaro 2013 Logick rove Fyzick rove Databze - vod, modelovn dat 5 Schmata a instance Schma logick struktura databze Analogie s typem (tdou) promnn v programu Pklad: Databze obsahuje informace o mnoin vyuovanch pedmt, mnoin asovch sek ueben a vztah mezi nimi (tj. kdy se kde co u) Fyzick schma: struktura databze na fyzick rovni Logick schma: struktura databze na logick rovni Instance skuten obsah databze v dan okamik Analogie s hodnotou promnn (stavem objektu) v programu Nezvislost na fyzickch datech monost modifikovat fyzick schma beze zmny logickho schmatu Aplikace se opraj pouze o logick schma a nezvis na fyzickm zobrazen Obecn: Rozhran mezi rznmi rovnmi (vrstvami) a komponentami jsou pesn definovna, take zmny v nkterch stech neovlivuj zbytek A3B33OSD (J. Laansk) verze: Jaro 2013

Databze - vod, modelovn dat 6 Modely dat Mnoina prostedk pro popis Vlastnch dat Vztah mezi daty Smantiky dat Omezen kladench na data Historick modely dat Hierarchick model Sov model Relan model dat v souasnosti nejuvanj model Entity-Relationship model (E-R model) abstraktn a konceptuln znzornn reality formln nstroj pro nvrh databze a jejho logickho schmatu Objektov modely dat Objektov databze a Objektov relan databze Polostrukturovan datov modely

slou zpravidla pro vmnu dat mezi rznmi systmy typick pklad je XML (eXtensible Mark-up Language) A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 7 Datov orientovan jazyky (1) Jazyky pro manipulaci s daty Data Manipulation Languages (DML) Jazyk pro pstup k datm a manipulaci s daty (modifikaci) organizovanmi podle pslunho modelu t dotazovac jazyk (query language) Dv tdy DML Procedurln uivatel (programtor) udv jak data chce a jak je zskat Deklarativn (neprocedurln) uivatel (programtor) udv jak data chce, ani by zadval zpsob jejich zskn Nejrozenj dotazovac jazyk je SQL Structured Query Language deklarativn jazyk Pklad: select st_jmeno, st_prijmeni from studenti where st_login = xnovak A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat

8 Datov orientovan jazyky (2) Jazyky pro definici dat Data Definition Language (DDL) Popis definice databzovho schmatu Pklad: create table ucet (cislo_uctu: char(10), zustatek: integer) Peklada DDL generuje mnoinu tabulek uloench v tzv. slovnkem dat (data dictionary) Slovnk dat obsahuje metadata (tj. data o datech znalosti) Databzov schma Zpsob uloen dat a datov typy Specifikuj se struktury datovch soubor a zpsoby pstupu Integritn omezen Domnov omezen (nap. pouze kladn isla) Referenn integrita (odkazy a vazby dat) Tvrzen (assertion) Obecn omezen ve tvaru predikt popisujc povinn podmnky, kter nelze zahrnout do omezen integritnch (nap. katedra mus v kadm semestru nabzet aspo 5 pedmt) Autorizan informace Nap. mzda je diskrtn daj, kter mohou vidt jen oprvnn uivatel (f a mzdov etn) A3B33OSD (J. Laansk)

verze: Jaro 2013 Databze - vod, modelovn dat 9 Relan model dat Pklad tabelovanch dat v relanm modelu Relace je zobrazena tabulkou Sloupce se nazvaj atributy patn navreno data se opakuj Ukzka relan databze A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 10 SQL SQL nejrozenj neprocedurln dotazovac jazyk Pklad: Najdi jmno zkaznka s klient_id 12-345 select from where klient.klient_jmeno klient klient.klient_id = 12-345 select from

where ucet.zustatek vkladatel, ucet vkladatel.klient_id = 12-345 and vkladatel.ucet_id = ucet.ucet_id Pklad: Najdi zstatky vech t patcch klientovi s klient_id 12-345 SQL standard je primrn DML, avak m i DDL pkazy Aplikan programy obvykle pistupuj k databzm pes rozen pslunho programovacho jazyka, kter umouje vyuvat SQL jako jazykov konstrukt nap. propojen PHP s MySQL ast pro webov aplikace API knihoven schopnch zaslat SQL pkazy databzovmu (sub)systmu nap. ODBC = Open Database Connectivity i JDBC = Java DataBase Connectivity A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 11 Nvrh databz Obecn nvrh databze je sloit nkolikastupov proces Logick nvrh

Vytv se logick schma databze. Clem je nalzt dobe koncipovanou sadu datovch tabulek a jejich vzjemnch vazeb tak, aby schma obsahovalo minimum duplicit a bylo co nejotevenj pro ppadn modifikace struktury. Obecn loha softwarovho inenrstv Logick nvrh zahrnuje dv klov rozhodnut: 1. Rozhodnut dle elu: Jak data maj bt zaznamenvna v databzi 2. Rozhodnut o struktue: Jak potebn data rozdlit mezi tabulky dat (relace) a jak koncipovat pslun databzov schma. Fyzick nvrh Rozhodnut o zobrazen datovch tabulek do samostatnch komponent v databzi Dleit z pohledu efektivity a drby dat A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 12

Entity-Relationship model E-R model je jednm z nejastji pouvanch nvrhovch prostedk Modeluje oblast zjmu (nap. podnik) jako kolekci entit and a vztah (relationships) mezi nimi Entita: je njak vc nebo objekt jednoznan odliiteln od ostatnch Entita je popsna mnoinou svch atribut Vztah: propojen mezi dvma i vce entitami POZOR: Nezamovat relace (relation) a vztah (relationship)! Reprezentuje se graficky tzv. Entity-Relationship diagramem (E-R diagram) klient_jmeno klient_ulice klient_id zustatek klient_mesto klient A3B33OSD (J. Laansk) verze: Jaro 2013 ucet_id vkladatel ucet Databze - vod, modelovn dat

13 Objektov relan model a objektov model dat Objektov relan model roziuje relan model o objektov orientovan konstrukty Atributy mohou bt hloubji strukturovan typy (objekty) vetn nap. vnoench relac Zachovv principy relanho pohledu na data a deklarativn pstup k datm za souasnho rozen schopnosti modelovn obecnjch dat Poskytuje zptnou kompatibilitu s existujcmi relan orientovanmi databzovmi jazyky Objektov model je pln objektov orientovan Poskytuje monosti klasickho objektovho nhledu na svt Zapouzdovn, ddn, tdy, vlastnosti, metody, ... Pi implementaci jsou znanm problmem metody, realizovan kdem, kter by ml bt uloen jako soust dat Existujc objektov databze poskytuj bohatou klu datovch typ vetn strukturovanch, jako nap. kolekce apod. A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 14 XML: Extensible Markup Language XML pvodn definovn WWW Consortium (W3C)

Byl vyvinut jako znakovac (markup) jazyk pro dokumenty, nikoliv jako databzov jazyk Schopnost specifikovat nov znaky (pznaky, tagy) a monost tvorby vnoovanch znakovanch struktur zpsobila, e XLM se dodaten stala skvlm prostedkem pro vmnu nejen dokument, ale zejmna dat XML se tak stal zkladem tm vech soudobch systm pro vmnu dat zejmna mezi rznmi institucemi, nap. penosy etnch dokument (faktur) mezi podniky, daov piznn apod. Je k dispozici velk mnostv nstroj pro analzu, prohledvn a dotazovn dat zachycench v XML formtu Nedvn analzy vak ukazuj, e nadmrn rozen XML vzhledem ke sv objemov nronosti (XML je velmi ukecan) zpsobilo peten komunikanch kanl potaovch st A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 15 E-R modelovn: Entity Entita je objekt, kter existuje a je odliiteln od ostatnch objekt Pklad: urit osoba, podnik, kulturn akce, technick zazen Entity jsou obecn ei obvykle vyjdeny jako podstatn jmna Entity maj vlastnosti oznaovan jako atributy Pklad: lid maj jmna a adresy Mnoinou entit rozumme mnoinou tvoenou entitami stejnho typu, tj. entitami s tmi vlastnostmi

asto se msto pojmu mnoina entit pouv entitn typ Pklad: mnoina osob, mnoina strom, mnoina bankovnch pjek, mnoina daj sbranch z idel A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 16 E-R modelovn: Atributy Entita je reprezentovna mnoinou atribut popisujcch vlastnosti vech prvk patcch do pslun mnoiny entit. Fakticky je tm definovna struktura datovho typu (zznamu), kter nese informaci o jednom kadm prvku mnoiny Pklad: klient = pujcka = (klient_id, klient_jmeno, klient_ulice, klient_mesto ) (pujcka_id, castka ) Domna atributu mnoina ppustnch hodnot pro kad atribut Typy atribut Jednoduch a sloen atributy Jedno- nebo vcehodnotov atributy Pklad vcehodnotovho atributu: telefonni_cisla

Odvozen (t potan) atributy Daj se vypotat z hodnot jinch atribut Nap. vk, je-li znmo datum_narozen A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 17 Sloen a slokov atributy Sloen atributy jmeno prvni_jmeno druhe_jmeno Slokov atributy A3B33OSD (J. Laansk) verze: Jaro 2013 adresa prijmen nazev_ulice ulice cislo_orient mesto

PSC cislo_popis Databze - vod, modelovn dat 18 E-R modelovn: Vztahy Vztah definuje propojen mezi dvma i vce entitami Pklad: Novk entita klient ukld na vztah vkladatel (zobrazeno jako entita) A-102 entita ucet Vztahy jsou obvykle vyjdeny jako slovesn frze Mnoina vztah je mnoina propojen mezi dvma (i vce) mnoinami entit matematicky zapsno: mnoina vztah mezi n 2 entitami je mnoina n-tic, kde kad prvek n-tice je vybrn z jedn mnoiny entit {(e1, e2, en) | e1 E1, e2 E2, , en En} kde (e1, e2, , en) je vztah matematicky jde o relaci Pklad: (Novk, A-102) vkladatel A3B33OSD (J. Laansk)

verze: Jaro 2013 Databze - vod, modelovn dat 19 Mnoina vztah Mnoiny vztah vyjdeny tabulkami mnoina vztah dluzi podobn jako entity Mohou mt dokonce pipojen atributy nap. datum posledn spltky Mnoiny vztah mohou propojovat vce mnoin entit nap. (zamstnanec, pozice, oddlen) vtinou se ale pouvaj binrn mnoiny vztah propojen dvou mnoin entit A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 20 Kardinalita vztah Kardinalita uruje poet prvk mnoiny entit pidruen prostednictvm mnoiny vztah Pro binrn mnoiny vztah jsou mon 4 typy

E-set A E-set B a1 b1 a2 b2 a3 b3 E-set A E-set B b1 a1 b2 a2 b3 b4 a3 a4 b4 b5

1:1 E-set A 1:N E-set B a1 E-set A E-set B a1 b1 a2 b2 a3 b3 a4 b4 b1 a2 a3 b2 a4

b3 a5 N:1 M:N Poznmka: V mnoinch entit mohou existovat i prvky, kter nejsou propojeny s dnm prvkem v druh mnoin. A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 21 Kle Klem mnoiny entit je atribut nebo skupina atribut, jejich hodnota uruje jednoznan konkrtn entitu Takovch skupin atribut me bt vce nkdy se k superkl Minimln superkle jsou kandidti na to, aby se stali klem Mezi potencilnmi kandidty bude zvolen jeden primrn kl Nap. klient_id bude zvolen za primrn kl mnoiny entit klient Nkdy se zavd samostatn (syntetick) atribut, aby slouil jako kl Superklem mnoiny vztah je kombinace (zetzen) primrnch kl participujcch mnoin entit t znaen jako slokov kle (klient_id, pujcka_id) je superklem vztahu dluzi Pak ovem nelze mt ve vztahu dluzi vce daj o spltkch pjky

Logickou strukturu pro tato data je nutno navrhnout jinak Volba kandidt a vbr primrnho kle vztahu zvis na kardinalit vztahu Pro 1:1 me bt primrnm klem kterkoliv slokov kl Pro ostatn ppady zetzen slokovch kl A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 22 E-R Diagramy klient_jmeno klient_ulice klient_id datum pujcka_id klient_mesto klient dluzi castka pujcka Obdlnky mnoiny entit Kosotverce mnoiny vztah Ovly atributy

zdvojen ovly se uvaj pro vcehodnotov atributy rkovan ovly zna odvozen (potan) atributy Podtren atributy zna primrn kle A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 23 E-R diagram s vcehodnotovmi, sloenmi a odvozenmi atributy druhe_jmeno krestni_jmeno prijmeni nazev_ulice ulice klient_jmeno adresa klient_id A3B33OSD (J. Laansk) verze: Jaro 2013 datum_naroz mesto

psc klient telefon cislo_domu vek Databze - vod, modelovn dat 24 Role Vztahy nemus propojovat rzn mnoiny entit Pak je vhodn zavst role a oznait tak vznam st vztahu Oznaen d a je_zen specifikuj, jak jsou jednotliv zamstnanci vzjemn podzeni pes vztah pracuje_pro Role v ER diagramech jsou nepovinn, zlepuj itelnost a vyjaduj smantiku jmeno adresa zamest_id d zamestnanec je_zen oddeleni telefon A3B33OSD (J. Laansk)

verze: Jaro 2013 pracuje_pro datum_naroz Databze - vod, modelovn dat 25 Vyjden kardinality vztah Znaen je nejednotn Zkladn metoda: Pokud se vechny entity z dan mnoiny mus astnit mnoiny vztah, znzoruje se to tlustou nebo dvojitou arou a nazv se to omezen asti ve vztahu (participation constraint). Pokud se kad entita z mnoiny me astnit maximln jednoho vztahu z mnoiny, je to znzornno ipkou od mnoiny entit k mnoin vztah, je to nazvno klov omezen (key constraint). Ke znzornn vztahu, kdy kad entita z mnoiny se astn prv jednoho vztahu z mnoiny, se pouv tlust ipka. A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 26 Kardinalita a omezen - pklady Kad klient m prv jednu pjku klient Nkolik klient m jednu spolenou

pjku dluzi pujcka klient dluzi pujcka klient dluzi pujcka Nkolik klient participuje na nkolika pjkch klient dluzi pujcka Ke kad pjce mus existovat aspo jeden klient klient dluzi pujcka Jeden klient m nkolik pjek

(nebo tak dnou) avak ne kad klient mus mt pjku A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 27 Alternativn vyjden omezen kardinalitou vztah klient_jmeno klient_ulice klient_id datum pujcka_id klient_mesto klient 0 .. * dluzi 1 .. 1 castka pujcka Klient me mt libovoln poet pjek (nebo tak dnou), avak kad

existujc pjka mus mt svho klienta Alternativn se t pouv znaen crows feet A3B33OSD (J. Laansk) verze: Jaro 2013 0 nebo vce prv 1 1 nebo vce 0 nebo 1 Databze - vod, modelovn dat 28 Otzky nvrhu modelu Entita nebo atribut? Volba zvis na struktue modelovan reality a na smantice pslunho atributu asto entita msto vcehodnotovho nebo sloenho atributu Pout mnoinu entit nebo mnoinu vztah? Monm vodtkem je prv vznam: vztahy jsou slovesn frze popisujc akce, kter se dj mezi entitami Nap. klient ukld_na et Binrn nebo n-rn mnoiny vztah? Kvli zlepen itelnosti jsou asto vhodnj n-rn mnoiny vztah, nebo je zejm, e vce entit participuje na jednom

vztahu Z implementanho pohledu jsou binrn vztahy efektivnj n-rn vztahy lze pevst na sadu binrnch Pipojovat atributy k mnoinm vztah? Pipojen jednoduchho atributu k mnoin vztah je sice efektivn, me vak zpsobit komplikace pi modifikaci modelu sloitj atributy ke vztahm jsou nevhodn A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 29 Binrn vs. n-rn vztahy Nkter vztahy vypadajc ne-binrn je lpe reprezentovat binrnmi vztahy Pklad: Ternrn vztah rodie propojujc dt s jeho matkou a otcem je vhodnj nahradit dvojic binrnch vztah je_otcem a je_matkou To dokonce pinese vhodu reprezentace monosti zakotven ji ve staromskm prvu: Jist je vdy jen matka Existuj ale vztahy, kter jsou ze sv smantiky ne-binrn Nap.: Mme mnoiny entit: studentske_projekty vedouci_ucitele a studenti a k nim mnoinu vztah pracuje_na_a_vede_ho, kter popisuj, kter student pracuje na kterm projektu pod vedenm kterho uitele. Kdybychom nahradili takovto ternrn vztah binrnmi vztahy

ucitel_projekt a ucitel_student, tak sice zachovme informaci o tom, e uitel Novk vede studenty Karla a Petra a e uitel Novk d projekty A a B, ale nebudeme mt informaci o tom, e Karel e projekt A a Petr e projekt B A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 30 Formln pevod n-rnch vztah na binrn A A RA B R C B RB E RC C Ne-binrn vztahy lze reprezentovat binrnmi Zavedeme abstraktn mnoinu entit E a nahradme vztahy R mezi mnoinami entit A, B a C mnoinou entit E a temi mnoinami vztah: 1. RA, kter propojuj E a A

2. RB, propojuj E a B 3. RC, propojuj E a C Vytvome kl pro mnoinu E a ppadn atributy vztah v R pesuneme do E Pro kad jeden vztah (ai , bi , ci) v R vytvome 1. novou entitu ei v mnoin E 2. pidme (ei , ai ) do RA 3. pidme (ei , bi ) do RB 4. pidme (ei , ci ) do RC Pi tomto pevodu mohou nastat problmy s omezenmi souvisejcmi s kardinalitou A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 31 Slab mnoiny entit Pi modelovn reality se nkdy vytv mnoiny entit, kter samy o sob nemaj smysl Jsou soust celku danho souvislost s jinou mnoinou entit. Takov mnoiny entit se nazvaj slab (t slab entitn typ) Existence slab mnoiny entit zvis na existenci identifikujc mnoiny entit Mus existovat vztah 1:N vedouc z identifikujc ke slab mnoin entit Identifikujc vztah se oznauje v E-R diagramu zdvojenm kosotvercem Primrn kl slabho entitnho typu primrn kl identifikujc mnoiny plus vhodn rozliujc atribut slab mnoiny (tzv. diskrimintor i rozliova) Slab mnoiny entit se zna zdvojenm obdlnkem a jej diskrimintor se

podtrhv rkovan Pkladem slab entity jsou poloky faktury, kter samy o sob nemaj smysl, pokud nejsou vztaeny ke konkrtn faktue. Identifikujc mnoinou budou faktury a diskrimintorem slo poloky Jin pujcka_id zustatek cislo_spl dat_splat castka pklad pujcka A3B33OSD (J. Laansk) verze: Jaro 2013 splaceni splatka Databze - vod, modelovn dat 32 Pehled hlavnch symbol E-R diagram E WE R WR A3B33OSD (J. Laansk) verze: Jaro 2013 mnoina entit

A slab mnoina entit atribut MA vcehodnotov atribut DA odvozen atribut mnoina vztah idetifikujc mnoina vztah pro slabou mnoinu entit E R A primrn kl A R vztah M:N R

R vztah 1:1 R 1 .. K povinn ast ve vztahu diskrimintor slab mnoiny entit vztah N:1 E vymezen kardinality vztahu Databze - vod, modelovn dat 33 Pevod E-R modelu na logick schma Data uloen v tabulkch (relace ) Mnoina entit Pojmenovan tabulka Pojmenovan sloupce jsou atributy, kad atribut m svj datov typ (datum, etzec znak dan dlky, slo integer, ...) dky jednotliv entity (instance) K prohledvn tabulky slou primrn kl Mnoina vztah

Pojmenovan tabulka Sloupce jsou primrn kle entitnch tabulek, kter jsou vztahem propojeny; mohou bt pidny dal sloupce popisujc atributy vztahu dky jednotliv dvojice (nebo n-tice) provzanch entit Primrnm kl zvis na kardinalit vztahu pro vztah 1:1 sta jedin atribut, jinak zetzen primrnch kl propojench entit Slab mnoina entit Opt tabulka se sloupcem obsahujcm primrn kl identifikujc entity a sloupcem obsahujcm diskrimintor Zetzen tchto dvou atribut je primrnm klem slabho entitnho typu A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 34 Pevod E-R modelu na logick schma (pokr.) Sloen atributy Zpravidla se pevedou na skupinu jednoduchch atribut (nkolik sloupc v tabulce) Nap. Sloen atribut jmeno se slokami prvni_jmeno a prijmeni se pevede na dvojici jednoduchych atribut jmeno.prvni_jmeno a jmeno.prijmeni Vcehodnotov atributy Pro takov atribut se vytvo samostatn tabulka s dvma sloupci

(atributy) Prvn sloupec je primrn kl zkladn mnoiny entit a druh sloupec je konkrtn hodnota zobrazovanho vcehodnotovho atributu klient_id telefon klient Takto dekomponovan tabulky s atomickmi atributy tvo schma v tzv. prvn normln form Skvl vklad je na http://en.wikipedia.org/wiki/First_normal_form A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 35 Normalizace databz Je to teorie umoujc rigorzn nvrh databze s ohledem na jej korektn aktualizace a uit (Edgar F. Codd 1971) Pklad: Problm: Co zvolit jako kl? Ani jeden z atribut nen klem => klem mus bt zetzen atribut Nevhodn a redundantn se opakuj data Druh normln forma Rozklad tak, aby kle byly jednoduch atributy Avak i nadle trv problm: Kdy se Kovov vd, budou se mnit kle a na ty mohou bt navzny dal vztahy.

Dal argumenty viz http://en.wikipedia.org/wiki/Second_normal_form A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 36 Funkn zvislosti Dal normln formy jsou zaloeny na tzv. funknch zvislostech: Funkn zvislost rozumme vazbu (omezen) platnou mezi dvma mnoinami atribut v te "tabulce" (relaci ) v databzi Primitivn pklad: Rodne_cislo Datum_narozeni (datum narozen lze z rodnho sla odvodit). Nikoli vak obrcen! Podmnka, z n lze odvodit zvr, se nazv determinant zvislosti Pklady: Zde lze odvodit nsledujc "funkn" zvislosti: Triviln Student_ID Semestr (konkrtn student studuje konkrtn semestr) Netriviln zvislosti (mn zjevn): {Student_ID, Pedmt} Uitel {Student_ID, Pedmt} {Uitel, Semestr}Uitel, Semestr} Z posledn zvislosti vyplv, e {Student_ID, Pedmt} je superklem K emu je to dobr? A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 37

Boyce-Coddova normln forma (BCNF) Definice BCNF: Relace R je v BCNF prv tehdy, kdy pro kadou netriviln zvislost X Y, kde X a Y jsou mnoiny atribut a zrove Y nen podmnoinou X, plat, e X je nadmnoinou njakho kle, nebo X je klem relace R. Jinak eeno relace R je v BCNF tehdy a jen tehdy, kdy kad determinant funkn zvislosti v relaci R je zrove kandidtnm klem relace R. Tabulky (relace) v BCNF umouj jednoznan odpovdat na "datov dotazy" () Nap.: je v BCNF Dotaz: "Kdo pouv uebnici Tannenbaum MOS?" je jednoznan zodpovditeln A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 38 BCNF a dal normalizace Bohuel tabulky v BCNF trp mnohdy tzv. aktualizanmi problmy. Pijde-li nov uitel databz Franta a bude pouvat tyt dv uebnice, bude nutno doplnit dva zznamy. Bude proto vhodn rozloit nai tabulku na dv: To pak vede na tzv. 4. NF, kde meme najt dal drobn problmy. Zvr:

Teorie normalizace databz je matematicky hluboce propracovan V uebnicch lze najt devt stup normlnch forem Zjemci nech se obrt ke specializovanch publikacm nebo k pedmtm, kter se vnuj vhradn databzm a jejich teorii Nap. A4B33DS, A7B36DBS apod. A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 39 Dotazy A3B33OSD (J. Laansk) verze: Jaro 2013 Databze - vod, modelovn dat 40

Recently Viewed Presentations

  • Animals Adaptations:Body Parts

    Animals Adaptations:Body Parts

    Times New Roman Default Design Animals Adaptations:Body Parts adaptation What are some adaptations birds have? Body Coverings Are Adaptations Color and Shape Are Adaptations Shape of Body Parts is an Adaptaiton Remember!! An adaptation is a body part, covering, or...
  • Título de la Presentación - aedc.es

    Título de la Presentación - aedc.es

    Jornada anual de balance de la aplicación de la LDC Madrid, 24 de junio de 2010 El informe de la CNC sobre ayudas públicas José Luis Buendía Sierra,
  • ХРИСТОС - НАША ПАСХА

    ХРИСТОС - НАША ПАСХА

    The message is simplified, while losing none of its depth and truth, and thus becomes all the more forceful and convincing." 3. Growth in Faith - (Para. 63-66) These are the 3 formal stages for entry into the Christian Community...
  • An Overview of Apache Spark Jim Scott, Director,

    An Overview of Apache Spark Jim Scott, Director,

    Spark SQL. Shark is officially dead, long-live Spark SQL. Hive-compatible (HiveQL, UDFs, metadata) Works in existing Hive warehouses without changing queries or data! Augments Hive. In-memory tables and columnar memory store. Fast execution engine. Uses Spark as the underlying execution...
  • Science - Year 3/4B Summer 1 Animals including

    Science - Year 3/4B Summer 1 Animals including

    The hedgehog eats the slug. The fox eats the hedgehog. The energy is being transferred from creature to creature and the arrows show the direction it is going. Let's take a closer look at this Food Chain. ... PowerPoint Presentation...
  • Mother's Day Spending - TVB > Public > Home

    Mother's Day Spending - TVB > Public > Home

    Key Mother's Day Takeaways . 3 out of 4 consumers plan to spend at least the same or more than last year . Broadcast TV dominates ratings & reach of Mother's Day shoppers. Be selective with Broadcast TV. Jewelry ....
  • Intersectionality And Development: Exploring Equity in All ...

    Intersectionality And Development: Exploring Equity in All ...

    Legal Regime and Interventions . Theories of Curb-cut Effect, Mainstreaming Gender, and Solidarity Economy . Conclusion . Equitable Development: Development has largely been a something that has been done to communities, as opposed to done with communities .
  • Keeping Houston the Energy Capital of the World

    Keeping Houston the Energy Capital of the World

    Home sales in February 2004 up 14% from February 2003 Houston Purchasing Managers Index increased for 15th consecutive months as of March 2004 Economy driven by 3 sectors - national, international and energy * Houston's economic outlook 2002 SOUTHWEST BANCORPORATION...