36
Databázové systémy M. Kučerová

Databázové systémy

Embed Size (px)

DESCRIPTION

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í. - PowerPoint PPT Presentation

Citation preview

Page 1: Databázové systémy

Databázové systémy

M. Kučerová

Page 2: Databázové systémy

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

Page 3: Databázové systémy

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)

Page 4: Databázové systémy

Literatura Pokorný, J., Halaška, I.: Databázové

systémy. ČVUT Praha, 2003 Poulová, P.: Modul 5 – Databáze.

Gaudeamus Hradec Králové, 2001

Page 5: Databázové systémy

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

Page 6: Databázové systémy

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

Page 7: Databázové systémy

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

Page 8: Databázové systémy

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

Page 9: Databázové systémy

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

Page 10: Databázové systémy

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

Page 11: Databázové systémy

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

Page 12: Databázové systémy

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)

Page 13: Databázové systémy

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

Page 14: Databázové systémy

Architektura DBS

Page 15: Databázové systémy

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

Page 16: Databázové systémy

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)

Page 17: Databázové systémy

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

Page 18: Databázové systémy

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

Page 19: Databázové systémy

E-R model Atribut

Vlastnost typu entity nebo vztahu

Vztah Propojení mezi entitami

Page 20: Databázové systémy

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

Page 21: Databázové systémy

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

Page 22: Databázové systémy

Kardinalita 1:1

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

KATERA VEDOUCÍVEDE1 1

Page 23: Databázové systémy

Kardinalita 1:N

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

KATEDRA UČITELPRACUJE1 N

Page 24: Databázové systémy

Kardinalita M:N

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)

STUDENT PŘEDMĚTKREDITM N

Page 25: Databázové systémy

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 UČITELisa

Page 26: Databázové systémy

Členství ve vztahu

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ů

ODDĚLENÍ ZAMĚSTNANEC

zaměstnává

Page 27: Databázové systémy

Členství ve vztahu

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

ODDĚLENÍ ZAMĚSTNANEC

zaměstnává

Page 28: Databázové systémy

Členství ve vztahu

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í

ODDĚLENÍ ZAMĚSTNANEC

zaměstnává

Page 29: Databázové systémy

Členství ve vztahu

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

ODDĚLENÍ ZAMĚSTNANEC

zaměstnává

Page 30: Databázové systémy

Č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

Page 31: Databázové systémy

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.

Page 32: Databázové systémy

ČTENÁŘ

MÁ PŮJČEN

EXEMPLÁŘ MÁ KOPIE

KNIHA

MÁ REZERVOVÁNU

Page 33: Databázové systémy

ČTENÁŘ

MÁ PŮJČEN

EXEMPLÁŘ

DAT_ZPĚT

MÁ KOPIE

KNIHA

MÁ REZERVOVÁNU

DAT_REZ1N

NM

1N

Page 34: Databázové systémy

ČTENÁŘ

Č_ČT JMÉNO ADRESA

MÁ PŮJČEN

EXEMPLÁŘ

INV_Č CENA

DAT_ZPĚT

MÁ KOPIE

KNIHA

MÁ REZERVOVÁNU

DAT_REZ

ISBN AUTOR

TITUL

1N

NM

1N

Page 35: Databázové systémy

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ů

Page 36: Databázové systémy

RČ jméno plat

Zaměstnanec

pracuje_v

Oddělení

číslo

název

N

1 řídí

Vedoucí

isa

1

1

prodává1

ZbožíN číslo

název

dodává

N

cena

Dodavatel

M

č_dod jméno

obsahuje

množství

Objednávka

MNvystavil N

Zákazník

1

č.objdatumč.zák jméno