Top Banner
Databáze 2011/2012 Konceptuální model DB RNDr. David Hoksza, Ph.D. http://siret.cz/hoksza
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ň

Jan 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

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ň

ER model – typy vizualizace

zdroj: wikipedia.org