360 likes | 545 Views
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í.
E N D
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) • 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. • 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 • Konceptuální 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 • 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 • Vlastnost typu entity nebo vztahu • Vztah • 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 1 1 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 1 N 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 UČITEL VEDOUCÍ KATEDRY isa
Členství ve vztahu ODDĚLENÍ ZAMĚSTNANEC zaměstnává • 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ĚSTNANEC zaměstnává • 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ĚSTNANEC zaměstnává • 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ĚSTNANEC zaměstnává • 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 číslo název prodává N Zboží název M N vystavil N obsahuje 1 Objednávka Zákazník č.obj množství datum č.zák jméno