A5M33IZS – Informační a znalostní systémy Normální formy.

Slides:



Advertisements
Podobné prezentace
Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
Advertisements

Úvod do databázových systémů
Jan Tichava Zdroj:
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Pojmy z ERD.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Informatika pro ekonomy II přednáška 11
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
YDASYS Ing. Monika Šimková.
Databáze. Návrh Není to legrace a pro kvalitní databázi je nutné věnovat řadě věcem čas a je nutné použít i papír a tužku!!! Co je to databáze?
A5M33IZS – Informační a znalostní systémy Relační databázová technologie.
Úvod do Teorie množin.
Relační datový model Základní ideje
1IT Relační datový model
Úvod do databázových systémů
Databáze Jiří Kalousek.
Cvičení 13 Ing. Pavel Bednář
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Návrh Databází Štěpán Šípal.
KONCEPTUÁLNÍ MODELOVÁNÍ
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Fakulta elektrotechniky a informatiky
Relační databáze.
Normalizace.
Konceptuální návrh databáze
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Pre-algebra Antonín Jančařík.
Výroková logika.
Databázové systémy Přednáška č. 4.
Lineární zobrazení.
KOMBINATORIKA Permutace Variace Kombinace
Konceptuální návrh databáze
Úvod do databázových systémů
Úvod do logiky 5. přednáška
Databázové systémy Informatika pro ekonomy, př. 18.
FUNKCE. Závislost délky vegetační sezóny na nadmořské výšce
Množiny.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Informační systémy 1.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Aplikační a programové vybavení
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.
Databázové systémy Normalizace dat.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
Návrh struktury - normalizace
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu.
Úvod do databázových systémů
VY_32_INOVACE_FCE1_01 Funkce 1 Definice funkce.
Kartézský součin Binární relace
KOMBINATORIKA Je část matematiky, která se zabývá uspořádáním daných prvků podle určitých pravidel do určitých skupin Máme množinu n různých prvků, z níž.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Z3104 Geodatabáze úvod.
Matematická logika 5. přednáška
Informatika pro ekonomy přednáška 8
1 Lineární (vektorová) algebra
Matematická logika 5. přednáška
Provozováno Výzkumným ústavem pedagogickým v Praze.
Databázové systémy Normální formy.
Predikátová logika.
A5M33IZS – Informační a znalostní systémy
Transkript prezentace:

A5M33IZS – Informační a znalostní systémy Normální formy

Příklad špatného modelu Paradox při update: Když pan Novák změní číslo kanceláře, musíme tuto změnu provést ve všech jeho záznamech (pro všechny jeho adresy). Podobně změna hejtmana Středočeského kraje by vyvolala změnu ve všech záznamech osob s bydlištěm ve Středočeském kraji.

Příklad špatného modelu Paradox při insertu: Když budeme vkládat záznam nového zaměstnance pana Jonáše s bydlištěm v Jihočeském kraji, musíme si nejprve zjistit jméno hejtmana Jihočeského kraje, abychom mohli tuto informaci zadat spolu s adresou pana Jonáše.

Příklad špatného modelu Paradox při delete: Zrušíme-li po odchodu pana Řezáče z firmy jeho záznam, ztratíme současně s tím informaci o tom, že primátorem (hejtmanem) Prahy je pan Bém.

Konvence Nechť X = { X 1, X 2, … X n }. Symbolem X  označme kartézský součin X  = X 1  X 2  …  X n. Symbol x  pak bude označovat nějakou uspořádanou entici x   X .

Funkční závislost Mějme schema R(A), kde A je množina všech atributů relace R. Mějme množiny atributů X,Y  A. Říkáme, že Y funkčně závisí na X právě tehdy, když pro každou hodnotu x   X  existuje nejvýše jedna hodnota y   Y . Funkční závislost značíme X  Y. Nezávisí-li Y na X, značíme to symbolem X  Y.

Funkční závislost - příklad Mějme relaci: AdresaOsoby ={OsobCislo, Prijmeni, CisloKancelare, Obec, Ulice, CP, PSC, Kraj, Hejtman} Příklady funkčních závislosti: {OsobCislo} →{OsobCislo, Prijmeni, CisloKancelare, Obec, Ulice, CP, PSC, Kraj, Hejtman} {Kraj, Obec, Ulice} → {PSC} {Kraj} → {Hejtman}

Parciální funkční závislost Mějme množiny atributů X a Y. Nechť X  Y (t.j. Y je funkčně závislé na X). X  Y nazveme parciální funkční závislostí právě tehdy, existuje-li nějaká množina atributů X 1  X taková, že X 1  Y.

Parciální funkční závislost - příklad Mějme schema R(A), kde A je množina všech atributů relace R. A = {Predmet, Ucitel, Termin, Mistnost, Kredity} Funkční závislost {Predmet, Termin}  {Kredity} je parciální funkční závislostí, neboť {Predmet}  {Kredity} a přitom {Predmet}  {Predmet, Termin}

Transitivní funkční závislost Mějme množiny atributů X a Y, dále mějme atribut C takový, že C  X a C  Y. Říkáme, že atribut C je transitivně závislý na X právě tehdy, když současně platí: X  Y  C Y  X.

Transitivní funkční závislost - příklad Mějme schema R(A), kde A je množina všech atributů relace R. A = {OsobCislo, Obec, Ulice, CP, PSC, Kraj, Hejtman} {OsobCislo, Obec, Ulice, CP, PSC}  {Kraj} {Kraj}  {Hejtman} {Kraj}  {OsobCislo, Obec, Ulice, CP, PSC} Tedy: Množina atributů {Hejtman} je transitivně závislá na množině atributů {OsobCislo, Obec, Ulice, CP, PSC}

První normální forma 1.Atributy atomické (dále nedělitelné) 2.Přístup k řádkům relace podle obsahu (klíčových) atributů 3.Jedinečné m-tice (řádky) Příklad relace, která není v 1.NF: Relace je v první normální formě právě tehdy, když platí současně:

Druhá normální forma 1.Je v 1. NF. 2.Žádný neklíčový atribut není parciálně funkčně závislý na žádném z klíčů dané relace. Relace je ve druhé normální formě právě tehdy, když platí současně: Například relace {IdStudenta, IdPredmetu, JmenoStudenta, Semestr} není ve 2NF, neboť: Klíčem je {IdStudenta, IdPredmetu} Neklíčový atribut JmenoStudenta je funčně závislý na {IdStudenta}, je tedy parciálně závislý na klíči. Neklíčový atribut Semestr je funčně závislý na {IdPredmetu}, je tedy parciálně závislý na klíči.

Druhá normální forma Například relace {IdStudenta, IdPredmetu, JmenoStudenta, Semestr} není ve 2NF, neboť: Klíčem je {IdStudenta, IdPredmetu} Neklíčový atribut JmenoStudenta je funčně závislý na {IdStudenta}, je tedy parciálně závislý na klíči. Neklíčový atribut Semestr je funčně závislý na {IdPredmetu}, je tedy parciálně závislý na klíči. Řešení: Relaci rozdělíme do tří tabulek {IdStudenta, IdPredmetu} {IdStudenta, JmenoStudenta} {IdPredmetu, Semestr}

Třetí normální forma 1.Je v 2. NF. 2.Žádný neklíčový atribut není transitivně funkčně závislý na žádném z klíčů dané relace. Relace je ve třetí normální formě právě tehdy, když platí současně: Například relace {IdStudenta, JmenoStudenta, Fakulta, Dekan} není ve 3NF, neboť: Sice je ve 2NF, ale Atribut Dekan je funčně závislý na {Fakulta} {Fakulta} je funkčně závislá na {IdStudenta} (předpokládáme, že student nemůže být současně studentem více fakult téže university). {IdStudenta} není funkčně závislá na {Fakulta}. Atribut Dekat je tedy transitivně funkčně závislý na klíči.

Třetí normální forma Například relace {IdStudenta, JmenoStudenta, Fakulta, Dekan} není ve 3NF, neboť atribut Dekat je transitivně funkčně závislý na klíči. Řešení: Relaci rozdělíme do tabulek {IdStudenta, JmenoStudenta, Fakulta} {Fakulta, Dekan}