Databázové systémy

0

Proč databázové systémy?

– sdílení dat

– unifikované rozhraní a jazyky definice dat a manipulace s daty

– opakovaná využitelnost dat (data nemají životnost pouze s tím daným programem)

– bezespornost dat (možnost jednoznačné identifikace manipulace s daty)

– snížení objemu dat (odstranění redundance)

Databáze – modely uspořádání dat

– model správy souborů (organizované zpracování souborů)

– hierarchický model (analogické s hierarchií v podniku)

– síťový model (každý objekt byl propojen s každým objektem, realizovatelné na bázi vnitřní paměti, velikost paměti je omezující)

– relační model (tabulky jsou určitým způsobem uspořádány)

– post-relační model

– objektový model (souvisí s „obecným nadhledem“)

Relační model – konceptuální modelování

– autorem E. F. Codd (1969), databáze založené na matematickém aparátu relačních množin

– jazykem pro práci s relačním modelem je SQL (Structured Query Language)

– v současné době nejrozšířenější

– základem relačního modelu je tabulka (relace)

– sloupce odpovídají jednotlivým vlastnostem (atributům) entity, řádky (záznamy) jsou odpovídajícími n-ticemi

Základní pojmy

Entita = objekt reálného světa, o kterém potřebujeme uchovávat informace, mohou být konkrétní (například studenti) či abstraktní

Atribut = skutečnost, kterou o dané entitě známe (třeba jméno studenta)

Vztahy = 1:1 (student x trvalé bydliště), 1:N (skupina x student), N:M (student x předměty)

Primární klíč = kombinace jednoho a více atributů, které jsou unikátní pro daný záznam

Cizí klíč = kombinace jednoho a více atributů, kterém odkazují na primární klíč

Relace = podmnožina kartézského součinu atributových domén (n-tice hodnot atributů – tabulka)

Vztah k ER (Entity Relationship) modelu:

– entita = tabulka

– atribut = sloupec tabulky

– vztah = lze realizovat dodatečným sloupcem (1:1, 1:N) nebo tabulkou (M:N)

Pravidla pro tabulky

– každý řádek odpovídá jedné n-tici relace

– pořadí řádků i sloupců je nevýznamné, žádné dva řádky nejsou stejné

– význam každého sloupce je určen jménem atributu

– atribut = sloupec, záznam = řádek, položka = buňka tabulky

Operace s relacemi

– selekce (výběr řádků, restrikce) – operace nad jedinou relací

– projekce (výběr atributů – sloupců) – operace nad jedinou relací

– sjednocení – operace nad více relacemi

– průnik – operace nad více relacemi

– rozdíl – operace nad více relacemi

– spojení – operace nad více relacemi (spojení tabulek přičemž zmizí duplicitní údaje)

Konceptuální datové modelování

– datová analýza (nikoliv funkční analýza)

  • zpravidla následuje po analýze informačního systému (ta řeší funkcionalitu systému)
  • modelování schématu databáze
  • modelování „datové reality“ (jaká budeme mít v IS data)
  • pohled uživatele (analytika)

Informační systém: Datová vrstva (databáze) => aplikační vrstva (funkce) => prezentační vrstva (výstup pro uživatele).

ER modelování

– E-R (entity-relationship) modelování

  • dva typy objektů – entity a vztahy (mezi entitami)
  • ER model databáze definuje její konceptuální schéma

– de facto standard pro datové modelování

– pro „plochá“ formátovaná (strukturovaná) data

  • objektové, relační a objektově-relační databáze
  • nevhodné pro multimediální data, XML, text

Pravidla pro tvorbu ER modelování

– analýza reality, základních typů objektů, identifikačních atributů a analýza vztahů

– přezkoušení hrubého modelu

– analýza dalších atributů a odstranění redundantních vztahů (normalizace dat)

– stanovení omezujících pravidel

– přezkoušení detailního modelu

Entitní typ

 Vztahový typ

 Slabý entitní typ

– tzv. identifikační závislost (implikuje existenční závislost, což je integritní omezení zajišťující existenci identifikačního vlastníka)

 

  1. slabý entitní typ – je (spolu)identifikován zvenčí – všemi identifikátory entit vstupujících do vztahu
  2. vstupuje do vztahu vždy s kardinalitou (1,1)

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

Externí schéma => logické schéma (<= konceptuální schéma – poloautomatické) => fyzické schéma.

Kardinalita vztahu

Kardinalita vztahu = integritní omezení pro vztahy, které celé konceptuální schéma přibližuje realitě.

Vztah 1:1 = kino promítá nejvýše 1 film, film je promítán nejvýše v 1 kině.

Obecně také zahrnuje případy 1:0 nebo 0:1.

Vztah 1:N = kino může promítat více než 1 film, film je promítán v nejvýše jednom kině.

Vztah M:N = kino může promítat více než 1 film, film může být promítán ve více než 1 kině.

Praktické příklady

Microsoft Access

Jedná se o poměrně malou databázi, která svým rozsahem koresponduje s produkty MS Office. Spojuje vývojové nástroje databázové části a nástroje pro vývoj aplikace.

Známé verze na českém trhu: Access 2.0, Access 97, Access 2000, Access 2003, Access 2007

Kompatibilita verzí je špatná, problém je též se zabezpečením proti průniku neoprávněných uživatelů.

 

Comments are closed.