Functionele afhankelijkheden. Wat is een functie? Een functionele afhankelijkheid, of functie, is een afhankelijkheid tussen twee variabelen, zodat elke waarde van de onafhankelijke variabele

Het concept van functionele afhankelijkheid

Laten R- ϶ᴛᴏ houding. Enerzijds heeft het op een bepaald moment een specifieke (constante) betekenis. Aan de andere kant is dit een variabele die op een gegeven moment een andere waarde kan aannemen.

Het concept van een federale wet kan zowel op het eerste als op het tweede geval worden toegepast. In dit geval zullen we alleen het tweede geval beschouwen, omdat het komt meer overeen met de werkelijkheid.

Bepaling van functionele afhankelijkheid. Laten R– relatievariabele. X En Y– willekeurige subsets van een reeks attributen R. Dan Y is functioneel afhankelijk van X, dat symbolisch wordt geschreven als X → Y(lees als ʼʼ X functioneel definieert Yʼʼ) dan en slechts dan als er een geldige waarde is R elke waarde X gekoppeld aan precies één waarde Y.

Hier X genaamd determinant Federale wet, en Yafhankelijk deel Federale wet.

Voorbeeld: Laten R- ϶ᴛᴏ houding Studenten. X– studentencode Y– de verzameling van alle leerlingkenmerken. Dan X → Y, omdat X vertegenwoordigt een primaire sleutel die een record in een tabel op unieke wijze identificeert Studenten.

Deze bewering geldt ook voor een algemener geval: if X- ϶ᴛᴏ potentiële sleutel, dan de verzameling van alle attributen R hangt altijd functioneel af van X.

Er moet echter rekening mee worden gehouden dat als R er is dus een federale wet waarvan de linkerkant geen potentiële sleutel bevat R heeft ontslag, wat het moeilijk maakt om de gegevensintegriteit te garanderen en onnodige systeembronnen in beslag neemt.

Als er aan de linkerkant geen attribuut mag worden weggelaten, wordt doorgaans een dergelijke functionele afhankelijkheid genoemd onherleidbaar(meer precies, onherleidbaar gelaten).

Voorbeeld:

{StudentID, Voornaam, Achternaam, Middelste naam} → {Geboortedatum) – gezien de federale wet.

{StudentID} → {Geboortedatum) – onherleidbare FL.

Meestal wordt een reeks functionele afhankelijkheden genoemd onherleidbaar dan en slechts dan als het alle drie de volgende eigenschappen heeft:

1. Het afhankelijke deel van elke functionele afhankelijkheid bevat slechts één attribuut.

2. De determinant van elke functionele afhankelijkheid is onherleidbaar.

3. Geen enkele functionele afhankelijkheid van de set mag worden verwijderd zonder dat informatie over de verbindingen verloren gaat.

Het in overweging nemen van de reeks onherleidbare natuurkundige wetten is belangrijk voor het normaliseren van relaties.

Er zijn twee soorten federale wetten:

1. Triviale federale wetten- ϶ᴛᴏ Federale wetten, waarin de rechterkant ( Y) is een subset van de linkerkant ( X). Vanuit praktisch oogpunt zijn ze niet van groot belang, maar vanuit het oogpunt van de formele theorie van afhankelijkheden is het uiterst belangrijk om rekening te houden met hun aanwezigheid.

2. Niet-triviale federale wetten. Dit zijn inderdaad beperkingen op de gegevensintegriteit. In verband hiermee zullen we in de toekomst niet-triviale federale wetten overwegen.

Om te bepalen in welke normale vorm de relatie zich bevindt, is het noodzakelijk om alle natuurkundige wetten te vinden. Er zijn er drie Armstrongs regels(Zweedse wiskundige), waardoor men mogelijke natuurkundige wetten kan afleiden uit de initiële reeks natuurkundige wetten.

Laten A, B, C- ϶ᴛᴏ subsets van de set relatieattributen R, AB– de vereniging van deze subsets.

1. Regel van reflexiviteit. In het geval dat de set B is een deelverzameling van de verzameling A, Dat EEN → B. (Dit is in wezen de definitie van een triviale afhankelijkheid.)

2. Complementregel. In het geval dat EEN → B, Dat AC → BC.

3. Transitiviteitsregel. In het geval dat EEN → B En B → C, Dat EEN → C.

Elk van deze regels moet worden bewezen op basis van de definitie van de federale wet.

Tegelijkertijd kunnen, om het verkrijgen van alle federale wetten te vereenvoudigen, verschillende aanvullende regels worden afgeleid (laten D- ϶ᴛᴏ een andere willekeurige subset van de set attributen R):

4. Regel van zelfbeschikking. EEN → EEN.

5. Ontledingsregel. In het geval dat EEN → BC, Dat EEN → B En EEN → C.

6. Verenigingsregel. In het geval dat EEN → B En EEN → C, Dat EEN → BC.

7. Regel van compositie. In het geval dat EEN → B En C → D, Dat AC → BD.

8. Universele eenwordingsstelling. In het geval dat A → B En C → D, Dat A(C – B) → BD.

De naam van de stelling geeft aan dat sommige van de hierboven genoemde regels kunnen worden afgeleid als speciale gevallen van deze stelling.

Houd er rekening mee dat deze regels geen duidelijk algoritme bieden voor het verkrijgen van alle federale wetten. Bovendien bestaat een dergelijk algoritme niet. De enige manier is om alle opties te doorlopen.

Het concept van functionele afhankelijkheid - concept en typen. Classificatie en kenmerken van de categorie "Het concept van functionele afhankelijkheid" 2017, 2018.

A. Wanneer we de kwantitatieve kant van verschillende processen beschouwen, zien we bijna altijd dat de variabele grootheden van elkaar afhankelijk zijn; Het pad dat een vrij vallend lichaam in een vacuüm aflegt, hangt bijvoorbeeld alleen af ​​van de tijd, de druk in een stoomketel hangt alleen af ​​van de temperatuur van de stoom.

De diepte van de oceaan is op een bepaald punt constant, maar op verschillende punten is deze alleen afhankelijk van twee variabelen: van de geografische lengtegraad en de geografische breedtegraad van de plaats.

De hoogte van een groeiende boom is afhankelijk van veel variabelen: zonlicht, vochtigheid, de hoeveelheid voedingsstoffen in de bodem, enz.

We zien dat sommige variabelen onafhankelijk veranderen, ze worden onafhankelijke variabelen of argumenten genoemd, terwijl andere ervan afhankelijk zijn en functies worden genoemd.

De afhankelijkheid zelf wordt functioneel genoemd. Functionele afhankelijkheid is trouwens een van de belangrijkste concepten in de wiskunde.

B. Je moet altijd onderscheid maken van hoeveel onafhankelijke variabelen een functie afhankelijk is. Functies van één variabele zijn het gemakkelijkst te bestuderen; we zullen ze eerst behandelen. Het bestuderen van functies van veel variabelen is moeilijker, maar op de een of andere manier komt het neer op het bestuderen van functies van één variabele.

C. Als we wiskundig willen opschrijven dat de variabele y afhankelijk is van , dan gebruiken we de volgende notatie:

Dit bericht luidt als volgt:

Niet; je zou moeten denken dat de letter wordt vermenigvuldigd met , het is slechts een afkorting van het woord "functie", en de hele invoer is een afkorting van de zin (2).

Op dezelfde manier, als een functie U afhangt van twee argumenten, wordt deze afhankelijkheid als volgt aangegeven:

Ook hier zijn de letters f, x en y geen factoren.

Het is volkomen duidelijk hoe de functie van drie vier of meer argumenten wordt aangegeven.

In plaats van een letter worden meestal andere letters gebruikt.

D. Notaties van het type (1) en (3) zijn de meest algemene aanduidingen van functies, aangezien ze als elke functie kunnen worden opgevat, en daarom kunnen we, als we alleen deze aanduidingen in de hand hebben, niets leren over de eigenschappen van deze functies.

Om een ​​functie te kunnen bestuderen, moet je deze definiëren.

e. Er zijn veel manieren om een ​​functie te definiëren, maar ze komen allemaal neer op drie basistypen:

1) een functie kan worden gespecificeerd door een tabel met zijn numerieke waarden die overeenkomen met de numerieke waarden van zijn argument;

2) de functie kan grafisch worden gespecificeerd;

3) de functie kan worden gespecificeerd door een wiskundige formule.

F. Laten we voorbeelden geven. Het is bekend dat wanneer het vliegwiel draait, spanningen ontstaan ​​die de neiging hebben de velg te scheuren. Als de velg van homogeen materiaal is gemaakt, zijn de spanningen alleen afhankelijk van de rotatiesnelheid. Door de snelheid aan te duiden met v, en de spanning in de rand met , kunnen we dat schrijven

De materiaalsterktetheorie geeft de volgende tabel voor de waarden van functie (4), als de velg is gemaakt van gietstaal:

Hier wordt v gemeten in meter per seconde - newton per vierkante centimeter.

Het grote voordeel van de tabellarische methode voor het maken van een functie is dat de getallen in de tabel direct kunnen worden gebruikt voor verschillende berekeningen.

Het nadeel is dat elke tabel niet voor alle argumentwaarden wordt gegeven, maar met bepaalde intervallen, dus als er geen functiewaarden in de tabel staan, moet je een meer gedetailleerde tabel nemen; als dit laatste niet beschikbaar is, moet u het vereiste aantal min of meer selecteren in overeenstemming met de aard van de verandering in de cijfers in de tabel,

G. Een groot nadeel is ook dat als de tabel veel getallen bevat, de aard van de verandering in de functie moeilijk te begrijpen is. Tenslotte is het derde nadeel dat het moeilijk is om de eigenschappen van een functie gegeven door een tabel te bestuderen; bovendien zullen de resulterende eigenschappen onnauwkeurig zijn.

H. De grafische methode voor het specificeren van een functie kent de eerste twee nadelen niet.

Bekijk het volgende voorbeeld om de grafische methode te illustreren.

Als enig materiaal aan spanning wordt onderworpen, zal de kracht die nodig is om uit te rekken afhangen van hoeveel strekking er moet worden gedaan, d.w.z. kracht is een functie van rek. Als het percentage verlenging wordt aangegeven met X, en de trekkracht, die gewoonlijk wordt gemeten in newton per vierkante centimeter, wordt aangegeven met , dan

Voor verschillende materialen zal deze afhankelijkheid anders zijn. Laten we de coördinaatassen nemen en k beschouwen als de abscis en de ordinaat, dan krijgen we voor elk paar van hun waarden een punt in het vlak.

Al deze punten zullen zich op een bepaalde curve bevinden, die er voor verschillende materialen anders uitziet. Er zijn apparaten die dergelijke curven automatisch tekenen.

Voor zacht staal krijgen we de volgende curve (Fig. 31):

k. Zoals we kunnen zien, is de grafische sloop inderdaad visueel en geeft de functiewaarden voor alle argumentwaarden. Maar ook hier doet zich het derde nadeel voor. Het is nog steeds moeilijk om de eigenschappen van een grafisch weergegeven functie te bestuderen.

l. Laten we nu laten zien hoe u een functie definieert met behulp van een formule. Laten we dit voorbeeld nemen. De oppervlakte van een cirkel hangt uiteraard af van de straal. Als de straal wordt aangegeven met i en de oppervlakte met y, dan is, zoals bekend uit de meetkunde, de verhouding tussen de omtrek en de lengte van de diameter. We zien dat de afhankelijkheid hier wordt gegeven door een wiskundige formule, dus de derde methode wordt de wiskundige methode genoemd. Nog een voorbeeld: de lengte van de hypotenusa van een rechthoekige driehoek hangt af van de lengte van beide benen. Als we de lengte van de hypotenusa aangeven met , en de lengte van de benen met , dan zullen we volgens de stelling van Pythagoras hebben

Omdat we beide benen onafhankelijk van elkaar kunnen veranderen, hebben we hier een voorbeeld van een functie van twee argumenten, wiskundig gedefinieerd.

Er kunnen nog veel meer voorbeelden gegeven worden van wiskundig gedefinieerde functies uit verschillende wetenschappen.

M. De wiskundige methode heeft een groot voordeel ten opzichte van andere methoden voor het specificeren van functies, namelijk: wiskundige analyse kan worden gebruikt om wiskundig gedefinieerde functies te bestuderen.

Bovendien kunt u, indien nodig, de wiskundige methode altijd in tabelvorm veranderen. We hebben inderdaad het recht om de argumenten in te stellen op de numerieke waarden die we wensen en de formule te gebruiken om zoveel functiewaarden te berekenen als we willen. Eén formule vervangt dus de hele tabel.

N. De wiskundige methode heeft slechts één nadeel, namelijk dat de formule geen visuele weergave geeft van de verandering in de functie. We kunnen deze tekortkoming echter altijd goedmaken, omdat de wiskundige toewijzingsmethode altijd in een grafische kan worden omgezet. Het is zo gedaan.

O. Als we een functie hebben van één variabele, dan maken we een tabel en nemen we elk paar waarden van het argument en de functie als coördinaten, waarna we een zo groot mogelijk aantal punten construeren. Alle resulterende punten bevinden zich op een bepaalde gebogen lijn, die de grafiek van de functie zal zijn. Als we een functie hebben van twee of meer argumenten, kan deze grafisch worden weergegeven. Maar dit is veel ingewikkelder, en daarom zullen we dit probleem iets later behandelen.

P. Al het bovenstaande geeft aan dat de wiskundige methode voor het specificeren van functies het meest voordelig is.

Daarom streven ze er altijd naar om, als een functie wordt gegeven door een tabel of grafiek, deze uit te drukken met een formule. Deze taak is meestal erg moeilijk, maar uiterst belangrijk voor de natuur- en technische wetenschappen. Zonder overdrijving kunnen we zeggen dat alle problemen van de mechanica, de natuurwetenschappen en de toegepaste wetenschappen neerkomen op het vaststellen en bestuderen van functionele afhankelijkheden tussen de variabelen waarmee deze disciplines te maken hebben. Als Bel erin slaagt deze functionele afhankelijkheden in formules uit te drukken, verkrijgt de wetenschap een betrouwbare hefboom voor het toepassen van de enorme kracht van wiskundige analyse en maakt zij grote vorderingen in de ontwikkeling ervan.

Aan de andere kant groeit en verbetert de wiskundige analyse, die dit uitstekende voedsel ontvangt, zelf.

Q. Vanwege het feit dat het vertalen van functionele afhankelijkheidsformules in taal geen directe taak van de wiskunde is, zullen we aannemen dat de functies al door formules worden uitgedrukt. In wat volgt zullen we dus alleen ingaan op wiskundig gedefinieerde functies.

Wat is een functie? Een functionele afhankelijkheid, of functie, is een afhankelijkheid tussen twee variabelen waarbij elke waarde van de onafhankelijke variabele overeenkomt met een enkele waarde van de afhankelijke variabele. De onafhankelijke variabele wordt ook wel een argument genoemd, en de afhankelijke variabele zou een functie van dit argument zijn. Alle waarden die de onafhankelijke variabele aanneemt vormen het domein van de functie.


Er zijn verschillende manieren om een ​​functie te specificeren: 1. Met behulp van een tabel. 2.Grafisch. 3.Een formule gebruiken. De grafiek van een functie is de verzameling van alle punten van het coördinatenvlak, waarvan de abscis gelijk is aan de waarden van het argument, en de ordinaat gelijk is aan de overeenkomstige waarden van de functie.



Een lineaire functie is een functie die kan worden gespecificeerd door een formule in de vorm y=kx+b, waarbij x de onafhankelijke variabele is en k en b getallen zijn. Om een ​​grafiek van een lineaire functie te tekenen, volstaat het om de coördinaten van twee punten in de grafiek te vinden, deze punten in het coördinatenvlak te markeren en er een rechte lijn doorheen te trekken. Directe evenredigheid is een functie van de vorm y=kx, waarbij x een onafhankelijke variabele is en k een getal dat niet nul is. De grafiek van directe evenredigheid is een rechte lijn die door de oorsprong gaat.


Een grafiek van een lineaire functie plotten Om een ​​grafiek van een lineaire functie te plotten, moet u: - twee willekeurige waarden van de variabele x (argument) selecteren, bijvoorbeeld 0 en 1; - bereken de overeenkomstige waarden van de variabele y (functie). Het is handig om de verkregen resultaten in de x01 y-tabel te schrijven - de verkregen punten A en B worden weergegeven in het coördinatensysteem; - verbind de punten A en B met behulp van een liniaal. Laten we de lineaire functie y = -3 x+6 plotten. x01 y63


Inverse evenredigheid is een functie die kan worden gespecificeerd door een formule in de vorm y=k/x, waarbij x de onafhankelijke variabele is en k een getal dat niet nul is. Het definitiedomein van een dergelijke functie is de verzameling van alle getallen behalve nul. Als de grootheden x en y omgekeerd evenredig zijn, wordt de functionele relatie daartussen uitgedrukt door de vergelijking y = k / x, waarbij k een constante waarde is. Een inverse evenredigheidsgrafiek is een gebogen lijn die uit twee takken bestaat. Deze grafiek wordt een hyperbool genoemd. Afhankelijk van het teken van k bevinden de takken van de hyperbool zich ofwel in het 1e en 3e coördinaatkwartier (k positief), of in het 2e en 4e coördinaatkwartier (k negatief). De figuur toont een grafiek van de functie y = k/x, waarbij k een negatief getal is.



SPECIALE GEVALLEN VAN LINEAIRE FUNCTIE. y=kx, k0, b=0 - directe evenredigheid. De grafiek is een rechte lijn die door de oorsprong gaat; y=b, k=0, b0. (b>0, boven de OX-as; b 0, boven de OX-as; b"> 0, boven de OX-as; b"> 0, boven de OX-as; b" title=" SPECIALE GEVALLEN VAN LINEAIRE FUNCTIE. y=kx, k0, b=0 - directe evenredigheid,. Grafiek - rechte lijn die door de oorsprong van coördinaten gaat; y=b, k=0, b0. (b> 0, boven de OX-as;"> title="SPECIALE GEVALLEN VAN LINEAIRE FUNCTIE. y=kx, k0, b=0 - directe evenredigheid. De grafiek is een rechte lijn die door de oorsprong gaat; y=b, k=0, b0. (b>0, boven de OX-as; b"> !}

Een relationele database bevat zowel structurele als semantische informatie. De structuur van een database wordt bepaald door het aantal en het type relaties die het bevat, en de één-op-veel-relaties die bestaan ​​tussen de tupels van deze relaties. Het semantische deel beschrijft de reeks functionele afhankelijkheden die bestaan ​​tussen de attributen van deze relaties. Laten we functionele afhankelijkheid definiëren.

Definitie: Als twee attributen X en Y van een bepaalde relatie worden gegeven, dan wordt gezegd dat Y functioneel afhankelijk is van X als op enig moment elke waarde van X overeenkomt met precies één waarde van Y. De functionele afhankelijkheid wordt aangegeven met X -> Y. Merk op dat X en Y niet alleen afzonderlijke attributen kunnen vertegenwoordigen, maar ook groepen die uit verschillende attributen van één relatie bestaan. We kunnen zeggen dat functionele afhankelijkheden één-op-veel-relaties zijn die binnen een relatie bestaan.

    2e normale vorm (2NF) relatie. Bepaling van volledige functionele afhankelijkheid en 2NF.

Kenmerken van relaties in 2NF. Algoritme voor reductie tot 2NF. De stelling van Heath. Voorbeelden.Concept

volledige functionele afhankelijkheid. Definitie: niet-sleutelattribuut volledig functioneel afhankelijk

Definitie: van een samengestelde sleutel als deze functioneel afhankelijk is van de gehele sleutel als geheel, maar niet functioneel afhankelijk is van de samenstellende attributen ervan. overmatige functionele afhankelijkheid

- een afhankelijkheid die informatie bevat die kan worden verkregen op basis van andere in de database beschikbare afhankelijkheden.

2NF - tweede normaalvorm. Definitie van de tweede normaalvorm: er is een relatie 2NF

Een databaseschema dat geen redundante functionele afhankelijkheden heeft, wordt als correct beschouwd. Anders moet je je toevlucht nemen tot de procedure van ontbinding (ontleding) van de bestaande reeks relaties. In dit geval bevat de gegenereerde set een groter aantal relaties, die projecties zijn van de relaties van de originele set. (De projectiebewerking wordt beschreven in het gedeelte over relationele algebra.) Het omkeerbare, stapsgewijze proces van het vervangen van een gegeven reeks relaties door een ander schema, waarbij overtollige functionele afhankelijkheden worden geëlimineerd, wordt normalisatie genoemd.

De omkeerbaarheidsvoorwaarde vereist dat de ontleding de gelijkwaardigheid van circuits behoudt wanneer het ene circuit door het andere wordt vervangen, d.w.z. in de resulterende relaties:

1) eerder ontbrekende tupels mogen niet verschijnen;

2) de relaties van het nieuwe schema moeten voldoen aan de oorspronkelijke reeks functionele afhankelijkheden.

De stelling van Heath

Laat de relatie gegeven worden.

Als R voldoet aan de functionele afhankelijkheid, dan is het gelijk aan de vereniging van zijn projectie en

    3e normaalvorm (3NF) relatie.

Vinden

Functionele afhankelijkheden. Basisdefinities.

In relationele databases leidt datalogisch of logisch ontwerp tot de ontwikkeling van een databaseschema, dat wil zeggen een reeks relatiediagrammen die op adequate wijze abstracte objecten van het vakgebied en semantische relaties tussen deze objecten modelleren. De basis voor het analyseren van de juistheid van een schema zijn de zogenaamde functionele afhankelijkheden tussen databaseattributen. Sommige afhankelijkheden tussen relatiekenmerken zijn ongewenst vanwege de bijwerkingen en afwijkingen die ze veroorzaken bij het wijzigen van de database. In dit geval bedoelen we met het proces van databasewijziging het introduceren van nieuwe gegevens in de database of het verwijderen van bepaalde gegevens uit de database, evenals het bijwerken van de waarden van sommige attributen.

  • De logische of datalogische ontwerpfase eindigt echter niet met het ontwerp van een relatiediagram. Over het algemeen moeten als resultaat van deze fase de volgende resulterende documenten worden verkregen:
  • Beschrijving van het conceptuele schema van de database in termen van het geselecteerde DBMS.
  • Beschrijving van externe modellen in termen van het geselecteerde DBMS.
  • Beschrijving van declaratieve regels voor het handhaven van de database-integriteit.

Voordat we echter het geconstrueerde schema beschrijven in termen van het geselecteerde DBMS, moeten we dit schema bouwen. Het is dit proces waar deze paragraaf aan gewijd is. We moeten een correct databaseschema bouwen op basis van het relationele gegevensmodel.

DEFINITIE

Laten we een databaseschema correct noemen als er geen ongewenste afhankelijkheden zijn tussen relatiekenmerken.

Het proces van het ontwikkelen van het juiste schema voor een relationele database wordt logisch databaseontwerp genoemd.

Het ontwerpen van een databaseschema kan op twee manieren:

  • door decompositie (partitionering), wanneer de oorspronkelijke set relaties in het databaseschema wordt vervangen door een andere set relaties (hun aantal neemt toe), die projecties zijn van de oorspronkelijke relaties;
  • door synthese, dat wil zeggen door het samenstellen van gegeven initiële elementaire afhankelijkheden tussen objecten uit het onderwerpgebied van een databasediagram.

De klassieke technologie voor het ontwerpen van relationele databases wordt geassocieerd met de theorie van normalisatie, gebaseerd op de analyse van functionele afhankelijkheden tussen attributen van relaties. Het concept van functionele afhankelijkheid is fundamenteel in de theorie van de normalisatie van relationele databases. We zullen het verder definiëren, maar laten we nu even ingaan op de betekenis van dit concept. Functionele afhankelijkheden definiëren stabiele relaties tussen objecten en hun eigenschappen in het beschouwde vakgebied. Dit is de reden waarom het proces van het ondersteunen van domeinspecifieke functionele afhankelijkheden van fundamenteel belang is voor het ontwerpproces.

Het decompositieontwerpproces is een proces van sequentiële normalisatie van relatiepatronen, waarbij elke volgende iteratie overeenkomt met een normaalvorm op een hoger niveau en betere eigenschappen heeft dan de vorige.

Elke normaalvorm komt overeen met een bepaalde reeks beperkingen, en een relatie heeft een bepaalde normale vorm als deze voldoet aan de inherente reeks beperkingen.

In de theorie van relationele databases wordt doorgaans de volgende reeks normaalvormen onderscheiden:

  • eerste normaalvorm (1NF);
  • tweede normaalvorm (2NF);
  • derde normale vorm (3NF);
  • normale Boyce-Codd-vorm (NBFC);
  • vierde normaalvorm (4NF);
  • vijfde normaalvorm, of projectie-conjunctievorm (5NF).

Basiseigenschappen van normaalvormen:

  • elke volgende normaalvorm verbetert in zekere zin de eigenschappen van de vorige;
  • Bij het overgaan naar de volgende normaalvorm blijven de eigenschappen van de voorgaande normaalvormen behouden.

Het klassieke ontwerpproces is gebaseerd op een reeks overgangen van een vorige normaalvorm naar een volgende normaalvorm. Tijdens het ontbindingsproces worden we echter geconfronteerd met het probleem van de omkeerbaarheid, dat wil zeggen de mogelijkheid om het oorspronkelijke circuit te herstellen. De decompositie moet dus de gelijkwaardigheid van databaseschema's behouden wanneer het ene schema door het andere wordt vervangen.

Databaseschema's worden aangeroepen equivalent, als de inhoud van de brondatabase kan worden verkregen door op natuurlijke wijze de relaties in het resulterende schema te verbinden, en er geen nieuwe tupels in de brondatabase verschijnen.

Bij het uitvoeren van gelijkwaardige transformaties blijven veel van de oorspronkelijke fundamentele functionele afhankelijkheden tussen relatieattributen behouden.

Functionele afhankelijkheden bepalen niet de huidige toestand van de database, maar al zijn mogelijke toestanden. Dat wil zeggen dat ze de verbindingen weerspiegelen tussen attributen die inherent zijn aan een reëel object dat is gemodelleerd met behulp van de database.

Daarom is het alleen mogelijk om functionele afhankelijkheden te bepalen op basis van de huidige status van de database als het database-exemplaar absoluut volledige informatie bevat (dat wil zeggen dat er geen toevoegingen of wijzigingen aan de database worden verwacht). In het echte leven is het onmogelijk om aan deze vereiste te voldoen, dus wordt de reeks functionele afhankelijkheden gespecificeerd door de ontwikkelaar, systeemanalist, op basis van een diepgaande systeemanalyse van het vakgebied.

Laten we een aantal basisdefinities presenteren.

Functionele afhankelijkheid (FD) is een veel-op-een-relatie tussen sets attributen binnen een bepaalde relatie.

Laat R een relatie zijn, en A en B zijn willekeurige deelverzamelingen van de verzameling attributen van de relatie R. Dan hangt B functioneel af van A (A B) als elke waarde van de verzameling A van de relatie R één waarde van de verzameling B bepaalt van de relatie R. Met andere woorden, als twee tupels van de relatie R samenvallen in waarde A, vallen ze ook samen in waarde B.

De linker- en rechterdelen van de federale wet worden respectievelijk het determinante en het afhankelijke deel genoemd.

Als aan de FL wordt voldaan voor alle mogelijke waarden van de relatie, dan is dit een integriteitsbeperking voor de relatie, omdat in dit geval worden bepaalde beperkingen opgelegd aan alle toegestane waarden.

Als A een kandidaatsleutel is van een relatie R, bijvoorbeeld A is een primaire sleutel, dan moeten alle attributen van de relatie R functioneel afhankelijk zijn van A (dit volgt uit de definitie van een kandidaatsleutel).

De set FL's kan groot zijn, en aangezien FL's integriteitsbeperkingen zijn, moeten ze elke keer dat de database wordt bijgewerkt, worden gecontroleerd. Daarom is de taak om de reeks federale wetten tot een compact formaat terug te brengen dringend.

Een voor de hand liggende manier om de reeks federale wetten te verkleinen is door uitsluiting triviaal Federale wet.

Functionele afhankelijkheid triviaal, als de rechterkant een subset is van de linkerkant. Voor een database met leveranciers en onderdelen geldt bijvoorbeeld een triviale federale wet:



(PNUM, DNUM)®PNUM

Er kan niet anders dan aan triviale afhankelijkheden worden voldaan en ze zijn daarom niet van praktisch belang, in tegenstelling tot niet-triviale afhankelijkheden, die integriteitsbeperkingen zijn. Triviale afhankelijkheden kunnen van veel federale wetten worden uitgesloten.

Een niet-sleutelattribuut is elk relatieattribuut dat geen deel uitmaakt van een relatiesleutel.

Onderling onafhankelijke attributen zijn die attributen die functioneel niet van elkaar afhankelijk zijn.