Download - Úvod do databázových systémů
![Page 2: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/2.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/3.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/4.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/5.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/6.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/7.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/8.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/9.jpg)
Příklad 1: U–(A∪(B∩C))
![Page 10: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/10.jpg)
Příklad 1: U–(A∪(B∩C))
![Page 11: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/11.jpg)
Příklad 2: (U–(B∩C)) ∩ (A∪B)
![Page 12: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/12.jpg)
Příklad 2: U–(A∪(B∩C))
![Page 13: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/13.jpg)
Příklad 3: (A∪B)∩(U-(A∩B))
![Page 14: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/14.jpg)
Příklad 3: (A∪B)∩(U-(A∩B))
![Page 15: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/15.jpg)
Příklad 4: (U–(A∪C)) ∩ (B∪A))
![Page 16: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/16.jpg)
Příklad 4: (U–(A∪C)) ∩ (B∪A))
![Page 17: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/17.jpg)
Příklad 5: (A∪B)∩(U-(B∪(U-C)))
![Page 18: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/18.jpg)
Příklad 5: (A∪B)∩(U-(B∪(U-C)))
![Page 19: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/19.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/20.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/21.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/22.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/23.jpg)
Opakování - Zobrazení
![Page 24: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/24.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/25.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/26.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/27.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/28.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/29.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/30.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/31.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/32.jpg)
Zpracování dat Data Informace Objekt Atribut Typ objektu Entita Typ Entity
Pojmy
![Page 33: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/33.jpg)
Primární klíč Cizí klíč
Pojmy
![Page 34: Úvod do databázových systémů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/34.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/35.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/36.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/37.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/38.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/39.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/40.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/41.jpg)
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ů](https://reader035.vdocuments.pub/reader035/viewer/2022062408/568137e9550346895d9f9bb5/html5/thumbnails/42.jpg)
Příklad 1. – Evidence studentů Příklad 2. – Seznam zaměstnanců firem Příklad 3. – Sportovní statistika Příklad 4. – Katalog eshopu
Příklady