![Page 1: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/1.jpg)
Databáze 2011/2012
Konceptuální model DB
RNDr. David Hoksza, Ph.D. http://siret.cz/hoksza
![Page 2: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/2.jpg)
Osnova
• Organizace
• Stručný úvod do DB a DB modelování
• Konceptuální modelování
• Cvičení - ER modelování
![Page 3: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/3.jpg)
Náplň přednášky a cvičení
Přednáška Cvičení
• Konceptuální a logické
modelování o Konceptuální (ER) model
o Logický (relační) model
• Jazyk SQL – DDL, DML
• Jazyk T-SQL o procedurální programování
• procedury, funkce, triggery
o transakce
• ER a relační modelování
• SQL - MS SQL Server
• T-SQL - MS SQL Server
![Page 4: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/4.jpg)
Zápočet & zkouška • Docházka nepovinná
• Zápočet o 2 (praktické) zápočtové testy
o každý > 60% (max. 1 opravný pokus)
1. 31. 10. 2012 - konceptuální modelování + SQL dotazování
2. 12. 12. 2012 - T-SQL
• Zkouška o zkouškový test + diskuze
• konceptuální modelování, SQL dotazování, T-SQL programování
• 100 - 90 (A), 90 – 80 (B), 80 – 70 (C), 70 – 60 (D), 60 – 50 (E), < 50 (F)
![Page 5: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/5.jpg)
Co je databázový systém DBS = SŘBD + DB DBS = DBMS + DB
• DataBázový Systém
(DBS) =
o Systém Řízení Báze Data (SŘBD)
• zapouzdřuje DB
• nadstavba na daty
+
o DataBáze (DB)
• data + metadata
• DataBase System (DBS)
=
o DataBase Management
System (DBMS)
+
o DataBasee (DB)
![Page 6: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/6.jpg)
DBMS • Typy DBMS
o RDBMS
• relační
o ODBMS
• objektový
o ORDBMS
• objektově-relační
• Požadavky
o přístup k datům (data access)
o perzistence dat (persistency)
o datová integrita (data
integrity)
o současný přístup více uživatelů
(concurrency control)
o obnova DB (recovery)
o …
![Page 7: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/7.jpg)
Pohled na informační systém (IS)
Prezentační vrstva
Aplikační vrstva
Datová vrstva
(DBS)
![Page 8: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/8.jpg)
Modelování DBS – úrovně abstrakce
![Page 9: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/9.jpg)
Modelování z pohledu vývoje IS
![Page 10: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/10.jpg)
ER model • entitně(Entity)-vztahový(Relationship) model
o vhodné pro modelování “plochých” (vnitřně nestrukturovaných) dat
o nevhodné pro modelování multimediálních (vnitřně strukturovaných) dat
o konceptuální schéma = ER model
o 2 typy objektů
• Entity
o třídy objektů stejného typu
• Vztahy
o komunikace mezi entitami
• Atributy
o vlastnosti entit a vztahů
• software o komerční: Rational Rose, Enterprise Architect, Toad Data Modeler,
Microsoft Visio, ER Studio,
o free: Oracle SQL Developer Data Modeler, MySQL Workbench, Open ModelSphere
![Page 11: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/11.jpg)
Modelový systém IS pro MHD
• Entity o AUTOBUS
• Sériové číslo
• Rok výroby
• Typ
• SPZ
• …
o RIDIC • Jméno
• ID
• Datum narození
• …
o LINKA • Číslo
• Odkud
• Kam
• …
• Vztahy o LINKA ZAJISTUJE AUTOBUS
o AUTOBUS RIDI RIDIC
• Integritní omezení (IO) o atribut ID identifikuje řidiče
o každou linku musí zajišťovat
alespoň jeden autobus
o věk řidiče nesmí být vyšší než 60
o dvě linky nesmějí mít různá čísla
o doména číslo linky musí být
celé kladné číslo
o …
![Page 12: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/12.jpg)
ER model - entita • Entita
o RIDIC
• Entita + atribut o RIDIC + jmeno (nejednoznačné)
• Entita o LINKA
• Entita + atribut o LINKA + cislo (jednoznačné)
![Page 13: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/13.jpg)
ER model - atributy
• Nepovinný atribut
• Vícehodnotový atribut
• Složený atribut
![Page 14: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/14.jpg)
ER model - atributy • Identifikační atribut
(jednoznačně definující
objekt v rámci třídy)
• Víceatributový
identifikátor
• Více identifikačních
atributů
![Page 15: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/15.jpg)
ER model - vztah
• Vztah
• Binární vztah
• Vztah s definovanou kardinalitou (násobnost vztahu), parcialitou (povinnost býti ve vztahu)
![Page 16: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/16.jpg)
ER model – vztah (kardinalita, parcialita)
• Linka je operována až n řidiči – řidič může jezdit maximálně na jedné lince
• Linka je operována až n řidiči – řidič může jezdit právě na jedné lince
• Linka je operována právě
jedním řidičem – řidič může jezdit právě na jedné lince
• Linka je operována právě jedním řidičem – řidič může jezdit maximálně na jedné lince
• Linka je operována až n řidiči – řidič může jezdit až na n linkách
![Page 17: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/17.jpg)
ER model - vztah • Vztah může být
doplňen atributem
• Zjemňuje granularitu
vztahu o vyjadřuji skutečnost, že řidič má
přidělenu danou linku, ale
pouze v určité dny
• N-ární (ternární,
kvaternární, …) vztah o Kardinalita a parcialita se váže
ke všem entitám ve vztahu, tj.
autobus je řízen právě jedním
řidičem na právě jedné lince
![Page 18: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/18.jpg)
ER model – rekurzivní vztah
• Rekurzivní vztah vzniká,
když je entita ve vztahu
se sama sebou
• Kardinality se značí pro
každý ze směrů -> různé
role mají různé
kardinality
![Page 19: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/19.jpg)
ER model – slabá entita • Do vztahu vstupuje
vždy s kardinalitou (1,1)
• Slabý entitní typ je
(spolu)identifikován
entitou/entitami ke
které/kterým se váže
smíšený identifikátor
externí identifikátor
![Page 20: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/20.jpg)
ER model – průniková entita
• Vztah M:N lze převést
na tzv. průnikový entitní
typ, tj. 2 vztahy 1:N
![Page 21: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/21.jpg)
ER model – ISA hierarchie • ISA (Is-A) hierarchie
umožňuje sdílení
atributů podobným
způsobem jako
dedění v OOP
• Podentity dědí jako
atributy, tak vztahy
nadřazené entity
![Page 22: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/22.jpg)
ER model – ISA hierarchie – dekompozice I
![Page 23: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/23.jpg)
ER model – ISA hierarchie – dekompozice II
![Page 24: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/24.jpg)
ER model – ISA hierarchie – dekompozice III
![Page 25: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/25.jpg)
ER model – komplexní příklad
Vyrobeno v aplikaci ER-to-SQL (ke stažení zde) http://siret.ms.mff.cuni.cz/skopal/bakalari.htm
![Page 26: Datab - Univerzita Karlovasiret.ms.mff.cuni.cz/hoksza/teaching/vscht/db/2011/presentations/lecture01.pdf · o atribut ID identifikuje řidiče o každou linku musí zajišťovat alespoň](https://reader033.vdocuments.mx/reader033/viewer/2022041618/5e3d441232b4192e4a4125f1/html5/thumbnails/26.jpg)
ER model – typy vizualizace
zdroj: wikipedia.org