Meerwaardige afhankelijkheid. Axioma's van meerwaardige afhankelijkheid

Laat A, B, C een willekeurige subset van attributen zijn van het relatieschema R(A, B, C). Dan hangt B meerwaardig af van A (A →→ B) als en slechts als de reeks waarden van B overeenkomt met een bepaald paar relatie R, hangt alleen af ​​van A, maar is niet afhankelijk van C. Meerwaardige afhankelijkheden vormen altijd paren: A →→ B | C.

Voorbeeld 1:

Er is een niet-genormaliseerde verhouding (Fig. links). Elk tupel van deze relatie bevat de index van de cursus, de lijst met dagen van de week waarop lessen worden gegeven en de lijst met studenten die deze cursus volgen. Dit schema betekent dat de lessen voor elke cursus op alle aangegeven dagen van de week worden gegeven en dat alle studenten alle lessen van de cursus bijwonen.

Aannames die gemaakt kunnen worden:

Elke cursus kan een willekeurig aantal lesdagen bevatten.

Elke cursus kan door een willekeurig aantal studenten worden gevolgd.

Lesdagen en studenten zijn volledig onafhankelijk van elkaar, d.w.z. Ongeacht de lesdag is de samenstelling van de groep studenten hetzelfde.

De lesdag kan aan elke cursus worden gekoppeld.

Elke student kan aan elke cursus worden gekoppeld.

Laten we deze ratio omzetten in een genormaliseerde CDS-ratio (afbeelding links).

Intuïtief worden deze problemen veroorzaakt doordat studenten en lesdagen geen verband met elkaar houden. Deze situatie kan worden gecorrigeerd door deze relatie in tweeën te splitsen: CD(Opleiding , Klasse dag ) en CS (Opleiding , Student ).

In ons voorbeeld is er een meerwaardige relatie:Opleiding →→ Klasse dag | Student.

Voorbeeld 2: Laten we aannemen dat restaurants verschillende soorten pizza's produceren, en dat restaurantbezorgdiensten alleen in bepaalde delen van de stad actief zijn. De samengestelde primaire sleutel van de corresponderende relatievariabele bevat drie attributen: (Restaurant, Type pizza, Bezorggebied). Een dergelijke relatievariabele komt niet overeen met 4NF, aangezien de volgende meerwaardige relatie bestaat: (Restaurant)->-> (Type pizza); (Restaurant) ->-> (Bezorggebied). Dat betekent dat u bijvoorbeeld bij het toevoegen van een nieuw type pizza voor elk bezorggebied één nieuw tupel moet toevoegen. Er kan een logische afwijking zijn waarbij slechts enkele bezorggebieden uit de gebieden die door het restaurant worden bediend in aanmerking komen voor een bepaald type pizza. Om een ​​anomalie te voorkomen, moet je de relatie ontleden door onafhankelijke feiten in verschillende relaties te plaatsen. In dit voorbeeld zou u de gegevens opsplitsen in (Restaurant, Pizzatype) en (Restaurant, Bezorggebied). Als u echter een attribuut toevoegt dat functioneel afhankelijk is van de potentiële sleutel van de oorspronkelijke relatievariabele, bijvoorbeeld prijs inclusief bezorgkosten ((Restaurant, Type pizza, Bezorggebied) → Prijs), dan zal de resulterende relatie in 4NF zijn. en kan niet meer zonder verlies worden ontleed. De bovenstaande meerwaardige afhankelijkheden worden in dit geval geïnjecteerde afhankelijkheden genoemd.

21. Vierde en vijfde normaalvorm. Definitie. Afwijkingen die optreden tijdens een overtreding. Voorbeelden van disruptie en normalisatie.

Probleem met inbrengen. Om aan bovenstaande relatie toe te voegen dat de lessen voor de C2-cursus ook op donderdag kunnen plaatsvinden, moet je in de relatie twee tupels opnemen: En .

Updateprobleem. Om bijvoorbeeld de lesdag voor cursus C2 te verplaatsen van vrijdag naar dinsdag, moet je de gegevens in twee tupels wijzigen.

Probleem met verwijderen. Om bijvoorbeeld lessen op maandag voor cursus C1 te annuleren, moet je drie tupels uit de relatie verwijderen.

Opleiding

Klasse dag

Maandag

Maandag

Maandag

De relatie R is in 4NF dan en slechts dan als, in het geval van het bestaan ​​van een meerwaardige afhankelijkheid A →→B, alle attributen van de relatie R functioneel afhankelijk zijn van A. (Er zijn geen meerwaardige afhankelijkheden in de relatie)

(om 4NF te bereiken moeten alle veel-op-veel-relaties worden opgelost)

Diagram op entiteitsniveau

Omdat wordt aangenomen dat de lessen in de cursus noodzakelijkerwijs door studenten worden bijgewoond, kun je een algemene aanvullende entiteit CLASS invoeren, waarvoor 4NF niet wordt uitgevoerd

Als het nog steeds nodig is dat de relatie voldoet aan 4NF, en het mogelijk is om gegevens te hebben over het verloop van de lessen in een cursus terwijl de samenstelling van de studenten die de cursus volgen nog niet is bepaald, dan moet elke onzekere relatie afzonderlijk worden opgelost. . In dit geval moet de coördinatie van gegevens ingevoerd in de relaties STUDENT COURSE en COURSE CLASS plaatsvinden met behulp van triggers en opgeslagen procedures, zodat niet blijkt dat de student een bepaald vak studeert waarvoor geen lesdagen zijn toegewezen.

Uit het boek: De mogelijkheid van bestaan ​​​​met betrekking tot meerwaardige afhankelijkheden ontstaat door de reductie van brontabellen naar de 1NF-vorm, waarvoor de aanwezigheid van een bepaalde reeks waarden op het snijpunt van één rij en één kolom niet is toegestaan . Als u bijvoorbeeld twee attributen met meerdere waarden in een relatie heeft, moet u, om een ​​consistente status van de rijen te bereiken, elke waarde van een van de attributen herhalen in combinatie met elke waarde van het andere attribuut daarin. Dit type beperking creëert een meerwaardige afhankelijkheid en leidt tot gegevensredundantie.

Meerwaardige afhankelijkheid. Vertegenwoordigt een afhankelijkheid tussen attributen van een relatie (bijvoorbeeld A, B en C), zodat elke waarde van A een waardenset voor A en een waardenset voor C vertegenwoordigt. De waardensets voor B en C zijn echter onafhankelijk van elkaar.

Vierde normaalvorm (4NF) - Een relatie in de normale Boyce-Codd-vorm die geen niet-triviale meerwaardige afhankelijkheden bevat.

Vijfde normaalvorm (5NF)

Het ontleden van relatieschema's garandeert niet altijd omkeerbaarheid. Deze omstandigheid houdt verband met het bestaan ​​van een klasse van functionele afhankelijkheden (FD) voor een verbinding. Als de relatie voldoet aan de federale wet op de verbinding, kan deze worden hersteld vanuit de projecties. Relaties met meer dan drie MFZ vereisen bijzondere aandacht bij het opbouwen logisch model van de relationele databasegegevens. Bovendien elimineert 4NF de gegevensredundantie niet volledig, dus een verdere ontleding van relatiediagrammen is vereist.

De relatie is binnen vijfde normaalvorm (5NF) , als het zich in 4NF bevindt en voldoet aan de verbindingsafhankelijkheden met betrekking tot zijn projecties. 5NF wordt ook wel normaalvorm met projectieverbindingen genoemd. Het wordt gebruikt om drie of meer relaties op te lossen die met elkaar verbonden zijn door meer dan drie veel-op-veel federale wetten.

Voorbeeld. Reductie tot 5NF. Beschouw een relatie met meerdere meerwaardige afhankelijkheden, weergegeven in de eerste figuur aan de linkerkant.

Laten we deze relatie eerst beschouwen als drie geïsoleerde relaties met een veel-op-veel-relatie:


Elke auto heeft een specifieke kleur en model. Sommige kleuren zijn alleen specifiek voor bepaalde modellen. Dergelijke relaties worden opgelost door verbindingsrelaties te introduceren. In dit geval zijn er drie van dergelijke relaties (afbeelding links).

Laten we aannemen dat een klant een blauwe Model C-auto wil kopen en dat het merk van de auto er niet toe doet. Een databasequery om naar zo'n auto te zoeken zal twee verbindingen bevatten tussen drie tabellen Auto, Autokleur en Automodel op basis van het attribuut autonaam en twee predicaten: kleur = blauw en model = C. Het resultaat van de zoekopdracht zal verrassend zijn: er is zowel een Volga als een Zhiguli! Uit de Model Color-tabel blijkt echter dat er geen blauwe Model C-auto bestaat. Er verschijnt een niet-bestaande tupel. Dit fenomeen is een anomalie van de verbindingsprojectie en een voorbeeld van een 5NF-schending.

Het converteren van een relatie naar 5NF impliceert het introduceren van een andere relatie die de drie oorspronkelijke relaties met elkaar verbindt, zoals weergegeven in de figuur links.

Dus de procedure voor het tot stand brengen van een relatie die natuurkundige wetten met meerdere waarden bevat 5NF bestaat uit het construeren van een verbindende relatie waarmee men de verschijning van valse tupels in verbindingen kan uitsluiten.

Lezing 11. Vierde en vijfde normaalvorm

In de lezing worden de vierde en vijfde normaalvorm besproken. Het definitieve databasenormalisatieschema wordt gepresenteerd. Er worden definities van alternatieve normaalvormen gegeven.

Doel: het concept van de vierde en vijfde normaalvorm introduceren en de noodzaak van het gebruik ervan rechtvaardigen.

Om 4NF te definiëren is het noodzakelijk om het concept te introduceren meerwaardige afhankelijkheid (MD), wat een generalisatie is van het concept van functionele afhankelijkheid.

Laten R- houding, en A, B En C zijn willekeurige subsets van de set relatieattributen R.

Dan de ondergroep B hangt meerwaardig af uit een subset A, wat symbolisch wordt uitgedrukt door de volgende vermelding EEN → → B(lees als " A ambigu definieert B"), dan en slechts dan als in elke geldige waarde R meerdere betekenissen B, overeenkomend met een bepaald paar waarden A, C, hangt alleen af ​​van de waarde A en is niet afhankelijk van de waarde C.

Denk aan de relatie ( CursusID, Leraar-ID, KamerID) met de volgende beperkingen:

1. Elke discipline kan door een willekeurig aantal leraren en in een willekeurig aantal klaslokalen worden onderwezen.

2. Leraren en klaslokalen zijn niet van elkaar afhankelijk.

3. Een leraar kan verschillende disciplines in verschillende klaslokalen onderwijzen.

Uit deze beperkingen blijkt duidelijk dat de relatie overbodig blijkt te zijn, omdat als de volgende twee tupels bestaan:

Als we dus informatie willen toevoegen dat een bepaalde leraar een bepaalde discipline kan onderwijzen, moeten we zoveel records invoegen als er klaslokalen zijn die geschikt zijn voor deze discipline.

Bovendien kun je eenvoudig controleren of een bepaalde relatie in BNFB staat: als de relatie in 1NF staat en volledig is gecodeerd (een enkele potentiële sleutel bestaat uit de gehele set attributen van de relatie), dan kun je zeggen dat deze in BFBC. Dit wordt verklaard door het feit dat er geen niet-sleutelattributen zijn en dat daarom automatisch aan alle vereisten van 2NF, 3NF en BCNF wordt voldaan.

Om de relatie te normaliseren, moeten we deze in tweeën splitsen, maar eerder hebben we een ontleding uitgevoerd op basis van transitieve natuurkundige wetten, maar hier zijn alle natuurkundige wetten triviaal, d.w.z. alle attributen zijn rechtstreeks afhankelijk van de primaire sleutel. Het is noodzakelijk om de ontbindingsmethode van deze relatie te bepalen en te bewijzen dat de ontbinding zonder verliezen zal worden uitgevoerd.

Meerwaardige afhankelijkheidsregel: voor houding R, waarin er subsets van een reeks attributen zijn A, B, C, EEN → → B dan en alleen wanneer Een → → C. Dit wordt meestal als volgt geschreven: EEN → → B | C.



De stelling van Feigin. Laten A, B En MET zijn sets attributen van een relatievariabele R{A, B, MET). In dit geval de houding R zal gelijk zijn aan de verbinding van zijn projecties door attributen ( A, B) En ( A, MET) dan en slechts dan als voor de relatie R meerwaardige afhankelijkheid is bevredigd EEN → → B| C.

Laten we alle MH in onze relatie vinden:

· { CursusID} → {Leraar-ID}

· { CursusID} → {KamerID}

Volgens de stelling van Feigin kunnen we ontleden met behulp van deze twee MM's en gaat er geen informatie verloren. We krijgen twee relaties: ( CursusID, Leraar-ID) En ( CursusID, KamerID). Omdat deze relaties van cruciaal belang zijn, bevinden ze zich in de BCNF.

Nu kunnen we, volgens de stelling van Feigin, definiëren vierde normaalvorm.

R met diagram R, evenals twee willekeurige subsets van attributen A,B\subseteq R. Laten C\overset(\mathop(=))\,R\backslash (A\cup B).

In dit geval B hangt veel af van A, dan en slechts dan als de set attribuutwaarden B, overeenkomend met een bepaald paar relatie R, hangt ervan af A en is er niet afhankelijk van C.

Symbolisch uitgedrukt door de notatie

A\tweekoppijl naar rechts B.

Formeel

\begin(uitlijnen) & r\left(R \right),\ A,B\subseteq R,\ C=R\backslash (A\cup B) \\ & \left(A\twoheadrightarrow B \right)\Leftrightarrow \vooralle ((t)_(1)),((t)_(2))\in r\ \bestaat ((t)_(3)),((t)_(4))\in r\ :\ \left\( \begin(uitlijnen) & ((t)_(1))\left(A \right)=((t)_(2))\left(A \right)=((t) _(3))\left(A \right)=((t)_(4))\left(A \right) \\ & ((t)_(3))\left(B \right)=( (t)_(1))\left(B \right) \\ & ((t)_(3))\left(C \right)=((t)_(2))\left(C \right ) \\ & ((t)_(4))\links(B \rechts)=((t)_(2))\links(B \rechts) \\ & ((t)_(4))\ links(C \rechts)=((t)_(1))\links(C \rechts) \\

\end(uitlijnen)\rechts. \\ \end(uitlijnen)

Meerwaardige afhankelijkheid A\tweekoppijl naar rechts B genaamd triviaal, als aan ten minste één van de voorwaarden is voldaan:

  • Veel A is een superset B; B\subsetq A
  • Vereniging A En B vormt de gehele header van de relatie. A\kopje B=R

Voorbeeld

Stel dat we een relatie hebben die een lijst met academische disciplines, aanbevolen literatuur en de namen van docenten die de overeenkomstige cursussen doceren, omvat:

Omdat de docenten die het vak onderwijzen en de boeken die over het onderwerp worden aanbevolen niet van elkaar afhankelijk zijn, bevat deze relatie een meerwaardige afhankelijkheid. Deze houding kent een aantal anomalieën. Een daarvan is dat als we willen aanbevelen nieuw boek volgens de MatAn-cursus zullen we net zoveel nieuwe inzendingen moeten toevoegen als er docenten zijn die MatAn onderwijzen en vice versa.

Formeel zijn er twee MZZ's: (Discipline) \tweekoppijlrechts (Boek)|(Docent).

In de eerste plaats is het overbodig. En ten tweede is het voor een dergelijke relatie noodzakelijk om een ​​aanvullend integriteitscontrolemechanisme te ontwikkelen. De optimale oplossing Het probleem zou zijn om de relatie in tweeën te splitsen met headers (Discipline, Boek) En (Discipline, Docent). Een dergelijke ontleding zal plaatsvinden in 4NF. De toelaatbaarheid van ontbinding wordt vastgesteld door de stelling van Fagin (zie hieronder).

Stellingen

Verbonden paren

Fagin toonde aan dat meerwaardige afhankelijkheden verbonden paren vormen (in de notatie van de definitie):

\links(A\tweekoppijl-rechts B \rechts)\Links-rechtspijl \left(A\tweekoppijl-rechtsC \rechts).

Daarom worden ze vaak samen weergegeven in symbolische notatie:

A\tweekoppijl naar rechts B|C

Functionele afhankelijkheden

Elke functionele afhankelijkheid heeft meerdere waarden. Met andere woorden, een functionele afhankelijkheid is een meerwaardige afhankelijkheid waarin een reeks afhankelijke waarden correspondeert ingestelde waarde De determinant heeft altijd eenheidsmacht.

Regels voor intrekking

In 1977 stelden Bary, Fagin en Howard vast dat Armstrongs gevolgtrekkingsregels kunnen worden gegeneraliseerd en uitgebreid tot zowel functionele als meerwaardige afhankelijkheden.

Mogen we een houding hebben r\links(R\rechts) en veel attributen A,B,C,D\subseteq R. Om de invoer in plaats daarvan in te korten X\kopje Y we zullen gewoon schrijven XY.

Groep 1: basisregels.

  • Toevoeging \left(A\cup B\cup C=R \right)\wig \left(B\cap C\subseteq A \right)\Pijl naar rechts \left(\left(A\tweekoppijl naar rechts B \right)\Pijl naar rechts \left( A\tweekoppijl naar rechts C\right)\right)
  • Transitiviteit \links(A\tweekoppijlrechts B \rechts)\wig \links(B\tweekoppijlrechtsC \rechts)\Rechtspijl \left(A\tweekoppijlrechtsC\backslash B \rechts)
  • Reflexiviteit \left(B\subseteq A \right)\Pijl naar rechts \left(A\tweekoppijl naar rechts B \right)
  • Verhogen \links(A\tweekoppijlrechts B \right)\wig \links(C\subseteq D \right)\Rechtspijl \left(AD\tweekoppijlrechtsBC \rechts)

Groep 2: meerdere worden weergegeven aanvullende regels, wat de taak van het afleiden van meerwaardige afhankelijkheden vereenvoudigt.

  • Pseudotransitiviteit \links(A\tweekoppijlrechts B \rechts)\wig \links(BC\tweekoppijlrechtsD \rechts)\Rechtspijl \left(AC\tweekoppijlrechtsD\backslash BC \rechts)
  • Vereniging \links(A\tweekoppijlrechts B \rechts)\wig \links(A\tweekoppijlrechtsC \rechts)\Rechtspijl \left(A\tweekoppijlrechtsBC \rechts)
  • Ontleding \links(A\tweekoppijlrechts BC \rechts)\Rechtspijl \links(A\tweekoppijlrechtsB\kap C \rechts)\wig \left(A\tweekoppijlrechtsB\backslash C \rechts)\wig \links(A\tweekoppijlrechtsC\ backslash B\rechts)

Groep 3: er wordt een verband gelegd tussen functionele en meerwaardige afhankelijkheden.

  • Replicatie (kopiëren) \links(A\naar B \rechts)\Pijl naar rechts \links(A\tweekoppijl naar rechts B \rechts)
  • Fusie \left(A\twoheadrightarrow B \right)\wedge \left(C\to D \right)\wedge \left(D\subseteq B \right)\wedge \left(B\cap C=\varnothing \right)\ Pijl naar rechts\links(A\naar D\rechts)

Groep 4: Voor functionele afhankelijkheden, zijn afgeleid van de bovenstaande regels.

  • \links(A\tweekoppijl naar rechts B \rechts)\wig \links(AB\naar C \rechts)\Pijl naar rechts \links(A\naar C\backslash B \rechts)

Zie ook

Schrijf een recensie over het artikel "Meerwaardige afhankelijkheid"

Literatuur

  • KJ Datum. Inleiding tot databasesystemen. - 8e druk. - M.: "Williams", 2006. - P. 1328. - ISBN 0-321-19784-4.

Een fragment dat polysemantische afhankelijkheid karakteriseert

Het gezicht begon haar te troosten; Helen zei door haar tranen heen (alsof ze zichzelf was vergeten) dat niets haar ervan kon weerhouden te trouwen, dat er voorbeelden waren (er waren toen maar weinig voorbeelden, maar ze noemde Napoleon en andere hooggeplaatste personen) dat ze nooit de familie van haar man was geweest. vrouw, dat zij werd geofferd.
'Maar wetten, religie...' zei het gezicht, dat het al opgaf.
- Wetten, religie... Waar zouden ze voor uitgevonden zijn als ze dit niet konden doen! - zei Helen.
De belangrijke persoon was verrast dat zo'n eenvoudige redenering niet bij hem opkwam, en wendde zich voor advies tot de heilige broeders van de Sociëteit van Jezus, met wie hij nauwe betrekkingen onderhield.
Een paar dagen daarna, tijdens een van de charmante vakanties die Helen gaf in haar datsja op het eiland Kamenny, werd ze voorgesteld aan een man van middelbare leeftijd, met haar zo wit als sneeuw en zwarte sprankelende ogen, de charmante meneer de Jobert, un jesuite a robe courte, [g n Jaubert, een jezuïet in een korte jurk,] die lange tijd in de tuin, onder het licht van verlichting en de klanken van muziek, met Helen sprak over liefde voor God, voor Christus, voor het hart van de Moeder Gods en over de troost die de enige ware katholieke religie in dit en in het toekomstige leven biedt. Helen was ontroerd, en verschillende keren hadden zowel zij als meneer Jobert tranen in hun ogen en trilden hun stemmen. De dans waarvoor de heer Helen kwam roepen verstoorde haar gesprek met haar toekomstige gewetensbewaker; maar de volgende dag kwam meneer de Jobert 's avonds alleen naar Helen toe en vanaf die tijd begon hij haar vaak te bezoeken.
Op een dag nam hij de gravin mee naar een katholieke kerk, waar ze knielde voor het altaar waar ze naartoe werd geleid. Een charmante Fransman van middelbare leeftijd legde zijn handen op haar hoofd en, zoals ze later zelf zei, voelde ze zoiets als een frisse wind die in haar ziel neerdaalde. Ze legden haar uit dat het la grace [genade] was.
Toen werd de abt haar een robe longue [in een lange jurk] gebracht, hij biechtte haar op en verloste haar van haar zonden. De volgende dag brachten ze haar een doos met het avondmaal en lieten die thuis achter voor gebruik. Na een paar dagen hoorde Helen tot haar tevredenheid dat ze nu lid was geworden van de ware katholieke kerk en dat de paus zelf een dezer dagen meer over haar te weten zou komen en haar een soort papier zou sturen.
Alles wat er in deze tijd rondom haar en met haar werd gedaan, al deze aandacht die door zovelen aan haar werd besteed slimme mensen en uitgedrukt in zulke aangename, verfijnde vormen, en de duifachtige puurheid waarin ze zich nu bevond (ze droeg al die tijd witte jurken met witte linten) - dit alles gaf haar plezier; maar door dit plezier miste ze haar doel geen minuut. En omdat het altijd gebeurt dat een dom persoon op het gebied van sluwheid slimmere mensen misleidt, realiseerde zij zich dat het doel van al deze woorden en problemen voornamelijk was om haar tot het katholicisme te bekeren, om geld van haar af te nemen ten gunste van jezuïeteninstellingen (ongeveer waarop ze hints gaf), drong Helen erop aan, voordat ze geld gaf diverse operaties, wat haar van haar man zou bevrijden. In haar concepten bestond de betekenis van elke religie alleen uit het observeren van een bepaald fatsoen en tegelijkertijd het bevredigen van menselijke verlangens. En voor dit doel eiste ze in een van haar gesprekken met haar biechtvader dringend een antwoord van hem op de vraag in hoeverre haar huwelijk haar bindt.
Ze zaten in de woonkamer bij het raam. Het was schemering. De geur van bloemen kwam uit het raam. Helen droeg een witte jurk die doorzichtig was op haar schouders en borst. De abt, goed gevoed, en met een dikke, gladgeschoren baard, een aangename sterke mond en witte handen gedwee gevouwen op zijn knieën, zat dicht bij Helen en met een subtiele glimlach op zijn lippen, vredig - met een blik die haar schoonheid bewonderde - keek af en toe naar haar gezicht en drukte zijn blik op de vraag die hen bezighield. Helen glimlachte rusteloos, keek naar zijn krullende haar, gladgeschoren, zwart wordende volle wangen, en wachtte elke minuut op een nieuwe wending in het gesprek. Maar hoewel de abt blijkbaar genoot van de schoonheid en intimiteit van zijn gesprekspartner, werd hij meegesleept door de vaardigheid van zijn vak.
De redenering van de leider van het geweten was als volgt. In onwetendheid over de betekenis van wat u deed, legde u een gelofte van huwelijkstrouw af aan een man die, door een huwelijk aan te gaan en niet te geloven in de religieuze betekenis van het huwelijk, godslastering pleegde. Dit huwelijk had niet de dubbele betekenis die het zou moeten hebben. Maar ondanks dit, bond je gelofte je. Je stapte van hem af. Wat heb je hiermee bereikt? Peche veniel of peche mortel? [Een dagelijkse zonde of een doodzonde?] Peche veniel, omdat je de daad zonder kwade bedoelingen hebt gepleegd. Als je nu, met het doel om kinderen te krijgen, een nieuw huwelijk aangaat, dan kan je zonde vergeven worden. Maar de vraag valt weer in tweeën: ten eerste...
‘Maar ik denk’, zei de plotseling verveelde Helen met haar charmante glimlach, ‘dat ik, nu ik de ware religie ben binnengegaan, niet gebonden kan zijn aan wat de valse religie mij heeft opgelegd.’
De gewetensdirecteur was verbaasd over dit Columbus-ei dat hem zo eenvoudig werd voorgelegd. Hij was opgetogen over de onverwachte snelheid van het succes van zijn student, maar kon het bouwwerk van argumenten dat hij met mentale arbeid had opgebouwd niet opgeven.
‘Entendons nous, comtesse, [laten we de zaak onderzoeken, gravin,’ zei hij glimlachend en begon de redenering van zijn geestelijke dochter te weerleggen.

Helen begreep dat de zaak vanuit spiritueel oogpunt heel eenvoudig en gemakkelijk was, maar dat haar leiders alleen maar moeilijkheden veroorzaakten omdat ze vreesden hoe de seculiere autoriteiten naar deze kwestie zouden kijken.
En als gevolg daarvan besloot Helen dat het nodig was om deze kwestie in de samenleving voor te bereiden. Ze wekte de jaloezie van de oude edelman op en vertelde hem hetzelfde als de eerste zoeker, dat wil zeggen: ze stelde de vraag op zo'n manier dat de enige manier om rechten op haar te verkrijgen was door met haar te trouwen. Oud belangrijk persoon de eerste minuut was ze net zo verbaasd over dit voorstel om te trouwen met een levende echtgenoot als de eerste jongere; maar Helens onwrikbare vertrouwen dat het net zo eenvoudig en natuurlijk was als het trouwen van een meisje, had ook een effect op hem. Als zelfs de kleinste tekenen van aarzeling, schaamte of geheimhouding bij Helen zelf merkbaar waren geweest, zou haar zaak ongetwijfeld verloren zijn geweest; maar niet alleen waren deze tekenen van geheimhouding en schaamte afwezig, maar integendeel vertelde ze met eenvoud en goedmoedige naïviteit aan haar goede vrienden (en dit was heel Petersburg) dat zowel de prins als de edelman een aanzoek hadden gedaan tegen haar en dat ze van allebei hield en bang was hem en een ander van streek te maken.

Een relatie kan in 3NF of BCNF zijn en ongewenste eigenschappen hebben. Laten we eens kijken naar de VERKOOPrelatie (Tabel 3.7).

Stoet<z t m> betekent dat de plant z produceert goederen T en bevoorraadt de winkel M. Laten we aannemen dat een fabriek verschillende goederen produceert en verschillende winkels bevoorraadt. Bijgevolg zijn er twee functies die onafhankelijk van elkaar zijn: PRODUCTIE en AANBOD (Fig. 3.4), d.w.z. ze worden niet uitgevoerd in relatie tot VERKOOP. F-afhankelijkheden FACTORYTOBAP en FACTORYSTORE. Zonder verlies van informatie kan deze relatie echter worden opgesplitst in twee relaties: PRODUCTIE (Tabel 3.8) en AANBOD (Tabel 3.9).

Laten we de SALES1-relatie met hetzelfde schema bekijken (Tabel 3.7).

Rijst. 3.4. VERKOOPrelatiefunctie

Tabel 3.7. VERKOOP relatie

Tabel 3.9. Levering

Nadat we deze relatie hebben uitgebreid naar de schema's PRODUCTIE (PLANT PRODUCT) en AANBOD (PLANT STORE), krijgen we opnieuw de overeenkomstige projecties in de tabel. 3.8 en 3.9. Het verbinden van deze projecties herstelt echter niet de oorspronkelijke relatie, aangezien er een tupel verschijnt<z 1 t 2 m 2>

Laten we analyseren welke eigenschappen de relaties SALES en SALES1 onderscheiden. In het eerste geval als een product bijvoorbeeld t 2, geproduceerd door bijvoorbeeld een fabriek z 1, dan wordt het aan alle winkels geleverd, maar in het tweede geval niet. Sterker nog, als de plant z 1 begint te leveren nieuwe winkel m3, dan moet u met betrekking tot VERKOOP twee nieuwe tupels maken: één voor elk product. Dit komt door de wederzijdse onafhankelijkheid van de twee functies (zie figuur 3.4) en kan beter worden bereikt met behulp van twee projecties van de VERKOOPrelatie.

Laten R(A)-relatie waar A = (A 1, A 2,...,Een n), X, Y, Z- subsets A. Er is een meerwaardige afhankelijkheid met betrekking tot R, die wordt aangeduid XààY/Z, indien beschikbaar in R tupels<x y z> en<x y"z"> er moeten tupels zijn<x y" z> en<x y z">.

Voor de hierboven beschouwde relatie VERKOOP geldt dus:

FABRIEKPRODUCT/WINKEL, wat betekent:

als een plant een product produceert, wordt dit geleverd aan alle winkels die door de plant worden bevoorraad;

als een fabriek een bepaalde winkel bevoorraadt, wordt de winkel voorzien van alle goederen die de fabriek produceert;

Alle goederen die door de fabriek worden geproduceerd, worden verkocht in winkels die door de fabriek worden bevoorraad.

Laten R(A)- relationeel schema, X, Y- onsamenhangende deelverzamelingen A, Z = A - (X, Y). Houding R voldoet aan een meerwaardige afhankelijkheid (MV-afhankelijkheid) als er tupels zijn t 1 En t 2 van R, waarvoor t 1 (X) = t 2 (X), V R er is een tupel t 3, waarvoor t 3 (X) = t 1 (X), t 3 (Y) = t 1 (Y), t 3 (Z) = t 2 (Z). Van de symmetrie van de definitie relatief t 1 En t 2 dat vinden wij erin R er is ook een tupel t 4, waarvoor t 4 (X) = t 1 (X), t 4 (Y) = t 2 (Y) en t 4 (Z) = t 1 (Z). De volgende verklaring volgt uit de definitie van MV-afhankelijkheid.

Stelling. Als de houding r(R) voldoet aan MV-afhankelijkheden XààY En Z = R-(X, Y), Dat R voldoet XààY

In de definitie van MV-afhankelijkheid XààY het is vereist dat de linker- en rechterdelen ervan verschillen, dat wil zeggen dat het snijpunt is X En Y was leeg. Daar zijn twee redenen voor: ten eerste wordt niet altijd aan de transitiviteitseigenschap voldaan als de beperking wordt verwijderd, en ten tweede gebruikt de ontwerper in de praktijk MV-afhankelijkheden met onsamenhangende sets attributen.

Stel dat dit in de definitie van MV-afhankelijkheid staat XààY kruispunt X En Y is niet leeg, d.w.z. de relatie r(R) voldoet XààY En Y" = Y-X. Dan r(R) voldoet XààY. Volgens de definitie van MV-afhankelijkheid XààY er zijn tupels t 1 En t 2, waarvoor t1 (X) = t2 (X), en er moet een tupel zijn t 3, waarvoor t 3 (X) = t 1 (X), t 3 (Y) = t 1 (Y), t 3 (Z) = t 2 (Z). Maar als t 3 (Y) = t 1 (Y), dan t 3 (Y") = t 1 (Y"), omdat J" ≤J. Dus, R voldoet XààY."

Laten we aannemen dat het kruispunt X En U leeg en houding r(R) voldoet XààY. Als X"Y, dan X àà YХ" volgens de gewijzigde definitie van MV-afhankelijkheid; Als t 1, t 2 behoort R En t1 (X) = t2 (X) er is een tupel t 3, waarvoor t 3 (X) = t 1 (X), t 3 (Y) = t 1 (Y), t 3 (Z) = t 2 (Z). Vandaar, t3 (YX") = t1 (YX").

Relationele integriteit bestaat uit twee aspecten:

1) Entiteitsintegriteit, is dat in een basisrelatie geen enkel primair sleutelattribuut ontbrekende waarden kan bevatten, aangegeven door de kwalificatie NULL.

2) Referentiële integriteit, is dat als er een externe sleutel bestaat in een relatie, de waarde vreemde sleutel moet overeenkomen met de waarde van een kandidaatsleutel van een tupel in de onderliggende relatie, of moet worden gespecificeerd door een NULL-kwalificatie.

Normalisatie, functionele en meerwaardige afhankelijkheden

Normale vorm- vereiste voor de structuur van tabellen in theorieën relationele databases gegevens om overtollige functionele afhankelijkheden tussen attributen (tabelvelden) uit de database te elimineren. Het proces waarbij een database wordt omgezet in een vorm die voldoet aan normale vormen, wordt normalisatie genoemd.

Normalisatie is het opsplitsen van een tabel in twee of meer tabellen die betere eigenschappen hebben bij het opnemen, wijzigen en verwijderen van gegevens. Het uiteindelijke doel van normalisatie is het verkrijgen van een databaseontwerp waarin elk feit slechts op één plaats voorkomt, d.w.z. redundantie van informatie is uitgesloten. Dit wordt niet zozeer gedaan om geheugen te besparen, maar om mogelijke inconsistenties in de opgeslagen gegevens te elimineren.

Denormalisatie is het opzettelijk in een toestand brengen van een databasestructuur die niet voldoet aan de normalisatiecriteria, meestal uitgevoerd met als doel de leesbewerkingen uit de database te versnellen door redundante gegevens toe te voegen.

De normalisatietheorie is gebaseerd op de aanwezigheid van een of andere relatie tussen de velden van de tabel. Er worden twee soorten van dergelijke afhankelijkheden gedefinieerd: functioneel en meerwaardig.

Functionele afhankelijkheid. Veld B van een tabel hangt functioneel af van veld A van dezelfde tabel als en slechts als er op een gegeven moment voor elk van de verschillende waarden van veld A noodzakelijkerwijs slechts één van de verschillende waarden van veld B. Merk op dat hier wordt aangenomen dat de velden A en B samengesteld kunnen zijn.

In een paar attributen van dezelfde relatie, X en Y, is attribuut Y functioneel afhankelijk van attribuut X als in deze relatie één waarde van X overeenkomt met precies één waarde van Y.

Volledige functionele afhankelijkheid . Veld B is volledig functioneel afhankelijk van een samengesteld veld A als het functioneel afhankelijk is van A en niet functioneel afhankelijk is van enige subset van veld A.

Meerwaardige afhankelijkheid. Veld A definieert veld B van dezelfde tabel op meerwaardige wijze als er voor elke waarde van veld A een goed gedefinieerde reeks corresponderende waarden van B bestaat.

De tafel is binnen eerste normaalvorm(1NF) dan en slechts dan als geen van zijn rijen meer dan één waarde in een van zijn velden bevat en geen van zijn sleutelvelden leeg is. Met andere woorden, elk van zijn attributen is atomair en alle rijen zijn verschillend.

De tafel is binnen tweede normaalvorm(2NF), als het voldoet aan de definitie van 1NF en alle velden die niet in de primaire sleutel zijn opgenomen, zijn door volledige functionele afhankelijkheid gerelateerd aan de primaire sleutel.

Functioneel volledige afhankelijkheid betekent dat het attribuut functioneel afhankelijk is van de gehele primaire sleutel, maar niet functioneel afhankelijk is van welk deel dan ook.

De tafel is binnen derde normaalvorm(3NF) als het voldoet aan de definitie van 2NF en geen van zijn niet-sleutelvelden functioneel afhankelijk is van enig ander niet-sleutelveld.

De tafel is binnen normale vorm Boyce-Codd (BCF) als het zich in de derde normaalvorm bevindt en er geen functionele afhankelijkheden zijn van de primaire sleutelattributen met niet-sleutelattributen.

Deze normaalvorm is een wijziging van de derde normaalvorm. Een tabel kan in 3NF staan, maar niet in BCNF, maar in één geval: als deze, naast de primaire sleutel, ten minsteéén samengestelde kandidaatsleutel, en ten minste één van de tabelattributen is opgenomen in zowel de primaire als de kandidaatsleutel. Dit gebeurt vrij zelden, anders zijn 3NF en BCNF gelijkwaardig.

De tafel is binnen vierde normaalvorm(4NF) als het zich in BCNF bevindt en geen niet-triviale meerwaardige afhankelijkheden bevat. Een meerwaardige afhankelijkheid is niet functioneel; deze bestaat wanneer uit het feit dat de tabel een rij X bevat, volgt dat de tabel er noodzakelijkerwijs enkele bevat specifieke string Y.

De tafel is binnen vijfde normaalvorm(5NF) dan en slechts dan als in elk van zijn volledige decomposities alle projecties een mogelijke sleutel bevatten. Een tabel die geen volledige ontbinding heeft, bevindt zich ook in 5NF.

Normalisatieproces is het proces waarbij achtereenvolgens een tabel wordt vervangen door de volledige decomposities ervan, totdat ze allemaal in 5NF staan. In de praktijk is het voldoende om de tabellen naar BCNF te converteren en er met grote zekerheid van uit te gaan dat ze in 5NF staan. Dit feit moet natuurlijk worden geverifieerd, maar er is nog geen effectief algoritme

zo'n cheque. Daarom zullen we alleen ingaan op de procedure voor het overbrengen van tabellen naar BCNF.

Deze procedure is gebaseerd op het feit dat de enige functionele afhankelijkheden in elke tabel afhankelijkheden van de vorm K->F moeten zijn, waarbij K de primaire sleutel is en F een ander veld. Merk op dat dit volgt uit de definitie van de primaire sleutel van een tabel, volgens welke K->F altijd geldt voor alle velden van een gegeven tabel. “Eén feit op één plek” betekent dat geen enkele andere functionele afhankelijkheden geldig zijn. Het doel van normalisatie is juist om van al deze ‘andere’ functionele afhankelijkheden af ​​te komen, d.w.z. degenen die een andere vorm hebben dan K->F.

Een volledige ontleding van een tabel wordt zo'n set genoemd elk nummer zijn projecties, waarvan de verbinding volledig samenvalt met de inhoud van de tafel.

Er zijn twee gevallen waarmee rekening moet worden gehouden:

1) De tabel heeft een samengestelde primaire sleutel in de vorm van bijvoorbeeld (K1,K2), en bevat ook een veld F, dat functioneel afhankelijk is van een deel van deze sleutel, bijvoorbeeld van K2, maar niet van volledige sleutel. In dit geval wordt aanbevolen om nog een tabel te maken die K2 en F bevat (de primaire sleutel is K2) en F uit de oorspronkelijke tabel te verwijderen:

2) De tabel heeft een primaire (mogelijke) sleutel K, wat niet het geval is mogelijke sleutel een veld F1, dat uiteraard functioneel afhankelijk is van K, en een ander niet-sleutelveld F2, dat functioneel afhankelijk is van F1. De oplossing is hier in wezen hetzelfde als voorheen: er wordt een nieuwe tabel gevormd die F1 en F2 bevat, met F1 als de primaire sleutel, en F2 wordt uit de oorspronkelijke tabel verwijderd:

En T2(F1,F2), primaire sleutel F1.

Voor elke gegeven tabel kan men, door de toepassing van de twee besproken regels te herhalen, in bijna alle praktische situaties eindigen met een reeks tabellen die zich in de "definitieve" normale vorm bevinden en dus geen andere functionele afhankelijkheden van de vorm bevatten dan K->F.

Laboratoriumwerk nr. 3

Opdracht voor laboratorium werk Nr. 3. Doelen van het werk:

Normaliseer tabellen.

Selecteer alle sleutelvelden (supertoetsen, potentiële sleutels, primaire sleutels en vreemde sleutels).

Maak ER-diagrammen (IDEF, UML op opties).

Formules schrijven relationele algebra, die de originele tabellen uitvoert op basis van de genormaliseerde tabellen.

Tabel 1

Functietitel

Groen uniform

Bodybuilder

Blauw uniform

technische controle

Geel uniform

13-12, 14-23, 12-

Bodybuilder

Blauw uniform

technische controle

Geel uniform

16-25, 12-54, 13-

Zelenkov

Bodybuilder

Blauw uniform

Khalturijn

Groen uniform

Tabel 2

Producten

Pakket

Verf TU 124-89

3 kg pot,

Spray 100 gr, Balon-

kip 250 gr.

Verf TU 512-2005

1 kg pot,

Spuitbus 100 gr

Oplosmiddel

Pat 100 gr, Pat 500 gr,

Werkplaats 1, Werkplaats 3

Kan 1kg

Oplosmiddel

Pat 250 gr, Pat 500 gr.

Werkplaats 2, Werkplaats 3

Oplosmiddel

Huisdier 250 gr, blik 3 kg

wetgeving van de afgelopen zes maanden

Journalist

Financiën: kortetermijnvoorspelling

Hi-tech: recensie van nieuwe producten op de IT-beurs

Tabel 4

Chauffeurs

auto

Moskou, Nizjni

Novgorod,

Ivanov, Petrov

Vladimir, Kazan, Oefa

Petrov, Sidorov

Mercedes

Chistopol,

Sidorov, Ivanov

Almetjevsk

Chistopol,

Ivanov, Sidorov

Almetjevsk

Moskou, Nizjni

Novgorod,

Petrov, Sidorov

Mercedes

Vladimir, Kazan, Oefa

Ivanov, Petrov