13. Konceptuální a logický datový model, dotazovací jazyk SQL, transakční zpracování, objektově-relační mapování, noSQL databáze.

Konceptuální a logický datový model

  1. konceptuální model - mapování skutečnosti na databázovou reprezentaci, používá se UML a ER diagrámů
  1. logický model - specifikuje jak bude konceptualni model vypadat v databazi
  1. fyzicky model - jak je databaze implementovana a jak se budou data ukladat

Relační model

Základní pojmy

  • relace (relation): Jsou dvourozměrné struktury tvořené záhlavím a tělem (databázové tabulky).
  • entitní typ : je nějaká “věc” nebo “objekt” jednoznačně odlišitelná od ostatních (entitní typ je dán množinou svých atributů). Obvykle je vyjádřen podstatným jménem.
  • entita : instance entitního typu (konkrétní řádek v tabulce, obsahuje nějaké hodnoty)
  • atribut : vlastnost entitního typu. např.: Entitní typ student může obsahovat atributy: jmeno, prijmeni,
  • doména atributu : přípustné hodnoty pro atribut
  • vztah (relationship): zachycuje, jakým způsobem jsou dvě nebo více entit vztažené mezi sebou. Nezaměňovat s relací. Existují 3 typy vztahu mezi relacemi: 1:1, 1:N (cizí klíč na straně N), M:N (využívá vazební tabulku). Obvykle vyjádřen slovesem.
  • klíč (primární klíč) : je atribut (nejčastěji id) nebo množina atributů (např. autor, název v tabulce knížek). Klíč jednoznačně určuje entitu.
  • super klíč : Super klíč množiny entit je množina jednoho nebo více atributů, jejichž hodnoty jednoznačně určují entitu (tedy klíč je podmnožina atributů – např. všechny atributy).
  • kandidátní klíč : Kandidátní klíč množiny entit je minimální super klíč. Rodné číslo je kandidátní klíč entity zákazník, číslo účtu je kandidátní klíč klíč entity účet.
  • cizí klíč : je atribut, který korensponduje s primárním klíčem v jiné relaci (tabulce). Hodnotami cizího klíče v referencující (odkazující) relaci smí být jen ty hodnoty, které se vyskytují jako primární klíč v relaci referencované (odkazované).
  • slabá množina entit : při modelování reality se někdy vytváří entitní typy, které nemají samy o sobě význam, Existence slabé množiny entit závisí na množině definujících entit.

Parcialita vs Kardinalita

Kardinalita říká zdali se může entita (tabulka) účastnit vztahu vícekrát, parcialita zdali se daná entita (tabulka) musí ( nebo nemusí účastnit vztahu. V modelech se povinnost značí plnou čarou / 1 a nepovinnost přerušovanou čarou / 0.

Kardinalita vs. Konektivita

Kardinalita určuje počet prvků asociované množiny entit (entitního typu) prostřednictvím množiny vztahů.
Pro binární vztahy existují 4 typy kardinality:
  • 1:1 : přiřazuje jednomu záznamu jeden jediný záznam v jiné tabulce. Tento vztah se užívá jen ojediněle, protože vetšinou není důvod proč takové záznamy neumístit do jedné tabulky.
  • 1:N : přiřadí jednomu záznamu více záznamů v tabulce jiné. Nejpoužívanější typ relace, odpovídá mnoha situacím v reálném životě.
  • N:1 : obdobně jako 1:N.
  • M:N : méně častý. Umožňuje několika záznamům v jedné tabulce přiřadit několik záznamů v tabulce jiné. V databázové praxi bývá tento vztah z praktických důvodů nejčastěji realizován kombinací dvou vztahů 1:N a 1:M.

E-R diagramy

E-R digram je grafická reprezentace E-R (entity-relationship) modelu.
  • obdelníky - množiny entit (entitní typy)
  • kosočtverce - množiny vztahů
  • ovály - atributy 
  • zdvojené ovály se používají pro více hodnotové atributy
  • čárkované ovály značí odvozené (počítané) atributy
  • podtržené atributy - značí primární klíče

UML –Unified Modeling Language

Normální formy

První normální forma (1NF)
Relace je v 1NF právě tehdy, když platí současně:
  • atributy jsou atomické (dále nedělitelné)
  • k řádkům relace lze přistupovat podle obsahu (klíčových) atributů
  • řádky tabulky jsou jedinečné
Příklad:
Relace nesplňující 1NF:
jmeno
prijmeni
adresa