Databázové systémy M. Kučerová
Sylabus Základní pojmy databázové technologie Konceptuální modelování, E-R model Relační model dat, normální formy relací Návrh relačního schématu databáze Relační algebra a relační kalkul Dotazovací jazyky; jazyk SQL
Zkoušení Projekt (2 x 15 bodů) 30 bodů Půlsemestrální test (17.-21.11.) 30 bodů Písemná zkouška 40 bodů Známka: výborně <90,100> velmi dobře <80,90) dobře <70,80)
Literatura Pokorný, J., Halaška, I.: Databázové systémy. ČVUT Praha, 2003 Poulová, P.: Modul 5 – Databáze. Gaudeamus Hradec Králové, 2001
Základní pojmy Databáze (DB) Souhrn všech uložených dat dané organizace Zahrnuje 4 komponenty: Datové prvky Vztahy mezi prvky dat Integritní omezení Schéma
Základní pojmy Systém řízení báze dat (SŘBD) Speciální program, měl by poskytovat tyto služby: Definici databáze Efektivní manipulaci databáze Souběžný přístup Ochranu dat Zotavení se z chyb
Základní pojmy Databázový systém (DBS) DBS = DB + SŘBD Databáze spolu s databázovým řídícím systémem, tj. DBS = DB + SŘBD
Základní pojmy Administrátor dat Rozhoduje o logické struktuře uložených dat na základě znalosti potřeb organizace Určuje způsob manipulace s daty Odpovídá za bezpečnostní politiku přístupu k databázi
Základní pojmy Administrátor databáze odpovídá za: Technickou stránku správného chodu databázového systému Uložení dat na fyzické úrovni Zálohování dat
Zpracování dat Ručně Pomocí souborů (= hromadné zpracování dat) Redundantnost a nekonzistence dat Obtížnost přístupu k datům Izolace dat Problémy s víceuživatelským zpracováním Problémy s ochranou a integritou dat
Zpracování dat Pomocí databázového systému Charakteristika dat v DB: Perzistence (přetrvávání) Sdílení dat Spolehlivost Integrita databáze Autorizace Neredundance Nezávislost
Jazykové prostředky Se SŘBD je spojena existence dvou typů jazyků: Jazyk pro definici dat (JDD) Jazyk pro manipulaci s daty (JMD) SQL – zahrnuje nejen JDD a JMD, ale i další „podjazyky“ (např. pro udílení práv uživatelům)
Historie DBS 60. léta 20. stol. 1970 Současnost DBS založený na hierarchickém modelu 1970 E. F. Codd položil základy relačního modelu dat (vychází z teorie množin a predikátové logiky) Současnost Objektové databáze
Architektura DBS
Architektura DBS Konceptuální hladina Externí hladina Interní hladina Globální logický pohled na data První krok databázového modelu Externí hladina „okno“ do konceptuální hladiny Interní hladina Popis dat nižší úrovně Poskytuje interface operačnímu systému
Modelování dat Vytvoření databázového schématu (tj. popisu struktury dat) Konceptuální modelování (E-R konceptuální model) Databázové modelování (Relační model dat)
E-R model Popis konceptuálního schématu modelované reality bez ohledu na to, jak bude implementován v konkrétním DBS, používá následující pojmy: Entita Atribut Klíč Vztah Kardinalita vztahu E-R model je obrázek věcí z reálného světa, které náš systém zamýšlí sledovat, a vztahů mezi nimi
E-R model Entita Typ entity Objekt reálného světa, který je schopný samostatné existence a je jednoznačně odlišitelný od ostatních objektů Typ entity Množina entit stejného typu
E-R model Atribut Vztah Vlastnost typu entity nebo vztahu Propojení mezi entitami
E-R model Identifikační (primární) klíč Atribut (skupina atributů) jehož hodnota slouží k jednoznačné identifikaci jednotlivých entit Jednoduchý klíč x Složený klíč Parcialita vztahu Vyjadřuje povinnost nebo volitelnost jeho existence
Integritní omezení pro vztahy Kardinalita vztahu Vyjadřuje, kolik entit jednoho typu může být ve vztahu s kolika entitami z druhého typu entit Členství ve vztahu povinné/nepovinné členství ve vztahu
Kardinalita 1:1 Jeden vedoucí vede maximálně jednu katedru KATERA VEDOUCÍ VEDE Jeden vedoucí vede maximálně jednu katedru Jedna katedra vede maximálně jeden vedoucí 1:0 – katedra nemá vedoucího 0:1 – vedoucí nemá katedru
Kardinalita 1:N Jedna katedra může mít více než jednoho učitele PRACUJE KATEDRA UČITEL Jedna katedra může mít více než jednoho učitele Daný učitel pracuje maximálně na jedné katedře Zahrnuje i případy 1:0, 0:1 a 1:1
Kardinalita M:N M N PŘEDMĚT STUDENT KREDIT Daný student může mít kredity z více předmětů Daný předmět může dát kredity více studentům Zahrnuje i případy 1:0, 0:1, 1:1 a 1:N (N:1)
ISA hierarchie (generalizace a specializace) A isa B – typ entit B je zobecněním typu entit A, resp. typ entit A je speciálním případem B VEDOUCÍ KATEDRY isa UČITEL
Členství ve vztahu ODDĚLENÍ zaměstnává ZAMĚSTNANEC Daný zaměstnanec musí být zaměstnán alespoň na jednom oddělení Dané oddělení může (nemusí) zaměstnávat jednoho nebo více zaměstnanců
Členství ve vztahu ODDĚLENÍ zaměstnává ZAMĚSTNANEC Dané oddělení může (nemusí) zaměstnávat jednoho nebo více zaměstnanců Daný zaměstnanec může (nemusí) být zaměstnán na jednom nebo více odděleních
Členství ve vztahu ODDĚLENÍ zaměstnává ZAMĚSTNANEC Dané oddělení musí zaměstnávat alespoň jednoho zaměstnance Daný zaměstnanec musí být zaměstnán alespoň na jednom oddělení
Členství ve vztahu ODDĚLENÍ zaměstnává ZAMĚSTNANEC Dané oddělení musí zaměstnávat alespoň jednoho zaměstnance Daný zaměstnanec může (nemusí) být zaměstnán na jednom nebo více odděleních
Činnosti při tvorbě E-R modelu 1. identifikace typů entit objekt jako množiny objektů stejného typu (např. čtenář) 2. identifikace typů vztahů, do kterých entity identifikovaných typů mohou vstupovat (např. má půjčen) 3. přiřazení jednotlivým typům entit a vztahů popisné atributy (např. titul, autor, ISBN) 4. formulace integritních omezení (IO) vyjadřujících s větší či menší přesností soulad schématu s modelovanou realitou
Příklad č. 1 Uvažujeme knihovnu, kde exemplář každé knihy je dán inventárním číslem, vlastní kniha identifikací ISBN. Čtenáři si půjčují exempláře s datem navrácení zpět a mohou si knize rezervovat, přičemž rezervace je aktuální pouze do určitého datumu.
ČTENÁŘ MÁ PŮJČEN MÁ REZERVOVÁNU KNIHA EXEMPLÁŘ MÁ KOPIE
ČTENÁŘ N DAT_REZ 1 MÁ PŮJČEN MÁ REZERVOVÁNU DAT_ZPĚT M N KNIHA 1 N EXEMPLÁŘ MÁ KOPIE
Č_ČT JMÉNO ADRESA ČTENÁŘ N DAT_REZ 1 MÁ PŮJČEN MÁ REZERVOVÁNU DAT_ZPĚT M N KNIHA 1 N EXEMPLÁŘ MÁ KOPIE TITUL INV_Č CENA ISBN AUTOR
Příklad č. 2 - Databáze malého obchodního domu Obchodní dům je členěn do oddělení Každé oddělení má jednoho vedoucího Každý vedoucí vede nejvýše jedno oddělení Každé oddělení prodává více druhů zboží. Přičemž každé zboží se prodává v nejvýše jednom oddělení Každý druh zboží může dodávat více dodavatelů a každý dodavatel může dodávat více druhů zboží Potřebujeme mít zaznamenány informace o zaměstnancích, odděleních, prodávaném zboží, zákaznících, objednávkách od zákazníků
plat RČ jméno č_dod jméno isa Zaměstnanec Dodavatel N Vedoucí pracuje_v 1 M číslo řídí 1 dodává cena 1 Oddělení N 1 název číslo prodává N Zboží název M N vystavil N 1 obsahuje Objednávka Zákazník č.obj množství datum č.zák jméno