Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Podobné dokumenty
Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Databáze. Logický model DB. David Hoksza

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Střední průmyslová škola Zlín

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

5. Formalizace návrhu databáze

Databáze I. Přednáška 3

5. Formalizace návrhu databáze

Databáze I. 4. přednáška. Helena Palovská

Hierarchický databázový model

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Analýza a modelování dat 3. přednáška. Helena Palovská

Úvod do databázových systémů 10. cvičení

4IT218 Databáze. 4IT218 Databáze

Úvod do databázových systémů

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Cvičení 3

11. blok Normalizace. Studijní cíl

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Databáze I. Přednáška 2

Databázové systémy BIK-DBS

Otázka č. 1 (bodů za otázku: 4)

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

4. Základy relačních databází, logická úroveň návrhu

Databázové systémy Tomáš Skopal

Terminologie v relačním modelu

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Úvod do databázových systémů

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

Úvod do databázových systémů 6. cvičení

Návrh databázového modelu

DBS Normální formy, normalizace

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Relační model dat (Codd 1970)

8.2 Používání a tvorba databází

RELACE, OPERACE. Relace

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Michal Valenta DBS Databázové modely 2. prosince / 35

Databáze Bc. Veronika Tomsová

Databázové systémy. Ing. Radek Holý

Úvod do databázových systémů

Jiří Mašek BIVŠ V Pra r ha

RELAČNÍ DATABÁZOVÉ SYSTÉMY

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Informační systémy ve zdravotnictví. 6. cvičení

Databázové systémy. Přednáška 1

J. Zendulka: Databázové systémy 4 Relační model dat 1

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Konceptuální modelování. Pavel Tyl

Normální formy. Zdeněk Kouba

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

C8 Relační databáze. 1. Datový model

Databázové systémy. Cvičení 2

Matematická analýza 1

Databáze I. 1. přednáška. Helena Palovská

Úvod do databázových systémů

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Přijímací zkouška - matematika

NORMALIZACE Část 2 1

Základy relačních databází, jejich využití v programování webu

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Marketingová komunikace. 1. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3aph)

Analýza a modelování dat 6. přednáška. Helena Palovská

Úvod do databázových systémů 1. cvičení

DBS relační DB model, relační algebra

Relace x vztah (relationship)

Základní pojmy teorie množin Vektorové prostory

Relační databázová technologie

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

Úvod do databázových systémů

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

VzorTest-1. Prohlídka náhledu

Strukturované metodologie

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování složitějších sestav Ing. Kotásek Jaroslav

Základy matematiky pro FEK

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka,

TEORIE ZPRACOVÁNÍ DAT

Databázové systémy IDS

Databáze ArcView) Databázový systém

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Úvod do databázových systémů. Ing. Jan Šudřich

4IT218 Databáze. 4IT218 Databáze

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A INFORMAČNÍ SYSTÉMY

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

Transkript:

Obsah přednášky Databázové systémy Logický model databáze normalizace relací normální formy tabulek 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DNF denormalizace zápis tabulek relační algebra klasické operace speciální operace 2 Normalizace relací Normalizace relací konceptuální model db již hotový převod na logické db schéma náročnost převodu je dána složitostí konceptuálního modelu kvalita převodu (normalizace/denormalizace) určuje výslednou efektivitu db normalizace relací vede na svém konci k vytvoření relací s určitými vlastnostmi vyvinul 1972 Dr. E.F.Codd navrhl 3 stupně 3 při normalizaci relací je nutné dodržovat pravidla pro tzv. normální formy NF vede k maximálnímu odstranění redundancí v logickém návrhu db vede k vyšší efektivitě při následné práci s tabulkami snadné pochopení, těžší je realizace v praxi postup normalizace: vybereme relaci, třídu entit přechod od jedné NF k vyšší NF (podle pravidel) Čím více jsou tabulky normalizovány, tím lépe se s nimi z hlediska aplikační logiky pracuje!!! 4 nenormalizovaná relace postup normalizace Normalizace relací relace v 1NF pravidla pro 1NF relace v 2NF pravidla pro 2NF pravidla pro 3NF Normalizace relací nenormalizované relace způsobují problémy při aktualizaci dat = anomálie anomálie při vkládání info o zákazníkovi bez objednávky zboží anomálie při odstraňování odstranění faktury, ztráta info o zákazníkovi anomálie při aktualizaci redundantní info o zákazníkovi na každé faktuře relace v 3NF atd. 5 číslo jméno adresa město psč telefon datum jednotková cena za zákazníka zákazníka zákazníka zákazníka zákazníka zákazníka objednání výrobek množství cena výrobek pružinky 2 24,00 Kč 48,00 Kč tkaničky 2 5,00 Kč 10,00 Kč helma 1 1 260,00 Kč 1 260,00 Kč palivo 1 197,00 Kč 197,00 Kč Jan Novák Na stráni 6 Ústí n.l. 400 06 426257981 123456 11.5.2007 baterie 3 56,00 Kč 168,00 Kč 6 1

3NF: ukázka definic 0NF (non first normal form): Nechť X a Y jsou dvě různé skupiny atributů relace, Z je další atribut relace. Nechť X Y Z a neplatí Y X, potom Z je tranzitivně závislý na X. Potom relace splňuje 3NF, pokud každý neklíčový atribut relace není tranzitivně závislý na žádném klíči relace. Nechť X a Y jsou dvě různé skupiny atributů relace. Potom atribut Y je funkčně závislý na atributu X, pokud v libovolném okamžiku není s danou hodnotou atributu X spojena více než jedna hodnota atributu Y. tabulka obsahuje alespoň jednu víceznačnou hodnotu tj. určitý atribut tabulky obsahuje hodnotu, která je složena z několika údajů většinou jde o prvotní seznam atributů, které jsou umístěny v jediné tabulce 7 8 0NF (non first normal form): studenti adresa kursy Jan Novák Krátká 152, Lovosice 41002 AJ, NJ Emil Král Bílinská 43, Teplice 41501 AJ, RJ Václav Nový Budov 16, Ústí nad Labem 40322 AJ Jana Černá Důlní 7, Teplice 41510 NJ Kamil Kratochvíl Vodní 5, Lovosice 41002 NJ, FJ Daniela Krátká Horní 62, Ústí nad Labem 40331 FJ víceznačné hodnoty 1NF: všechny atributy tabulky jsou atomické, jednoznačné, dále nedělitelné tj. ani jeden atribut tabulky nesmí obsahovat více druhů údajů tabulka není v 0NF odstraní se opakované atributy a atributy s násobnými hodnotami přechod od 0NF k 1NF se řeší zvýšením počtu záznamů s atomickými hodnotami v atributech 9 10 1NF: 1NF: nesprávný způsob řešení!!! jméno příjmení ulice město psč kurs AJ kurs NJ kurs RJ kurs FJ Jan Novák Krátká 152 Lovosice 41002 AJ NJ Emil Král Bílinská 43 Teplice 41501 AJ RJ Václav Nový Budov 16 Ústí nad Labem 40322 AJ Jana Černá Důlní 7 Teplice 41510 NJ Kamil Kratochvíl Vodní 5 Lovosice 41002 NJ FJ Daniela Krátká Horní 62 Ústí nad Labem 40331 FJ problémy při změnách typů kursů jméno příjmení ulice město psč kurs Jan Novák Krátká 152 Lovosice 41002 AJ Jan Novák Krátká 152 Lovosice 41002 NJ Emil Král Bílinská 43 Teplice 41501 AJ Emil Král Bílinská 43 Teplice 41501 RJ Václav Nový Budov 16 Ústí nad Labem 40322 AJ Jana Černá Důlní 7 Teplice 41510 NJ Kamil Kratochvíl Vodní 5 Lovosice 41002 NJ Kamil Kratochvíl Vodní 5 Lovosice 41002 FJ Daniela Krátká Horní 62 Ústí nad Labem 40331 FJ nadměrná redundance dat 11 12 2

2NF (funkční závislost): tabulka je v 1NF + existuje PK + každý neklíčový atribut je závislý na celém PK v případě jednoduchého primárního klíče je podmínka splněna vždy v případě složeného klíče je nutné podmínku zajistit odstraní se částečně závislé atributy přechod od 1NF k 2NF se řeší rozpadem tabulky na více dílčích tabulek 13 PK = jedinečný identifikátor záznamu obsahuje 1 nebo více atributů, který jednoznačně identifikují záznam přirozený identifikátor identifikátor mající v reálném světě skutečný význam jméno + příjmení + ulice umělý (náhradní) identifikátor nenajdeme-li žádnou skupinu přiroz. identifikátorů id_stud 14 více adeptů na PK k dispozici pouze 1 -> vybereme ho změna hodnoty s nejmenší pstí -> vybereme ho umělý klíč méně náchylný na pozdější změny nejjednodušší -> vybereme ho nejmenší počet atributů (ideální 1-sloupcový) nejkratší -> vybereme ho pro efektivnější zpracování (může být FK ve více tabulkách) 15 PK jméno příjmení ulice město psč Jan Novák Krátká 152 Lovosice 41002 Emil Král Bílinská 43 Teplice 41501 Václav Nový Budov 16 Ústí nad Labem 40322 Jana Černá Důlní 7 Teplice 41510 Kamil Kratochvíl Vodní 5 Lovosice 41002 Daniela Krátká Horní 62 Ústí nad Labem 40331 PK kurs AJ NJ RJ FJ název anglický jazyk německý jazyk ruský jazyk francouzský jazyk nezávisí na celém PK závisí na celém PK 16 PK id_stud jméno příjmení ulice město psč 01 Jan Novák Krátká 152 Lovosice 41002 02 Emil Král Bílinská 43 Teplice 41501 03 Václav Nový Budov 16 Ústí nad Labem 40322 04 Jana Černá Důlní 7 Teplice 41510 05 Kamil Kratochvíl Vodní 5 Lovosice 41002 06 Daniela Krátká Horní 62 Ústí nad Labem 40331 kurs AJ NJ RJ FJ název anglický jazyk německý jazyk ruský jazyk francouzský jazyk 17 3NF (tranzitivní závislost): tabulka je v 2NF + neexistují závislosti neklíčových atributů navzájem na sobě odstraní se tranzitivně závislé atributy dostatečná normalizace snadnější aplikační logika není nutné vždy dodržet (denormalizace) složité a nepřehledné tabulky ztráta výkonu přechod od 2NF k 3NF se řeší rozpadem tabulky na více dílčích tabulek 18 3

3NF: id_stud jméno příjmení ulice město psč 01 Jan Novák Krátká 152 Lovosice 41002 02 Emil Král Bílinská 43 Teplice 41501 03 Václav Nový Budov 16 Ústí nad Labem 40322 04 Jana Černá Důlní 7 Teplice 41510 05 Kamil Kratochvíl Vodní 5 Lovosice 41002 06 Daniela Krátká Horní 62 Ústí nad Labem 40331 další NF: 3NF pokryje asi 90% všech případů (zlatý standard) některé i ve 2NF (denormalizace) existují i vyšší verze normalizace Boyce-Coddova 4NF 5NF kurs název AJ anglický jazyk NJ německý jazyk RJ ruský jazyk FJ francouzský jazyk možné odvodit z jiných neklíčových atributů 19 20 Boyce-Coddova NF: silnější varianta 3NF řeší anomálie, kdy je některý neklíčový atribut určující pro atribut PK ( zamaskovaná anomálie) tabulka je v 3NF + žádný neklíčový atribut nesmí určovat hodnotu žádného jiného atributu (a to ani atributů PK) přechod od 3NF k B-CNF se řeší rozpadem tabulky na více dílčích tabulek 21 Boyce-Coddova NF: ulice město psč Krátká 152 Lovosice 41002 Krátká 152 Lovosice 41002 Bílinská 43 Teplice 41501 Bílinská 43 Teplice 41501 Budov 16 Ústí nad Labem 40322 Důlní 7 Teplice 41510 Vodní 5 Lovosice 41002 Vodní 5 Lovosice 41002 Horní 62 Ústí nad Labem 40331 zamaskovaná anomálie 22 4NF: řeší anomálie, kdy některá tabulka obsahuje více atributů s násobnými hodnotami tabulka je v 3NF + tabulka popisuje jen jeden fakt nebo souvislost 5NF: tabulka je v 4NF + není možné přidat do tabulky nový atribut bez toho, aby se rozpadla na několik dílčích tabulek v tomto případě se jedná o tzv. číselníky kurs AJ NJ RJ FJ název anglický jazyk německý jazyk ruský jazyk francouzský jazyk kurs AJ NJ RJ FJ název anglický jazyk německý jazyk ruský jazyk francouzský jazyk 23 24 4

Denormalizace normalizace = postupný převod na vyšší NF tabulky se tak rozpadají na dílčí tabulky pro zvýšení efektivity db pro odstranění anomálií pro minimalizaci redundance dat denormalizace = zpětné snížení NF opětovné spojení tabulek z důvodu potenciální ztráty informací z důvodu potenciální ztráty závislostí zápis tabulek jednoduchá pomůcka, lze vytvořit v Excelu jméno sloupce id_kurs nazev anotace katedra typ klíče PK FK Null, Unikátní NN, U NN datový typ num char char num velikost 30 200 jiná tabulka Katedry jiný sloupec id_kat relace s jinou tabulkou 25 26 = souhrn operací nad relacemi (tabulkami) ze základních operací vznikají kombinací nové Rozdělení základních operací: Klasické mn. operace sjednocení, průnik, množinový rozdíl, symetrický rozdíl, kartézský součin Speciální mn. operace projekce, restrikce, spojení, dělení vyučující vědci id_kursu název kursu NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk 27 28 sjednocení: operace se účastní dvě shodně navržené tabulky výsledná tabulka obsahuje všechny entity z obou tabulek, přičemž každá z nich se vyskytuje pouze jeden krát Vytvořte tabulku, která bude obsahovat údaje o všech vyučujících a vědcích dohromady. 29 id_zamestnance jmeno prijmeni 30 5

průnik: operace se účastní dvě shodně navržené tabulky výsledná tabulka obsahuje všechny entity, které se vyskytují v obou tabulkách id_zamestnance jmeno prijmeni Vytvořte tabulku, která bude obsahovat údaje o všech vyučujících, kteří se věnují současně i vědecké činnosti. 31 32 rozdíl: operace se účastní dvě shodně navržené tabulky výsledná tabulka obsahuje všechny entity, které se vyskytují v první tabulce ale nevyskytují se v druhé tabulce Vytvořte tabulku, která bude obsahovat údaje o všech vyučujících, kteří se věnují pouze výuce. id_zamestnance jmeno prijmeni 33 34 symetrický rozdíl: operace se účastní dvě shodně navržené tabulky výsledná tabulka obsahuje všechny entity, které se vyskytují pouze v jedné z tabulek Vytvořte tabulku, která bude obsahovat údaje o všech vyučujících a vědcích, kteří se věnují pouze své práci. id_zamestnance jmeno prijmeni 35 36 6

kartézský součin: operace se účastní dvě odlišně navržené tabulky výsledná tabulka obsahuje všechny možné kombinace zřetězení entit z jednotlivých tabulek 111 222 111 222 aaaa aaaa bbbb bbbb Vytvořte tabulku, která bude obsahovat všechny údaje z jedné tabulky zkombinované s údaji z druhé tabulky. 37 id_kursu název kursu NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk id_kursu název kursu NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk 38 projekce: operace se účastní jedna tabulka výsledná tabulka obsahuje vertikální podmnožinu atributů z tabulky Vytvořte tabulku, která bude obsahovat pouze atributy jméno a příjmení vyučujícího. id_ucitele prijmeni 02 Novák 05 Král 07 Nový 08 Černá 39 40 restrikce: operace se účastní jedna tabulka výsledná tabulka obsahuje horizontální podmnožinu entit z tabulky Vytvořte tabulku, která bude obsahovat pouze ty vyučující, kteří jsou starší 40 let. 41 42 7

spojení: operace se účastní dvě tabulky propojené relací výsledná tabulka obsahuje zřetězené entity splňující určitou podmínku spojení 111 222 bbbb aaaa podrobněji probráno později id_kursu název kursu NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk id_kursu název kursu NJ Německý jazyk NJ Německý jazyk AJ Anglický jazyk FJ Francouzský jazyk AJ Anglický jazyk FJ Francouzský jazyk 43 44 8