Funkčná závislosť databázy. Normalizácia údajov

  • 21.07.2019

Relačná databáza obsahuje štrukturálne aj sémantické informácie. Štruktúra databázy je určená počtom a druhom vzťahov, ktoré obsahuje, a vzťahmi jedna k mnohým, ktoré existujú medzi n-ticami týchto vzťahov. Sémantická časť popisuje mnohé funkčné závislosti, ktoré existujú medzi atribútmi týchto vzťahov. Uveďme definíciu funkčnej závislosti.

Definícia: Ak sú dané dva atribúty X a Y nejakého vzťahu, potom sa hovorí, že Y funkčne závisí od X, ak v akomkoľvek časovom okamihu presne jedna hodnota Y zodpovedá každej hodnote X. Funkčná závislosť je označená X -> Y. Všimnite si, že X a Y môžu predstavovať nielen jednotlivé atribúty, ale aj skupiny zložené z niekoľkých atribútov jedného vzťahu. Môžeme povedať, že funkčné závislosti sú vzťahy jedna k mnohým, ktoré existujú vo vzťahu.

    Vzťah 2. normálnej formy (2NF). Stanovenie úplnej funkčnej závislosti a 2NF. Charakteristika postoja v 2NF. Algoritmus pre redukciu na 2NF. Heathova veta. Príklady.

koncepciaúplná funkčná závislosť.

Definícia: nekľúčový atribút funkčne plne závislý na zloženom kľúči, ak funkčne závisí od celého kľúča ako celku, ale nie je funkčne závislý od žiadneho z jeho atribútov.

Definícia: nadmerná funkčná závislosť- závislosť, ktorá obsahuje také informácie, ktoré je možné získať na základe iných závislostí dostupných v databáze.

2NF je druhá normálna forma.

Definícia druhej normálnej formy: Vzťah je v 2NF ak je v 1NF a každý nekľúčový atribút je funkčne plne závislý od kľúča.

Databázová schéma sa považuje za správnu, ak nemá redundantné funkčné závislosti. V opačnom prípade sa treba uchýliť k postupu rozkladu (rozkladu) existujúcej množiny vzťahov. V tomto prípade vygenerovaná množina obsahuje väčší počet relácií, ktoré sú projekciami relácií pôvodnej množiny. (Operácia projekcie je popísaná v časti o relačnej algebre.) Reverzibilný postupný proces nahradenia danej množiny vzťahov inou schémou s odstránením nadbytočných funkčných závislostí sa nazýva normalizácia.

Podmienka reverzibility vyžaduje, aby si rozklad zachoval rovnocennosť obvodov pri výmene jedného obvodu za druhý, t.j. vo výslednom vzťahu:

1) predtým chýbajúce n-tice by sa nemali objaviť;

2) pôvodný súbor funkčných závislostí musí byť splnený na vzťahoch novej schémy.

Heathova veta

Nech je daný postoj.

Ak r spĺňa funkčnú závislosť, potom sa rovná spojeniu jej projekcií a

    Vzťah 3. normálnej formy (3NF). Definícia tranzitívnej závislosti a 3NF Algoritmus pre redukciu na 3NF. Boyes-Codd normálna forma (NFBK) Definícia a algoritmus pre redukciu na NFBK. Charakteristika vzťahu v 3NF a NFBK. Príklady.

Vzniká normalizácia databázy alebo funkčná závislosť - to je situácia, v ktorej hodnota umožňuje plynulý prechod na ďalšiu hodnotu v poradí bez akéhokoľvek prerušenia. Pre tento typ situácie existuje tok informácií v databáze, ktorý plynie bez akýchkoľvek oneskorení alebo problémov a integrita samotných údajov je zachovaná. Funkčná závislosť je rozhodujúca pri vytváraní a údržbe relačných databáz, pretože zahŕňa jednoduché asociácie s jednou hodnotou alebo typom údajov s priradenými hodnotami.

Jedným z najjednoduchších spôsobov, ako pochopiť, ako funguje funkčná závislosť, je zvážiť použitie vládneho identifikačného čísla, ako je napríklad číslo sociálneho poistenia, ktoré sa pravidelne vydáva každému ruskému občanovi. Pomocou tohto čísla ako prostriedku identifikácie môžu zamestnávatelia získať prístup k informáciám o vlastníkovi tohto čísla; potenciálni veritelia a iní veritelia môžu použiť prístupové číslo na prístup k príslušným finančným informáciám o žiadateľovi a toto číslo umožňuje prístup k informáciám, ako sú dane, časové rozlíšenie a zaplatené dane, príjem z jedného roka na druhý a na výpočet dôchodku, keď človek si nakoniec po odchode do dôchodku bude užívať to, čo si zaslúži. V mnohých prípadoch môžu zamestnávatelia na prístup k zvyšku elektronického súboru zamestnanca skutočne použiť rovnaké číslo ako primárne identifikačné číslo zamestnanca alebo časti viacerých relačných nástrojov.

Ako súčasť návrhu a prevádzky databázy slúži funkčná závislosť, ktorá umožňuje používateľom zadávať niektoré hodnoty, ktoré môžu byť zaradené do frontu na použitie na získanie požadovaných informácií. Predajca môže napríklad zadať hodnotu názvu spoločnosti, aby získal všetky záznamy spojené s kontaktmi spojenými s firemným zákazníkom. Podobne aj predajca, ktorý plánuje predať, môže zadať názov mesta ako hodnotu a ako prostriedok prístupu k menám a kontaktným informáciám všetkých zákazníkov v blízkosti jeho cieľovej destinácie, čím si uľahčí organizovanie stretnutí s týmito zákazníkmi.

Pokiaľ sa presná štruktúra, ako napríklad systém, ktorý poskytuje funkčnú závislosť, môže líšiť od aplikácie k aplikácii, konečný výsledok je rovnaký. Jeden význam je prepojený s druhým, čo vám umožňuje relatívne ľahko pristupovať k informáciám, ktoré potrebujete. S toľkými záznamami uloženými v databázach a nespoliehaním sa na starú metódu papierového kopírovania súborov je tento typ relačnej závislosti veľmi dôležitý na nájdenie a použitie relevantných údajov.

Relačná databáza obsahuje štrukturálne aj sémantické informácie. Štruktúra databázy je určená počtom a druhom vzťahov, ktoré obsahuje, a vzťahmi jedna k mnohým, ktoré existujú medzi n-ticami týchto vzťahov. Sémantická časť popisuje mnohé funkčné závislosti, ktoré existujú medzi atribútmi týchto vzťahov. Uveďme definíciu funkčnej závislosti.

Definícia: Ak sú dané dva atribúty X a Y nejakého vzťahu, potom sa hovorí, že Y funkčne závisí od X, ak v akomkoľvek časovom okamihu presne jedna hodnota Y zodpovedá každej hodnote X. Funkčná závislosť je označená X -> Y. Všimnite si, že X a Y môžu predstavovať nielen jednotlivé atribúty, ale aj skupiny zložené z niekoľkých atribútov jedného vzťahu. Môžeme povedať, že funkčné závislosti sú vzťahy jedna k mnohým, ktoré existujú vo vzťahu.

    Vzťah 2. normálnej formy (2NF). Stanovenie úplnej funkčnej závislosti a 2NF. Charakteristika postoja v 2NF. Algoritmus pre redukciu na 2NF. Heathova veta. Príklady.

koncepciaúplná funkčná závislosť.

Definícia: nekľúčový atribút funkčne plne závislý na zloženom kľúči, ak funkčne závisí od celého kľúča ako celku, ale nie je funkčne závislý od žiadneho z jeho atribútov.

Definícia: nadmerná funkčná závislosť- závislosť, ktorá obsahuje také informácie, ktoré je možné získať na základe iných závislostí dostupných v databáze.

2NF je druhá normálna forma.

Definícia druhej normálnej formy: Vzťah je v 2NF ak je v 1NF a každý nekľúčový atribút je funkčne plne závislý od kľúča.

Databázová schéma sa považuje za správnu, ak nemá redundantné funkčné závislosti. V opačnom prípade sa treba uchýliť k postupu rozkladu (rozkladu) existujúcej množiny vzťahov. V tomto prípade vygenerovaná množina obsahuje väčší počet relácií, ktoré sú projekciami relácií pôvodnej množiny. (Operácia projekcie je popísaná v časti o relačnej algebre.) Reverzibilný postupný proces nahradenia danej množiny vzťahov inou schémou s odstránením nadbytočných funkčných závislostí sa nazýva normalizácia.

Podmienka reverzibility vyžaduje, aby si rozklad zachoval rovnocennosť obvodov pri výmene jedného obvodu za druhý, t.j. vo výslednom vzťahu:

1) predtým chýbajúce n-tice by sa nemali objaviť;

2) pôvodný súbor funkčných závislostí musí byť splnený na vzťahoch novej schémy.

Heathova veta

Nech je daný postoj.

Ak r spĺňa funkčnú závislosť, potom sa rovná spojeniu jej projekcií a

    Vzťah 3. normálnej formy (3NF). Definícia tranzitívnej závislosti a 3NF Algoritmus pre redukciu na 3NF. Boyes-Codd normálna forma (NFBK) Definícia a algoritmus pre redukciu na NFBK. Charakteristika vzťahu v 3NF a NFBK. Príklady.

a. Pri zvažovaní kvantitatívnej stránky rôznych procesov takmer vždy pozorujeme, že premenné na sebe závisia; napríklad dráha, ktorú prejde teleso voľne padajúce do prázdna, závisí len od času, tlak v parnom kotli závisí len od teploty pary.

Hĺbka oceánu v jednom bode je konštantná, no v rôznych bodoch je iná, závisí len od dvoch premenných – od zemepisnej dĺžky a zemepisnej šírky miesta.

Výška rastúceho stromu závisí od mnohých premenných – od slnečného žiarenia, vlhkosti, množstva živín v pôde atď.

Vidíme, že niektoré premenné sa menia nezávisle, nazývajú sa nezávislé premenné alebo argumenty, zatiaľ čo iné od nich závisia, nazývajú sa funkciami.

Samotná závislosť sa nazýva funkčná. Mimochodom, funkčná závislosť je jedným z najdôležitejších pojmov v matematike.

b. Vždy by ste mali rozlišovať, na koľkých nezávislých premenných funkcia závisí. Najjednoduchší spôsob, ako študovať funkcie jednej premennej, budeme sa im venovať v prvom rade. Štúdium funkcií mnohých premenných je náročnejšie, ale tak či onak ide o štúdium funkcií jednej premennej.

c. Ak chceme matematicky napísať, od čoho závisí premenná y, použijeme nasledujúci zápis:

Tento záznam znie takto:

nie; treba si myslieť, že písmeno je násobené, je to len skratka slova „funkcia“ a celý záznam je skrátená fráza (2).

Podobne, ak funkcia U závisí od dvoch argumentov, potom sa táto závislosť označuje takto:

Písmená f, x a y tiež nie sú faktormi.

Je celkom jasné, ako sa označuje funkcia troch štyroch alebo viacerých argumentov.

Namiesto písmena sa najčastejšie používajú iné písmená.

d. Záznamy ako (1) a (3) sú najvšeobecnejšie označenia funkcií, pretože ich možno chápať ako akékoľvek funkcie, a preto, keď máme v rukách iba tieto označenia, nebudeme sa môcť dozvedieť nič o vlastnostiach týchto funkcií. funkcie.

Aby ste mohli študovať funkciu, musíte ju nastaviť.

e. Existuje mnoho spôsobov, ako definovať funkciu, ale všetky sa obmedzujú na tri hlavné typy:

1) funkcia môže byť špecifikovaná tabuľkou jej číselných hodnôt zodpovedajúcich číselným hodnotám jej argumentu;

2) funkciu je možné nastaviť graficky;

3) funkcia môže byť špecifikovaná matematickým vzorcom.

f. Tu je niekoľko príkladov. Je známe, že pri otáčaní zotrvačníka vznikajú napätia, ktoré majú tendenciu zlomiť jeho veniec. Ak je ráfik kolesa vyrobený z homogénneho materiálu, potom napätia závisia len od rýchlosti otáčania. Označením rýchlosti v a napätia v ráfiku to môžeme napísať

Teória odolnosti materiálov uvádza nasledujúcu tabuľku pre hodnoty funkcie (4), ak je ráfik vyrobený z liatej ocele:

Tu sa v meria v metroch za sekundu - v newtonoch na štvorcový centimeter.

Veľkou výhodou tabuľkového spôsobu tvorby funkcie je, že čísla v tabuľke je možné priamo použiť na rôzne výpočty.

Nevýhodou je, že každá tabuľka nie je uvedená pre všetky hodnoty argumentu, ale v určitých intervaloch, takže ak v tabuľke nie sú žiadne funkčné hodnoty, musíte si vziať podrobnejšiu tabuľku; ak tam nie je, potom musíte vybrať požadované číslo viac-menej približne v súlade s povahou zmeny čísel v tabuľke,

g. Veľkou nevýhodou je, že ak tabuľka obsahuje veľa čísel, potom je charakter zmeny funkcie ťažko pochopiteľný. Napokon, treťou nevýhodou je, že je ťažké študovať vlastnosti funkcie dané tabuľkou; navyše získané vlastnosti budú nepresné.

h. Grafický spôsob definovania funkcie je zbavený prvých dvoch nedostatkov.

Na objasnenie grafickej metódy zvážte nasledujúci príklad.

Ak je akýkoľvek materiál vystavený naťahovaniu, potom sila potrebná na naťahovanie bude závisieť od toho, aký druh naťahovania je potrebné vykonať, to znamená, že sila je funkciou predĺženia. Ak je percento predĺženia označené X a ťahová sila, ktorá sa zvyčajne meria v newtonoch na štvorcový centimeter, je označená, potom

Táto závislosť sa bude líšiť pre rôzne materiály. Zoberieme súradnicové osi a považujeme k za úsečku a za súradnicu potom pre každý pár ich hodnôt dostaneme bod v rovine.

Všetky tieto body budú umiestnené na určitej krivke, ktorá má pre rôzne materiály rôzny vzhľad. Existujú zariadenia, ktoré takéto krivky vykresľujú automaticky.

Pre mäkkú oceľ dostaneme nasledujúcu krivku (obr. 31):

k. Ako vidíme, skutočne grafické snooze je jasné a poskytuje hodnoty funkcií pre všetky hodnoty argumentov. Tu sa však odohráva aj tretí nedostatok. Je stále ťažké študovať vlastnosti množiny funkcií graficky.

l. Teraz si ukážeme, ako definovať funkciu pomocou vzorca.Vezmime si tento príklad. Plocha kruhu samozrejme závisí od polomeru. Ak je polomer označený i a oblasť y, potom, ako je známe z geometrie, kde je pomer obvodu k dĺžke priemeru. Vidíme, že závislosť je tu daná matematickým vzorcom, takže tretí spôsob sa nazýva matematický spôsob. Ďalší príklad: dĺžka prepony pravouhlého trojuholníka závisí od dĺžok oboch ramien. Ak je dĺžka prepony označená a dĺžky ramien cez, potom pomocou Pytagorovej vety budeme mať

Keďže obe nohy môžeme meniť nezávisle od seba, máme tu príklad funkcie dvoch argumentov, daných matematicky.

Príkladov matematicky definovaných funkcií z oblasti rôznych vied je oveľa viac.

m. Matematická metóda má oproti iným metódam definovania funkcií obrovskú výhodu, a to: matematickú analýzu možno zapojiť do štúdia funkcií daných matematicky.

Navyše, v prípade potreby môžete matematickú metódu vždy zmeniť na tabuľkovú. V skutočnosti máme právo nastaviť argumenty na číselné hodnoty, ktoré chceme, a použiť vzorec na výpočet toľko hodnôt funkcie, koľko chceme. Jeden vzorec teda nahradí celú tabuľku.

n. Matematická metóda má len jednu nevýhodu, a to, že vzorec neposkytuje vizuálnu reprezentáciu zmeny funkcie. Tento nedostatok však vieme vždy nahradiť, keďže matematický spôsob priraďovania sa dá vždy zmeniť na grafický. Toto sa robí takto.

o. Ak máme funkciu jednej premennej, vytvoríme tabuľku a vezmeme každú dvojicu hodnôt argumentu a funkcie ako súradnice, potom vytvoríme čo najviac bodov. Všetky získané body budú umiestnené na nejakej zakrivenej čiare, ktorá bude grafom funkcie. Ak máme funkciu dvoch alebo viacerých argumentov, môžeme ju znázorniť graficky. Ale toto je už oveľa komplikovanejšie, a preto sa tejto problematike budeme venovať trochu neskôr.

p. Všetko uvedené naznačuje, že matematická metóda definovania funkcií je najvýhodnejšia.

Preto sa vždy snažia, ak je funkcia daná tabuľkou alebo grafom, vyjadriť ju vzorcom. Táto úloha je zvyčajne veľmi náročná, no pre prírodné a technické vedy mimoriadne dôležitá. Bez preháňania možno povedať, že všetky problémy mechaniky, prírodných vied – aplikovaných vied sa redukujú na stanovenie a štúdium funkčných závislostí medzi tými premennými veličinami, ktorými sa tieto disciplíny zaoberajú. Bela dokáže tieto funkčné závislosti vyjadriť vo vzorcoch, potom veda získa spoľahlivú páku na uplatnenie všetkej obrovskej sily matematickej analýzy a ďaleko napreduje vo svojom vývoji.

Na druhej strane, matematická analýza, ktorá dostáva toto úžasné jedlo, sama rastie a zlepšuje sa.

q. Keďže preklad vzorcov funkčných závislostí do jazyka nie je bezprostrednou úlohou matematiky, budeme predpokladať, že funkcie sú už vyjadrené vzorcami. V budúcnosti sa teda budeme zaoberať len funkciami danými matematicky.

Funkčná vzájomná závislosť. Ak existuje funkčná závislosť tvaru A-> B a B-> A, potom medzi A a B existuje korešpondencia jedna ku jednej alebo funkčná vzájomná závislosť, označovaná ako A<->B alebo B<->A.

Ak je vzťah v 1NF, potom všetky nekľúčové atribúty funkčne závisia od kľúča s rôznym stupňom závislosti.

Čiastočné funkciu hotovosť závislosť (čiastočná FZ) sa nazýva závislosť nekľúčového atribútu od časti zloženého kľúča. V tomto smere je atribút Must funkčne závislý od atribútu full name, ktorý je súčasťou kľúča. Atribút Musí teda čiastočne závisí od kľúča vzťahu.

Alternatívnou možnosťou je plná funkčná závislosť Most nekľúčový atribút z celého zloženého kľúča. V našom príklade je atribút VidZan plne funkčný v závislosti od zloženého kľúča.

Atribút C závisí od atribútu A tranzitívne (existuje tranzitívny závislosť), ak sú pre atribúty A, B, C splnené podmienky A-> B a B-> C, ale neexistuje inverzný vzťah. Vo vzťahu k obr. Atribúty 4.4 sú prechodne spojené:

F & O -> D ust -> Plat

Medzi atribútmi môže existovať viachodnotový vzťah.

Vo vzťahu k R, atribút B násobiť závisí z atribútu A, ak každá hodnota A zodpovedá množine hodnôt B, ktoré nesúvisia s inými atribútmi z R,

Viachodnotové závislosti môžu byť „jedna k mnohým“ (1: M), „veľa k jednej“ (M: 1) alebo „veľa k mnohým“ (M: M), označované v tomto poradí: A => B, A<=Би А<=>B.

Napríklad, nech učiteľ učí niekoľko predmetov a každý predmet môže vyučovať niekoľko učiteľov, potom závisí názov<=>Položka Takže z tabuľky znázornenej na obr. 4.4 je zrejmé, že učiteľ Ivanov I.M. vedie hodiny v dvoch predmetoch a disciplínu DBMS čítajú dvaja učitelia: Ivanov I.M. a Petrov M.I.

Komentujte . Vo všeobecnom prípade môžu existovať závislosti medzi dvoma atribútmi toho istého vzťahu: 1: 1, 1: M, M: 1 a M: M. Pretože závislosť medzi atribútmi je príčinou anomálií, pokúšame sa rozdeliť vzťah so závislosťami atribútov na viacero vzťahov. V dôsledku toho sa vytvorí množina súvisiacich vzťahov (tabuľky) s väzbami v tvare 1: 1, 1: M, M: 1 a M: M (pododdiel 3.2). Vzťahy medzi tabuľkami odrážajú závislosti medzi atribútmi rôznych vzťahov.

Vzájomne nezávislé atribúty. Dva alebo viac atribútov sa považuje za vzájomne nezávislých, ak žiadny z týchto atribútov nie je funkčne závislý od iných atribútov. V prípade dvoch atribútov možno absenciu závislosti atribútu A od atribútu B označiť takto: A¬-> B. Prípad, keď A¬-> B a B¬-> A môžeme označiť A¬<->V.

4.3.3 Armstrongove axiómy

Na určenie kľúčov a pochopenie logických dôsledkov funkčných závislostí vo všeobecnom prípade je potrebné vypočítať uzáver F + od F alebo aspoň vedieť F a funkčná závislosť X Y, je to obsiahnuté X Y v F + . Aby ste to dosiahli, musíte mať pravidlá odvodenia, ktoré špecifikujú, ako odvodiť ďalšie závislosti z jednej alebo viacerých závislostí.

Mnohé z týchto pravidiel sú tzv podľa Armstrongových axióm... Predpokladajme, že máme nejakú schému vzťahov s viacerými atribútmi M, univerzálna súprava atribúty a mnohé funkčné závislosti F, prepojenie iba atribútov, ktoré patria M. Potom máme nasledujúce dedukčné pravidlá (axiómy):

A1: (reflexivita). Ak Y X M potomX Y logicky vyplýva z F. Všimnite si, že toto pravidlo dáva triviálne závislosti, teda závislosti, ktorých pravá strana je obsiahnutá v ľavej strane. Jeho použitie je nezávislé od F.

A2: (doplnenie). Ak XY a Z< M, potom X U Z Y U Z . Je dôležité pripomenúť, že táto závislosť XY buď patrí F, alebo sa dá odvodiť z príslušnosti F závislosti pomocou opísaných axióm.

A3: (prechodnosť). Ak XY a YZ teda XZ.

Je pomerne jednoduché dokázať, že Armstrongove axiómy sú spoľahlivé, to znamená, že vedú iba k pravdivým záverom. To znamená, že z nich nemôžeme odvodiť F akúkoľvek závislosť, ktorá sem nepatrí F + . Je ťažšie dokázať ich úplnosť, čo znamená, že tieto axiómy možno použiť na získanie všetkých spravodlivých dôsledkov závislostí. To znamená, že pre danú množinu závislostí F pravidlá nám umožňujú výstup všetkých závislostí, ktoré patria F + .

Z axióm Armstrong Odvodzuje sa ďalších 5 axióm (rozšírenie, pokračovanie, pseudotransitivita, spojenie a rozklad), ktoré sa používajú na zostavenie kompletnej rodiny FZ.