Transcript
Page 1: Úvod do databázových systémů

Úvod do databázových

systémů

Cvičení 02

Ing. Pavel Bednář[email protected]

Page 2: Úvod do databázových systémů

Ukázkový projekt IS Dostihy http://www.cs.vsb.cz/septakova/tzd/

Přednášky a informace http://dbedu.cs.vsb.cz

Videopřednášky http://barborka.vsb.cz/prednasky/

Výukové animace http://barborka.vsb.cz/prednasky/esf/

Odkazy

Page 3: Úvod do databázových systémů

Co je to množina ?Množina je soubor prvků, pro něž existuje pravidlo, které umožní rozhodnout, zda daný prvek do množiny patří nebo ne. Co je to kardinalita (mohutnost)

množiny ?Počet prvků množiny Co je rovnost množin ?Každý prvek množiny A je prvkem B a každý prvek B je prvkem A. Označení A = B. Co je to podmnožina (inkluze) Podmnožina A množiny B je taková množina, jejíž všechny prvky se zároveň nacházejí i v množině B. Označení A B.

Opakování - Množiny

Page 4: Úvod do databázových systémů

Co je to nadmnožina (exkluze) Množina B je nadmnožinou množiny A, jestliže každý prvek množiny A je prvkem množiny B. Označení A⊃B. Co je to disjunkní množina ?Dvě množiny A a B jsou disjunktní právě tehdy, když jejich průnik je prázdná množina. A ⋂ B = ∅

Opakování - Množiny

Page 5: Úvod do databázových systémů

Sjednocení množin – A ∪ BSjednocení prvků množin A,B rozumíme množinu všech prvků, které náleží alespoň do jedné z množin A,B.

Opakování - Množiny

Page 6: Úvod do databázových systémů

Průnik množin – A ⋂ BPrůnik množiny A, B rozumíme množinu všech prvků, které patří do množiny A i do množiny B.

Opakování - Množiny

Page 7: Úvod do databázových systémů

Doplněk množiny – A‘Doplněk množiny A rozumíme množinu všech prvků, které do množiny A nepatří.

Opakování - Množiny

Page 8: Úvod do databázových systémů

Rozdíl množin A-BRozdíl množin A,B rozumíme množin prvků, které do množiny A patří a do množiny B nepatří.

Opakování - Množiny

Page 9: Úvod do databázových systémů

Příklad 1: U–(A∪(B∩C))

Page 10: Úvod do databázových systémů

Příklad 1: U–(A∪(B∩C))

Page 11: Úvod do databázových systémů

Příklad 2: (U–(B∩C)) ∩ (A∪B)

Page 12: Úvod do databázových systémů

Příklad 2: U–(A∪(B∩C))

Page 13: Úvod do databázových systémů

Příklad 3: (A∪B)∩(U-(A∩B))

Page 14: Úvod do databázových systémů

Příklad 3: (A∪B)∩(U-(A∩B))

Page 15: Úvod do databázových systémů

Příklad 4: (U–(A∪C)) ∩ (B∪A))

Page 16: Úvod do databázových systémů

Příklad 4: (U–(A∪C)) ∩ (B∪A))

Page 17: Úvod do databázových systémů

Příklad 5: (A∪B)∩(U-(B∪(U-C)))

Page 18: Úvod do databázových systémů

Příklad 5: (A∪B)∩(U-(B∪(U-C)))

Page 19: Úvod do databázových systémů

Co je kartézský součinKartézský součin množin A, B je množina všech uspořádaných dvojic [a;b], kde první prvek je z množiny A a druhý prvek je z množiny B.A x B = {[a ; b]: a A, b B}

Opakování - Množiny

Page 20: Úvod do databázových systémů

A = {1,2} B = {a,b,c} C = {x,y,z}

Vytvořte kartézské součiny◦ A×B◦ A×B×C◦ (A×B)×(B×C)

Opakování - Množiny

Page 21: Úvod do databázových systémů

Mějme Informace:Pavel Novák, nov321Jan Malý, mal147Pavel Malý, mal025

Vypište obsahy množin: Jméno, Příjmení, Login

Vytvořte kartézský součin z vytvořených množin.

Vyznačte v součinu námi reprezentované informace

Opakování - Množiny

Page 22: Úvod do databázových systémů

Co je to zobrazeníZobrazení F množiny A do množiny B je pravidlo, které každému prvku a z A jednoznačně přiřadí nějaký prvek b z B.

B=F(A)

F… je identifikátor zobrazení A… je množina vzorů (definiční obor) B… je množina obrazů (obor hodnot, doména)

Opakování - Zobrazení

Page 23: Úvod do databázových systémů

Opakování - Zobrazení

Page 24: Úvod do databázových systémů

Pojmy◦ Zobrazení do množiny (ne všechny prvky z B)◦ Zobrazení na množinu (všechny prvky z B)

Opakování - Zobrazení

Page 25: Úvod do databázových systémů

Prosté (injektivní)Jestliže pro každé dva různé vzory existují různé obrazy

Opakování – Typy zobrazení

Page 26: Úvod do databázových systémů

SurjektivníKaždý prvek z množiny B má svůj obraz v množině A.

Opakování – Typy zobrazení

Page 27: Úvod do databázových systémů

Vzájemně jednoznačné (bijektivní)Každý vzor má právě jeden obraz a každý obraz právě jeden vzor.

Opakování – Typy zobrazení

Page 28: Úvod do databázových systémů

InverzníV bijektivní zobrazení existuje inverzní zobrazení, záměnou obrazů a vzorů.

Opakování – Typy zobrazení

Page 29: Úvod do databázových systémů

Předchůdce databázového zpracování Aplikace zpracovávali konkrétní úlohy Sami si řešili organizaci dat Závislost dat na programu Žádné nebo jen minimální vazby mezi

různými agendami.

Agendové zpracování dat

Page 30: Úvod do databázových systémů

Redundance Nekonzistence Integrita Obtížná dosažitelnost dat Izolovanost dat Současný přístup více uživatelů. Ochrana proti zneužití

Problémy

Page 31: Úvod do databázových systémů

Oddělení dat od programu◦ DB Server◦ Komunikace přes interface

Stará se fyzické uložení dat Řeší zabezpečení přístupu Současný přístup více uživatelů

Databázové zpracování dat

Page 32: Úvod do databázových systémů

Zpracování dat Data Informace Objekt Atribut Typ objektu Entita Typ Entity

Pojmy

Page 33: Úvod do databázových systémů

Primární klíč Cizí klíč

Pojmy

Page 34: Úvod do databázových systémů

Mějme nyní dvě množiny entit E1, E2. Mohou existovat dvojice (e1,e2), ei Ei,

které jsou mezi sebou v nějakém vztahu v Vztah 1:1Př. Zaměstnanec je vedoucím katedry Vztah 1:NPř. Zaměstnanec je členem katedry Vztah M:NPř. E1 = soubor firem, E2 = soubor výrobků. Vztah V je „firma vyrábí výrobek“

Vztah entit - Kardinalita

Page 35: Úvod do databázových systémů

N-ární vztahy mezi více tabulkami Množiny entit

◦ E1 je soubor učitelů◦ E2 je soubor vyučovaných předmětů◦ E3 je soubor tříd (studijních skupin)

Vztahy◦ V1: učitel učí předměty (M:N)◦ V2: třída má předepsány předměty (M:N)◦ V3: učitel učí ve třídě

Není jasné, který učitel učí předmět ve které třídě.◦ V4: učitel učí předmět ve třídě

Složitější vztahy

Page 36: Úvod do databázových systémů

Zaznamenává vztahy mezi entitami Obyčejná entita popisuje některý objekt Vztahová entita popisuje vztah mezi objekty Typ entity pojmenujeme názvem vztahu Její atributy jsou typy entit, mezi kterými

popisuje vztah Instance vztahu jsou pak konkrétní dvojice

či n-tice entit vstupujících do vztahu

Vztahová entita

Page 37: Úvod do databázových systémů

Příklad 1◦ Typ vztahové entity – UČÍ (UČITEL, PŘEDMĚT)◦ Instance vztahu – (Radoslav Fasuga, UDBS)

Příklad 2◦ Entity: MUŽI, ŽENY◦ Vztah – MANŽELSTVÍ (MUŽI, ŽENY)◦ Další atributy vztahy – datum svatby, …

Vztahová entita

Page 38: Úvod do databázových systémů

Vazba bez informace◦ Obsahuje jako atributy pouze typy entit vstupující

do vztahu.◦ Př. UČÍ (UČITEL, PŘEDMĚT)

Vazba s informací◦ Obsahuje další atributy zaznamenávající

vlastnosti vazby◦ Př. VSTUPUJÍDOMANŽELSTVÍ (MUŽ, ŽENA,

DATUM_SVATBY)

Vztahová entita

Page 39: Úvod do databázových systémů

Graficky znázorňuje objekty a jejich vztahy Obdélník označuje entitní typ Kosočtverec reprezentuje vztah mezi

entitními typy

ER Diagram

Page 40: Úvod do databázových systémů

Kardinalita vztahu◦ Určuje se dvěma větami Př. „Jeden učitel učí jeden nebo více předmětů“ (1:N)„Jeden předmět může mít jednoho nebo více učitelů“ (1:M)

Vztahová entita

Page 41: Úvod do databázových systémů

Do některých vztahů musí vstupovat každá entita množiny entit, do jiného vztahu ne.

Definujeme dva druhy členství ve vztahu◦ povinné (obligatorní)◦ nepovinné (fakultativní)

Určuje se dvěma větami Př. „Učitel může, ale nemusí učit předmět“ ( o )„Předmět musí mít učitele“ ( )

Povinnost členství

Page 42: Úvod do databázových systémů

Příklad 1. – Evidence studentů Příklad 2. – Seznam zaměstnanců firem Příklad 3. – Sportovní statistika Příklad 4. – Katalog eshopu

Příklady


Recommended