Databzov systmy UIN 010 Steda 17 20 19
Databázové systémy UIN 010 Středa 17: 20 – 19: 45 Povinnosti: 2/1 Z, Zk (písemka na Z + ústní) 11/9/2020 Databázové systémy UIN 010 1
Kontakty konzultačky: po dohodě telefon: 777 171 858, 777 116 363 e-mail: lenka. kebortova@digres. cz www: carolina. mff. cuni. cz/~kebortov/databaze. html 11/9/2020 Databázové systémy UIN 010 2
Literatura • J. Pokorný, I. Halaška: Databázové systémy. FEL ČVUT, 1998 • J. Pokorný: Základy implementace souborů a databází. UK Praha, 1997 • J. Pokorný, I. Halaška: Databázové systémy. Vybrané kapitoly a cvičení. UK, 1998 • J. Pokorný: Databázové systémy a jejich použití v informačních systémech. Academia, 1992 11/9/2020 Databázové systémy UIN 010 3
Syllabus 1. Základní rysy databázové technologie. 2. Konceptuální modelování, E-R model, integritní omezení. 3. Relační datový model. Metody převodu z konceptuálního schématu do schématu v relačním modelu. Normální formy. Dekompozice a syntéza. 4. Dotazovací jazyky. Relační algebra. Relační kalkul. Jazyk SQL. 5. Architektury a implementace databázových systémů: hostterminál, klient-server, distribuované systémy, transakční zpracování. 6. Základní organizace souborů na vnější paměti. 11/9/2020 Databázové systémy UIN 010 4
Trocha historie • 2. polovina 50. let - uživatel zahrnuje ve svém programu popis dat, data, algoritmy pro zpracování dat - programy pracují zvlášť a s omezeným množstvím dat • 1. polovina 60. let - zpočátku data oddělena od programů programy již mohou pracovat nad více množinami dat. - následuje mohutný nárůst množství zpracovávaných dat systémy pro zpracování souborů • záznamy uchovávány v různých souborech • pro výběr či přidávání záznamů napsány různé aplikace • přináší však také celou řadu nevýhod 11/9/2020 Databázové systémy UIN 010 5
Nevýhody SPZS • • • Redundance a nekonzistence Obtíže v přístupu k datům Problém s atomicitou Problém se souběžným přístupem Problém s bezpečností Nízké prostředky pro vytváření vazeb mezi záznamy 2. polovina 60. let – vznik systémů řízení bází dat (SŘBD) 11/9/2020 Databázové systémy UIN 010 6
Systém řízení bází dat = speciální programové vybavení, s jehož pomocí je organizována správa databáze • přístup k datům prostřednictvím SŘBD • data uložena v databázi, jejich popis není součástí uživatelských programů nezávislost dat na uživ. programech a naopak • data udržována jednotně a jejich struktury navrhovány centrálně Databázový systém = Databáze + SŘBD + Správce dat 11/9/2020 Databázové systémy UIN 010 7
Specifikace dat v databázi • Dvě úrovně pohledu - fyzická úroveň – JAK jsou data ukládána … fyzické schéma databáze - logická úroveň – JAKÁ data jsou ukládána … logické schéma databáze 11/9/2020 Databázové systémy UIN 010 8
Návrh databáze Výsledkem by mělo být - (logické) schéma databáze - popis objektů a vztahů mezi nimi - prostředek pro vytvoření: databázový model = kolekce pojmů, na kterých je vybudován jazyk pro popis dat a vztahů mezi nimi - fyzické schéma - implementace logických struktur 11/9/2020 Databázové systémy UIN 010 9
Návrh databáze Externí schémata Logické schéma poloautomatické Konceptuální schéma Fyzické schéma 11/9/2020 Databázové systémy UIN 010 10
Konceptuální schéma Entity Relationship Model (P. Chen 1976) = soubor pojmů, s jejichž pomocí se popisuje realita - existuje i lineární textová notace, známější a častěji užívaná je grafická podoba tzv. ER-diagram Pojmy, které ER-model nabízí: • entita = objekt reálného světa, který je odlišitelný od ostatních objektů, v diagramu reprezentovány obdélníky • vztah mezi entitami = uspořádané n-tice entit, reprezentovány kosočtverci propojenými s příslušnými obdélníky, obecně n-ární • atribut = vlastnosti entit či vztahů 11/9/2020 Databázové systémy UIN 010 11
Užívané notace • entitní typ – entita, vztahový typ – vztah • entita – instance entity, vztah – instance vztahu Identifikátor (identifikační klíč) entitního (resp. vztahového) typu = jeden nebo skupina atributů typu, které rozlišují jednotlivé entity navzájem Pozn. V některých případech mohou být součástí identifikátoru i jiné atributy než entitě vlastní. 11/9/2020 Databázové systémy UIN 010 12
Neatomické atributy • Skupinové (složené) atributy ADRESA MĚSTO ULICE ČÍSLO • Vícehodnotové atributy TELEFON 11/9/2020 Databázové systémy UIN 010 13
Kardinalita vztahu = integritní omezení pro vztahy, které celé konceptuální schéma přibližuje realitě Př. KINO promítá FILM Vztah 1: 1 - kino promítá nejvýše jeden film, - film je promítán v nejvýše jednom kině. Obecně zahrnuje také případy 1: 0 nebo 0: 1. 11/9/2020 Databázové systémy UIN 010 14
Vztah 1: N - kino může promítat více než jeden film, - film je promítán v nejvýše jednom kině. Pozor na směr vztahu! Vztah M: N - kino může promítat více než jeden film, - film může být promítán ve více než jednom kinu. Funkční závislost Př. Film může být promítán v nejvýše jednom kinu, ale kino může promítat více než jeden film. - film jednoznačně určuje kino, v němž je promítán funkční závislosti kina na filmu 11/9/2020 Databázové systémy UIN 010 15
Členství ve vztahu • existence entity bez zapojení do některého vztahu vs. zapojení každého výskytu entity do některého vztahu nepovinné resp. povinné členství ve vztahu Př. Zaměstnanec pracuje Oddělení Platí: • Každý zaměstnanec musí být zařazen do alespoň jednoho z oddělení. • Oddělení může existovat i bez přidělených zaměstnanců. členství entitního typu Zaměstnanec je ve vztahu Pracuje povinné existenční závislost 11/9/2020 Databázové systémy UIN 010 16
Slabé entitní typy • součástí identifikátoru mohou být i jiné atributy než entitě vlastní na základě hodnot vlastních atributů nerozlišíme mezi dvěma instancemi jednoho entitního typu 1. slabý entitní typ 1. instance jsou identifikovatelné povinným vztahem k instanci entity jiného typu (identifikační vlastník) 2. identifikační vztah (dvojitý kosočtverec) identifikační závislost Identifikační závislost implikuje existenční závislost. Ne naopak!!! Exemplář 11/9/2020 (1, 1) (0, n) Databázové systémy UIN 010 Kniha 17
ISA hierarchie • • obdoba dědičnosti u objektově-orientovaných programovacích jazyků generalizace vs. specializace Př. Osoba (ID, Jméno, Datum narození, Bydliště) Učitel … Osoba + platový výměr, titul Student … Osoba + obor, ročník 1. jediný entitní typ Osoba s umělým atributem typ_osoby 2. dva nové podtypy typu Osoba – Učitel a Student Učitel (platový výměr, titul) is a Osoba Student (obor, ručník) is a Osoba 11/9/2020 Databázové systémy UIN 010 18
Grafická podoba ISA vztahu OSOBA ISA UČITEL STUDENT !Identifikace je jedna z věcí, které se dědí! 11/9/2020 Databázové systémy UIN 010 19
n-ární vztah • dosud binární, ale obecně n-ární vztahy Zákazník N Účet M 1 Pobočka • problémy s kardinalitou dekompozice do binárních vztahů 11/9/2020 Databázové systémy UIN 010 20
Možné dekompozice Zákazník Účet Pobočka nebo Zákazník Účet 11/9/2020 Pobočka Databázové systémy UIN 010 21
Rekurzivní vztahy komponenta sestává se Součásti složenina Př. (1, n) hraje s Team Osoby (1, n) 11/9/2020 Databázové systémy UIN 010 dítě matka otec N 1 1 rodina 22
Náhrady konstrukcí • • cílový systém nemusí připouštět všechny zmíněné pojmy snaha o náhradu takových konstrukcí dekompozice vztahu M: N Zaměstnanec (1, m) (1, n) Úkol • nový entitní typ … formální a obsahující klíče entit Zaměstnanec 11/9/2020 (1, n) (1, 1) ZÚ (1, 1) Databázové systémy UIN 010 (1, m) Úkol 23
- Slides: 23