A5M33IZS – Informační a znalostní systémy

Slides:



Advertisements
Podobné prezentace
Fakulta životního prostředí Katedra informatiky a geoinformatiky
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
A5M33IZS – Informační a znalostní systémy Normální formy.
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.
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?
Ú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Í
Fakulta životního prostředí Katedra informatiky a geoinformatiky
F U N K C E.
Fakulta elektrotechniky a informatiky
Relační databáze.
Normalizace.
Informatika pro ekonomy II přednáška 10
Úvod do databázových systémů
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Pre-algebra Antonín Jančařík.
Výroková logika.
Úvod do databázových systémů
Databázové systémy Přednáška č. 4.
Lineární zobrazení.
Teorie zpracování dat Návrh struktury databáze Funkční závislosti
Relace, operace, struktury
Ú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.
Informační systémy 1.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Aplikační a programové vybavení
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
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íž.
Relační databázová technologie
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Z3104 Geodatabáze úvod.
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
Databázové systémy Normální formy.
Predikátová logika.
Transkript prezentace:

A5M33IZS – Informační a znalostní systémy Funkční závislosti II. Normální formy 1

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. 2

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. 3

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. 4

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

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. 6

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} 7

Armstrongovy axiomy Definují vlastnosti funkčních závislostí: Reflexivita - je-li Y ⊂ X, pak X → Y Tranzitivita - pokud je X → Y a Y → Z, pak X → Z Pseudotranzitivita - pokud je X → Y a WY → Z, pak XW → Z Sjednocení - pokud je X → Y a X → Z, pak X → YZ Dekompozice - pokud je X → YZ, pak X → Y a X → Z Rozšíření - pokud je X → Y a Z ⊂ A, pak XZ → YZ Zúžení - pokud je X → Y a Z ⊂ Y, pak X → Z 8

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, pokud existuje nějaká podmnožina atributů X1 X taková, že X1  Y . Poznámka: Reflexivita v klíči 9

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} 10

Transitivita funkčních 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 . 11

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} 12

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

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

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} 15

Třetí normální forma Relace je ve třetí normální formě právě tehdy, když platí současně: Je v 2. NF. Žádný neklíčový atribut není transitivně funkčně závislý na žádném z klíčů dané relace. 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. 16

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} 17