4IT218 Databáze Šestá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Datové modelování Transformace KS do LS Šestá přednáška
Program přednášek (12 přednášek) Týden Kalendář Program 1. 39 Cíle předmětu, základní pojmy, relační algebra. 2. 40 Databázové jazyky. SQL - Přehled norem jazyka SQL. SQL příkaz Select. Vlastnosti relačních databázových systémů. 3. 41 SQL - dokončení manipulačních příkazů, definiční příkazy. 4. 42 Nástroje dbs ORACLE pro zadávání a ladění příkazů SQL. 5. 43 Vlastnosti relačních databázových systémů. Datové modelování úvod. 6. 44 Datové modelování. 7. 45 Transformace datového modelu do relačních datových struktur. Normalizace dat. 8. 46 Transakční zpracování, ochrana a bezpečnost v databázovém zpracování. 9. 47 Odpadá - státní svátek 10. 48 Fyzické struktury implementační úroveň návrhu datové základy. Optimalizace v databázových systémech. 11. 49 Architektury databázového zpracování. Další databázové modely objektově relační, hierarchické a síťové dbs. 12. 50 Objektové dbs. Trendy a kritéria hodnocení a výběru dbs. 13. 51 Demonstrace vybraného databázového systému. Princip tří architektur Model reality Konceptuální úroveň Structured Design & Transformace KSD Technologický model Technologická úroveň Implementace Implementační model Fyzická úroveň
Konceptuální schéma = model obsahu datové základny na konceptuální úrovni KSR = Konceptuální schéma reality KSD = Konceptuální schéma dat OBRAZ PROVOZOVANÉ DZ Nástroje pro tvorbu datových modelů na konceptuální úrovni Řada modelovacích nástrojů, např. Martinovy bublinové diagramy, nebo rodina ER (A) Entity Relationship (Attribute) modely (P. Chen). Velké množství notací a odlišností v jednotlivých CASE systémech.
Nástroje pro tvorbu datových modelů na konceptuální úrovni Různé jazyky pro tvorbu datových modelů Nástroje pro tvorbu datových modelů na konceptuální úrovni V předmětu 4IT218 budeme používat speciální notace pro jednotlivé úrovně návrhu obsahu DZ: Konceptuální schéma reality - ručně používaná a kreslená notace - viz přednáška Konceptuální schéma dat - notace z nástroje PowerDesigner v 11 (CDM - Conceptual Data Model) Logická úroveň návrhu - notace z nástroje PowerDesigner v 11 (PDM - Physical Data Model)
Činnosti řešené při datovém modelování Rozlišení množin objektů (entitních množin) a jejich životních cyklů. Pojmenování entitních množin a identifikace entit. Rozlišení entitních podmnožin. Určení vztahů mezi entitními množinami, určení kardinality a parciality vztahů Určení atributů entitních množin a vztahů. Vyřešení problémů synonym a homonym. Činnosti řešené při datovém modelování na konceptuální úrovni Rozlišení množin objektů (entitních množin) a jejich životních cyklů. Pojmenování entitních množin a identifikace entit. osobní číslo číslo oddělení Entita je rozlišitelný a identifikovatelný objekt světa, který popisujeme. Entitou je např. Karel Novák, oddělení mzdové účtárny. Entity se na základě podobnosti slučují do entitních množin (typů entit). Každá entitní množina musí mít uveden identifikátor, tj. minimální množinu atributů, které zajišťují jednoznačnou identifikaci entit v této množině. Identifikátor nemusí být tvořen pouze vlastními atributy entitní množiny, ale entitní množina může být identifikačně závislá na jiné entitně množině. Pak se jedná o "externí" identifikaci. Pozn.: V ER diagramech je často posouván význam pojmů - pod entitou je chápána entitní množina a pod pojmem výskyt entity - entita modelovaného světa.
Jazyk pro tvorbu konceptuálního schématu reality Entitní množina a její atributy. Určujeme povinnost (plná čára) a volitelnost (čárkovaná čára) atributů. Atribut 1 (povinný) Entitní množina Atribut 2 (povinný) Atribut 3 (volitelný) Entitní množina a její identifikace Vlastní identifikace - identifikátor tvořen atributy entitní množiny. Entitní množina Atribut 1 (identifikátor) Atribut 2 (povinný) Atribut 3 (volitelný) Externí identifikace - identifikátor tvořen částečně či plně atributy jiné entitní množiny. Entitní množina 1 Atribut 1 (identifikátor) Atribut 2 (povinný) Atribut 3 (volitelný) Atribut 4 (identifikátor) Entitní množina 2 Atribut 5 (povinný) Atribut 6 (volitelný) Jazyk pro tvorbu konceptuálního schématu reality Entitní množina a její identifikace - Příklady Vlastní identifikace - identifikátor tvořen atributy entitní množiny. Číslo oddělení Název oddělení Patro Externí identifikace - identifikátor tvořen částečně či plně atributy jiné entitní množiny. XNAME Jméno email mimo školu Název ZP Závěrečná práce Typ ZP Počet stran
Činnosti řešené při datovém modelování Rozlišení entitních podmnožin. osobní číslo jméno datum narození Typ smlouvy Vědec Vědec Administrativní zaměstnanec Administrativní zaměstnanec pedag. titul vědecký titul Činnosti řešené při datovém modelování Určení vztahů mezi entitními množinami název role entitní množiny 1 ve vztahu 1 název role entitní množiny 2 ve vztahu 1 Entitní množina 1 vztah 1 Entitní množina 2 je zařazen zaměstnává
Činnosti řešené při datovém modelování Určení vztahů mezi entitními množinami Vztahy v KSR rozlišujeme na vztahy: binární, tj. vztahy mezi 2 entitními množinami polyární, tj. vztahy mezi více než dvěma entitními množinami (také označované jako vztahy n-ární, kde n > 2). Entitní množina 1 Entitní množina 2 vztah 1 Entitní množina 3 Entitní množina 4 vztah 2 Entitní množina 5 Činnosti řešené při datovém modelování Určení kardinality a parciality binárních vztahů mezi entitními množinami. Kardinalita může být typu 1:1, 1:N, M:N. Muž 1 manželství 1 Žena Muž N mateřství 1 Žena Muž N přátelství M Žena
Činnosti řešené při datovém modelování Určení kardinality a parciality binárních vztahů mezi entitními množinami. Parcialita vyjadřuje volitelnost vztahu. Vyjadřujeme ji čárkovanou čarou. Čteme ve směru šipek. vedení hodnocení Činnosti řešené při datovém modelování Určení kardinality a parciality binárních vztahů mezi entitními množinami. Kardinalita a parcialita se v některých notacích vyjadřují také čísly a písmeny, které označují "dolní" a "horní" kardinalitu role entitní množiny ve vztahu. 0, N 1, 1 1, 1 0, 1 vedení 0, N 0, N hodnocení
Činnosti řešené při datovém modelování Převod polyárních vztahů na binární vztahy může probíhat i. zkoušení Pozn.: I vztahy mohou mít atributy. Jsou tyto dva modely identické? zkoušení zkoušel st. zkoušel př. byl zkoušen
Rozklad ternárního vztahu do 3 binárních vztahů a jedné entitní množiny Zkouška Rozklad ternárního vztahu do 3 binárních vztahů 1:N a jedné entitní množiny xname osobní číslo Zkouška ident Pozn.: Cizí klíče jsou vyjadřovány vztahy a nikoliv atributy entitních množin.
Úrovně konceptuálních modelů zkoušení osobní číslo xname Zkouška ident Úrovně konceptuálních modelů zkoušení Konceptuální schéma reality osobní číslo xname Konceptuální model dat Zkouška ident
Činnosti řešené při datovém modelování Rozlišení entitních podmnožin je také důležité pro přesnější zachycení vztahů mezi entitními množinami. řešení Vědecký úkol Vědec Administrativní zaměstnanec Katedra