420 likes | 568 Views
Úvod do databázových systémů. Cvičení 02. Ing. Pavel Bednář pavel.bednar.st1@vsb.cz. Odkazy. 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 /
E N D
Úvod do databázových systémů Cvičení 02 Ing. Pavel Bednář pavel.bednar.st1@vsb.cz
Odkazy • Ukázkový projekt IS Dostihy http://www.cs.vsb.cz/septakova/tzd/ • Přednášky a informace http://dbedu.cs.vsb.cz • Videopřednáškyhttp://barborka.vsb.cz/prednasky/ • Výukové animace http://barborka.vsb.cz/prednasky/esf/
Opakování - Množiny • 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 • 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 • Sjednocení množin – A ∪ B Sjednocení 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 • Průnik množin – A ⋂ B Prů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 • 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 • Rozdíl množin A-B Rozdí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 • Co je kartézský součin Karté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 • 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 Mějme Informace: Pavel Novák, nov321 Jan Malý, mal147 Pavel 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í - Zobrazení • 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í • Pojmy • Zobrazení do množiny (ne všechny prvky z B) • Zobrazení na množinu (všechny prvky z B)
Opakování – Typy zobrazení • Prosté (injektivní) Jestliže pro každé dva různé vzory existují různé obrazy
Opakování – Typy zobrazení • Surjektivní Každý prvek z množiny B má svůj obraz v množině A.
Opakování – Typy zobrazení • 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í • Inverzní V bijektivní zobrazení existuje inverzní zobrazení, záměnou obrazů a vzorů.
Agendové zpracování dat • 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.
Problémy • Redundance • Nekonzistence • Integrita • Obtížná dosažitelnost dat • Izolovanost dat • Současný přístup více uživatelů. • Ochrana proti zneužití
Databázové zpracování dat • 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ů
Pojmy • Zpracování dat • Data • Informace • Objekt • Atribut • Typ objektu • Entita • Typ Entity
Pojmy • Primární klíč • Cizí klíč
Vztah entit - Kardinalita • Mějme nyní dvě množiny entit E1, E2. • Mohou existovat dvojice (e1,e2), eiEi, které jsou mezi sebou v nějakém vztahu v • Vztah 1:1 Př. Zaměstnanec je vedoucím katedry • Vztah 1:N Př. Zaměstnanec je členem katedry • Vztah M:N Př. E1 = soubor firem, E2 = soubor výrobků. Vztah V je „firma vyrábí výrobek“
Složitější vztahy • 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ě
Vztahová entita • 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 • 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 • 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)
ER Diagram • Graficky znázorňuje objekty a jejich vztahy • Obdélník označuje entitní typ • Kosočtverec reprezentuje vztah mezi entitními typy
Vztahová entita • 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)
Povinnost členství • 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“ ( )
Příklady • Příklad 1. – Evidence studentů • Příklad 2. – Seznam zaměstnanců firem • Příklad 3. – Sportovní statistika • Příklad 4. – Katalog eshopu