4IT218 Databáze Šestá přednáška
Dušan Chlapek (katedra informačních technologií, VŠE Praha)
4IT218 Databáze Šestá přednáška • Datové modelování • Transformace KS do LS
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.
Chlapek, D.: 4IT218 Databáze
Princip tří architektur Model reality
Konceptuální úroveň Structured Design & Transformace KSD
Technologický model
Technologická úroveň
Implementace
Implementační model
Fyzická úroveň
Chlapek, D.: 4IT218 Databáze
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
Chlapek, D.: 4IT218 Databáze
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.
Chlapek, D.: 4IT218 Databáze
Nástroje pro tvorbu datových modelů na konceptuální úrovni Různé jazyky pro tvorbu datových modelů na konceptuální úrovni
Chlapek, D.: 4IT218 Databáze
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)
Chlapek, D.: 4IT218 Databáze
Č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. 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.
Chlapek, D.: 4IT218 Databáze
Č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. číslo oddělení
osobní číslo
Zaměstnanec
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. Chlapek, D.: 4IT218 Databáze
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.
Externí identifikace - identifikátor tvořen částečně či plně atributy jiné entitní množiny. Atribut 1 (identifikátor)
Atribut 1 (identifikátor)
Entitní množina
Atribut 2 (povinný) Atribut 3 (volitelný)
Entitní množina 1
Atribut 2 (povinný) Atribut 3 (volitelný)
Atribut 4 (identifikátor)
Entitní množina 2
Chlapek, D.: 4IT218 Databáze
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.
Externí identifikace - identifikátor tvořen částečně či plně atributy jiné entitní množiny. XNAME
Číslo oddělení Název oddělení
Oddělení
Jméno
Student
email mimo školu
Patro Název ZP
Závěrečná práce
Chlapek, D.: 4IT218 Databáze
Typ ZP Počet stran
Činnosti řešené při datovém modelování na konceptuální úrovni Rozlišení entitních podmnožin. osobní číslo jméno
Zaměstnanec
Zaměstnanec
datum narození
Učitel Typ smlouvy
Učitel
Vědec
pedag. titul
vědecký titul
Vědec Administrativní zaměstnanec
Administrativní zaměstnanec
Chlapek, D.: 4IT218 Databáze
Činnosti řešené při datovém modelování na konceptuální úrovni Určení vztahů mezi entitními množinami
název role entitní množiny 1 ve vztahu 1
Entitní množina 1
název role entitní množiny 2 ve vztahu 1
je zařazen
Zaměstnanec
Chlapek, D.: 4IT218 Databáze
Entitní množina 2
vztah 1
zaměstnává
zařazení
Oddělení
Činnosti řešené při datovém modelování na konceptuální úrovni 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
vztah 1
Entitní množina 2
Entitní množina 3
vztah 2
Entitní množina 4
Entitní množina 5 Chlapek, D.: 4IT218 Databáze
Činnosti řešené při datovém modelování na konceptuální úrovni 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. 1 Muž
1
N Muž
1
Chlapek, D.: 4IT218 Databáze
Žena
mateřství
N Muž
Žena
manželství
M přátelství
Žena
Činnosti řešené při datovém modelování na konceptuální úrovni 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. Zaměstnanec
zařazení
Oddělení
Zaměstnanec
vedení
Oddělení
Zaměstnanec
hodnocení
Oddělení
Chlapek, D.: 4IT218 Databáze
Činnosti řešené při datovém modelování na konceptuální úrovni 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 Zaměstnanec
1, 1
1, 1 Zaměstnanec
0, 1
Chlapek, D.: 4IT218 Databáze
Oddělení
vedení 0, N
Zaměstnanec
Oddělení
zařazení
0, N hodnocení
Oddělení
Činnosti řešené při datovém modelování na konceptuální úrovni Převod polyárních vztahů na binární vztahy může probíhat i na konceptuální úrovni. Datum Známka Pokus
Učitel
Student
zkoušení
Předmět
Pozn.: I vztahy mohou mít atributy. Chlapek, D.: 4IT218 Databáze
Jsou tyto dva modely identické? Datum Známka Pokus
Učitel
zkoušení
Student
Předmět
Učitel
zkoušel př.
Chlapek, D.: 4IT218 Databáze
zkoušel st.
Předmět
Student
byl zkoušen
Rozklad ternárního vztahu do 3 binárních vztahů a jedné entitní množiny
Učitel
Student Datum Známka Pokus
zařazení
Zkouška
zařazení
zařazení
Předmět
Chlapek, D.: 4IT218 Databáze
Rozklad ternárního vztahu do 3 binárních vztahů 1:N a jedné entitní množiny xname
osobní číslo
Učitel
Student Datum Známka Pokus
zařazení
zařazení
Zkouška
zařazení ident
Předmět
Pozn.: Cizí klíče jsou vyjadřovány vztahy a nikoliv atributy entitních množin. Chlapek, D.: 4IT218 Databáze
Úrovně konceptuálních modelů Datum Známka Pokus
Učitel
Student
zkoušení
Předmět
xname
osobní číslo
Učitel
Student Datum Známka Pokus
zařazení
Zkouška
zařazení
zařazení ident
Předmět
Chlapek, D.: 4IT218 Databáze
Úrovně konceptuálních modelů Datum Známka Pokus
Učitel
zkoušení
Student
Konceptuální schéma reality
Předmět
xname
osobní číslo
Učitel
Student Datum Známka Pokus
Konceptuální model dat
zařazení
zařazení
Zkouška
zařazení ident
Předmět
Chlapek, D.: 4IT218 Databáze
Činnosti řešené při datovém modelování na konceptuální úrovni Rozlišení entitních podmnožin je také důležité pro přesnější zachycení vztahů mezi entitními množinami. Zaměstnanec zařazení Učitel
řešení
Vědec Administrativní zaměstnanec
Vědecký úkol
Chlapek, D.: 4IT218 Databáze
Katedra