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

Het concept van functionele afhankelijkheid

Laten R- ϶ᴛᴏ houding. Enerzijds heeft het een specifieke (constante) betekenis op dit moment tijd. 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ʼʼ) als en slechts als voor enige toegestane waarde 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 er, om het verkrijgen van alle federale wetten te vereenvoudigen, er nog een paar worden afgeleid aanvullende regels(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- ϶ᴛᴏ opsomming van alle opties.

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

De informatie had altijd voldoende dynamische interesse. Ontwikkeling van programmeertalen, relationele databases en informatietechnologie heeft de inhoud en structuur van de belangstelling radicaal veranderd. Er heeft zich een bepaald strikt ideeënsysteem ontwikkeld. Formalisering, exacte wiskunde en binaire relaties zijn een succesvol en zich snel ontwikkelend kennis- en ervaringsgebied geworden.

De natuurlijke wereld van informatie heeft haar dynamiek niet veranderd en is door de ontwikkeling van inhoud en structuur naar nieuwe hoogten gestegen. Het heeft gladde vormen en er is niets in de natuur "rechthoekig". Informatie leent zich uiteraard voor formalisering, maar er is sprake van dynamiek; niet alleen de gegevens en algoritmen voor de verwerking ervan veranderen, ook de taken zelf en de gebieden van hun toepassing veranderen.

Informatie > formalisering >> gegevens

Informatie verandert in een informatiestructuur, een database...) zoals de programmeur het ziet. Er is geen garantie dat deze visie juist is, maar als zijn programma het probleem oplost, dan zijn de gegevens zo goed mogelijk gepresenteerd.

De vraag hoe correct de informatie werd geformaliseerd is een kwestie van tijd. Tot nu toe was het concept van dynamiek (zelfaanpassing aan veranderende gebruiksomstandigheden) slechts een programmeerdroom.

Functionele afhankelijkheid: “juiste oplossing = programma (programmeur)” en voorwaarde: “continue uitvoering van de taak” zijn in de meeste gevallen geldig, maar alleen samen. Maar dit is niet de wiskundige basis die wordt gebruikt om databases te maken.

Een directe verklaring: de natuurlijke en continue dynamiek van informatie en probleemoplossende algoritmen is altijd reëel. En dit zijn binaire relaties + strikte wiskunde + nauwkeurige formele constructies, + ...

en databanken

Hoe gegevens worden opgeslagen, is lange tijd onbelangrijk geweest: zij het RAM of extern apparaat. De hardwarecomponent heeft een gestaag ontwikkelingstempo bereikt en biedt goede kwaliteit in grote hoeveelheden.

De belangrijkste opslagopties, verschillend in opties voor gegevensgebruik:

  • bestanden;
  • databases.

Het eerste wordt aan de programmeur overgelaten (wat te schrijven, in welk formaat, hoe het te doen, hoe te lezen...), het tweede brengt onmiddellijk de behoefte met zich mee om een ​​eenvoudige functionele afhankelijkheid te begrijpen.

De snelheid van het ophalen en schrijven van informatie bij het werken met bestanden (van een redelijke omvang, niet astronomisch) is erg snel, maar de snelheid van soortgelijke bewerkingen met een database kan soms merkbaar traag zijn.

Persoonlijke ervaring en collectieve wijsheid

Door de geschiedenis heen zijn er pogingen geweest om deze grenzen te overschrijden, maar tot op de dag van vandaag zijn relationele databases de baas. Er is een groot theoretisch potentieel opgebouwd, de toepassingspraktijk is uitgebreid en de ontwikkelaars zijn hooggekwalificeerd.

Databaseontwikkelaars leggen het concept van functionele afhankelijkheid op aan de programmeur, zelfs als hij niet van plan is gebruik te maken van de rijke wiskundige en logische ervaring van het construeren van complexe informatiestructuren, de processen om ermee te werken, het ophalen en vastleggen van informatie.

Zelfs binnen eenvoudig geval de programmeur is afhankelijk van de databaselogica waarmee hij wil werken. Er is geen wens om de canons te volgen, je kunt bestanden gebruiken, je krijgt veel bestanden en veel persoonlijke ervaring. Er zal veel persoonlijke tijd worden besteed en het probleem zal over een lange periode worden opgelost.

Hoe complex voorbeelden van functionele afhankelijkheid ook lijken, het is helemaal niet nodig om in de diepten van betekenis en logica te duiken. Vaak moet worden erkend dat de collectieve geest in staat is geweest uitstekende databases te creëren, verschillende maten en functionaliteit:

  • solide orakel;
  • veeleisende MS SQL Server;
  • populaire MySQL.

Uitstekende relationele databases met een goede reputatie, eenvoudig in gebruik, snel in de juiste handen. Het gebruik ervan bespaart tijd en elimineert de noodzaak om nog meer vellen met hulpcode te schrijven.

Programmeer- en datafuncties

Programmeren heeft lange tijd de ziekte gehad om voortdurend iets te herschrijven, het werk van voorgangers te herhalen om op de een of andere manier iets aan te passen aan veranderde informatie, een taak of de omstandigheden van het gebruik ervan.

Het probleem met functionele afhankelijkheid is dat een fout, net als bij programmeren, erg kostbaar kan zijn. De taak is zelden eenvoudig. Meestal wordt tijdens het formaliseren van informatie een complexe weergave van de gegevens verkregen. Meestal worden hun elementen geïsoleerd, vervolgens worden ze door sleutels aan bepaalde relaties gekoppeld, waarna algoritmen voor het vormen van tabellen, query's en algoritmen voor het ophalen van informatie worden aangepast.

Vaak grote waarde heeft een binding met de codering. Niet alle databases bieden dit aan mobiele oplossingen, kun je vaak tegenkomen hoe een perfect geconfigureerde MySQL, waarop een tiental databases liggen, die perfect en stabiel werken, de ontwikkelaar dwingt om de elfde database vergelijkbaar te maken met de databases die al bestaan.

Er zijn momenten waarop gedeelde hosting beperkt de functionaliteit van PHP en dit drukt zijn stempel op de programmeertoegang tot de database.

IN moderne programmering De verantwoordelijkheid voor het programma-algoritme is gelijk aan de verantwoordelijkheid voor het creëren van het datamodel. Alles zou moeten werken, maar je moet niet altijd in de jungle van de theorie duiken.

DB: eenvoudige gegevensafhankelijkheid

Allereerst is het concept van een database zowel een database, een managementsysteem (bijvoorbeeld MySQL) als een bepaalde informatiestructuur die taakgegevens en de verbindingen daartussen weerspiegelt. Een MySQL-database"bezit" een willekeurig aantal informatiestructuren in verschillende toepassingsgebieden. Een Oracle-database, kan bieden informatie processen groot bedrijf of bank, bewaak beveiligingsproblemen en gegevensintegriteit het hoogste niveau, gelegen op veel computers op verschillende afstanden, in verschillende toolomgevingen.

Het is algemeen aanvaard dat houding van fundamenteel belang is relationeel model. Een elementaire relatie is een reeks kolommen met namen en rijen met waarden. Klassiek "rechthoek"(tabel) - eenvoudig en effectief vooruitgang boeken. De complexiteit en functionele afhankelijkheid van een database begint wanneer "rechthoeken" relaties met elkaar beginnen aan te gaan.

De naam van elke kolom in elke tabel moet uniek zijn binnen de context van de taak. Dezelfde gegevens kunnen niet in twee tabellen voorkomen. Ken de betekenis van de concepten:

  • “entiteiten definiëren”;
  • “elimineer overtolligheid”;
  • “relaties herstellen”;
  • “om de authenticiteit te garanderen.”

Een elementaire noodzaak voor het gebruik van een database en het bouwen van een datamodel voor een specifieke taak.

Schending van een van deze concepten betekent een lage efficiëntie van het algoritme, trage gegevensbemonstering, gegevensverlies en andere problemen.

Functionele afhankelijkheid: logica en betekenis

Je hoeft niet te lezen over tupels van relaties, over het feit dat een functie een correspondentie is tussen een reeks argumenten en een reeks waarden, en dat een functie niet alleen een formule of een grafiek is, maar kan worden gespecificeerd door een reeks waarden - een tabel.

Het is niet nodig, maar het kan geen kwaad om een ​​functionele afhankelijkheid als volgt te beschouwen:

F(x1, x2, …, xN) = (y1, y2, …, yN).

Maar het is absoluut noodzakelijk om te begrijpen dat de invoer een tabel is, en de uitvoer ook een tabel of een specifieke oplossing. Doorgaans legt een functionele afhankelijkheid de logica vast van relaties tussen tabellen, query's, privileges, triggers, opgeslagen procedures en andere aspecten (componenten) van de database.

Meestal worden tabellen naar elkaar geconverteerd en vervolgens naar het resultaat. Maar het gebruik van functionele afhankelijkheid beperkt zich niet alleen tot dit idee. De programmeur bouwt zelf zijn eigen representatie van het databeeld, informatie structuur... het maakt niet uit hoe je het noemt, maar als het op een specifieke database werkt, moet het worden gebouwd volgens de logica ervan, rekening houdend met de betekenis ervan en het dialect van de gebruikte taal, meestal SQL.

Er kan worden beargumenteerd dat de eigenschappen van de functionele afhankelijkheden van een database toegankelijk zijn via het gebruikte dialect SQL-taal. Maar het is veel belangrijker om te begrijpen: na alle wisselvalligheden van de ontwikkeling zijn er niet veel databases bewaard gebleven, maar er zijn ook veel dialecten van deze taal en kenmerken van interne structuren in de databases.

Over het goede oude Excel

Toen de computer zich liet zien met positieve kant, werd de wereld onmiddellijk verdeeld in programmeurs en gebruikers. In de regel gebruiken de eersten:

  • PHP, Perl, JavaScript, C++, Delphi.
  • MySQL, Oracle, Visual FoxPro.
  • Woord.
  • Excel.

Sommige gebruikers slagen erin om zelf databases in Word te maken (zonder de hulp van programmeurs) - dit is echte onzin.

Gebruikerservaring in Excel om databases te maken is praktisch en interessant. Het belangrijkste is dat Excel zelf functioneel, kleurrijk en praktisch is.

Het tabellarische idee definieerde het concept van functionele afhankelijkheid op een duidelijke en toegankelijke manier, maar elke database heeft nuances. Elk heeft zijn eigen ‘gezicht’, maar iedereen, van Excel tot Oracle, manipuleert eenvoudige vierkanten, dat wil zeggen tabellen.

Als je bedenkt dat Excel helemaal geen database is, maar dat veel gebruikers (geen programmeurs) het op die manier gebruiken, en Oracle de meest complexe en krachtige prestatie is van een groot team van ontwikkelaars op het gebied van databases, dan wordt het vanzelfsprekend om geef toe dat een database een representatiespecifieke programmeur (team) is specifieke taak en de oplossing ervan.

Wat functionele afhankelijkheid is, waarmee, waar, waarom... is alleen duidelijk voor de auteur of een team van hen.

Over waar relationele relaties naartoe gaan

Wetenschappelijke en technologische vooruitgang is een zeer pijnlijke procedure, en soms wreed. Als je je herinnert hoe databases begonnen, wat *.dbf is, hoe cybernetica werd gebrandmerkt, toen werden ze verliefd op de informatica en begonnen ze obstakels voor beweging te creëren hoge technologie op landenniveau wordt duidelijk waarom relationele databases zo veerkrachtig en goed zijn. Waarom de klassieke stijl van programmeren vandaag de dag nog steeds voortleeft, en objectgeoriënteerd programmeren eenvoudigweg wordt gewaardeerd, maar nog niet regeert.

Hoe mooi ook functionele afhankelijkheid in de context van de wiskunde:

Dit is geen binaire relatie, of beter gezegd, het is een reden om het idee van het tot stand brengen van relaties tussen vele attributen te heroverwegen, door ‘één-op-veel’, ‘veel-op-één’, ‘veel-op-een’ te onderzoeken. -veel' of 'veel in het algemeen en sommige in het bijzonder'-relaties.

Je kunt een grote verscheidenheid aan relatie-opties bedenken. Het is wiskunde met logica, en het is rigoureus! Informatie is zijn eigen wiskunde, speciaal. Daarin kun je alleen over formaliteit praten met een heel groot minpunt.

Je kunt het werk van de HR-afdeling formaliseren, een geautomatiseerd controlesysteem schrijven voor de olieproductie of de productie van melk, brood, een selectie maken in enorme database Google, Yandex of Rambler, maar het resultaat zal altijd statisch en op elk moment hetzelfde zijn!

Als functionele afhankelijkheid = strikte logica en wiskunde = de basis voor databases, over wat voor soort dynamiek kunnen we dan praten? Elke oplossing zal formeel zijn, elk formeel datamodel + strikt algoritme = exacte en ondubbelzinnige oplossing. De informatie en reikwijdte van elk programma verandert voortdurend.

Steekproef zoekmachine op dezelfde zoekterm kan niet binnen een uur of twee hetzelfde zijn, en zeker binnen een dag - als zoekterm verwijst naar het informatieveld waarin het aantal sites, bronnen, kennis en andere elementen voortdurend verandert.

Zelfs als het programma puur wiskundig is en de database niet eens aan dynamiek denkt, alles is altijd lijnen. En de snaar heeft een lengte. En het kan niet eindeloos zijn. Het kan niet eens een variabele zijn, alleen een voorwaardelijke variabele. Elke database, met zijn wiskundig en binair bureaucratisch apparaat, legt onder andere veel formaliteiten op, en dit betekent snelheid + kwaliteit van de bemonstering en verwerking van informatie.

En als bepaalde velden in de database cijfers zijn, vooral echte, dan worden de volgende beperkingen toegevoegd: de capaciteit van het aantal cijfers, de aanwezigheid van de letter "e", weergaveformaat - kortom, overal en altijd hebben we belangrijke database functionele afhankelijkheidseigenschappen: reeksen van voorwaardelijk variabele lengte met veel binaire formaliteiten en strikte wiskundige beperkingen.

Als je de toon verandert en luistert naar de hartslag van de dynamiek, kan alles in objecten worden geschilderd. In een eerste benadering is de naam van een kolom in een tabel een object, een lijst met namen is ook een object, kortom een ​​tabel is een headerobject en daarin de namen van de kolommen in de header. En misschien is er helemaal geen hoed...

Maar er kunnen rijen in de tabel voorkomen. En de string kan waarden hebben. En waarom zouden het er altijd evenveel moeten zijn? Volledige vierkante tafel- dit is iets bijzonders, en in de meeste gevallen een privézaak.

Als u alle constructies in de database als objecten weergeeft, hoeft u wellicht geen strikte binaire relaties op te bouwen. Er is een natuurlijke en echte betekenis al was het maar omdat dit, volgens objectieve (zeker niet wiskundige) logica, de dynamiek van informatie en de omgeving weerspiegelt waarin problemen bestaan.


Invoering

Een dialectische benadering van de studie van de natuur en de samenleving vereist het beschouwen van verschijnselen in hun onderlinge samenhang en voortdurende verandering.

De concepten correlatie en regressie verschenen halverwege de 19e eeuw. dankzij het werk van de Engelse statistici F. Galton en K. Pearson. De eerste term komt van het Latijnse ‘correlatio’ – ratio, relatie. De tweede term (van het Latijnse 'regressie' - achterwaartse beweging) werd geïntroduceerd door F. Galton, die, terwijl hij de relatie tussen de lengte van ouders en hun kinderen bestudeerde, het fenomeen 'regressie naar het gemiddelde' ontdekte - bij kinderen geboren bij zeer lange ouders lag de lengte dichter bij de gemiddelde waarde. In de praktijk van economisch onderzoek kunnen de beschikbare gegevens vaak niet worden beschouwd als een steekproef uit een multivariate normale populatie, bijvoorbeeld wanneer een van de variabelen in kwestie niet willekeurig is of wanneer de regressielijn duidelijk niet recht is, enz. In deze gevallen probeert men de curve (oppervlak) te bepalen die de beste (in de zin van de kleinste kwadraten) benadering geeft van de oorspronkelijke gegevens. De overeenkomstige benaderingsmethoden worden aangeroepen

regressieanalyse . De doelstellingen van regressieanalyse zijn het vaststellen van de vorm van afhankelijkheid tussen variabelen, het schatten van de regressiefunctie en het schatten van onbekende waarden (voorspelling van waarden) van de afhankelijke variabele. Het bovenstaande bepaalt de relevantie van de onderwerpkeuze



cursus werk

. Het doel van dit werk is om de functionele afhankelijkheid tussen willekeurige variabelen te bestuderen met behulp van de methoden van correlatie- en regressieanalyses.

Hoofdstuk 1 Correlatieanalyse 1.1 Functionele, statistische en correlatieafhankelijkheden over functionele afhankelijkheid (verbinding), wanneer elke waarde van de ene variabele overeenkomt met een zeer specifieke waarde van een andere. Functionele afhankelijkheid kan zowel voorkomen tussen deterministische (niet-willekeurige) variabelen (bijvoorbeeld de afhankelijkheid van de mate van daling in een vacuüm van tijd, enz.) als tussen willekeurige variabelen (bijvoorbeeld de afhankelijkheid van de kosten van producten die worden verkocht op de markt). hun aantal, enz.). In de economie zijn er in de meeste gevallen afhankelijkheden tussen variabele hoeveelheden, wanneer elke waarde van één variabele niet overeenkomt met een specifieke, maar met veel mogelijke waarden van een andere variabele.

Met andere woorden: elke waarde van de ene variabele komt overeen met een bepaalde (voorwaardelijke) verdeling van een andere variabele. Deze afhankelijkheid (verbinding) wordt statistisch (of stochastisch, probabilistisch) genoemd.

De opkomst van het concept van een statistische relatie is te wijten aan het feit dat de afhankelijke variabele wordt beïnvloed door een aantal ongecontroleerde of niet-verantwoorde factoren, evenals aan het feit dat het meten van variabele waarden onvermijdelijk gepaard gaat met enkele willekeurige fouten. Een voorbeeld van een statistische relatie is de afhankelijkheid van de opbrengst van de hoeveelheid toegepaste kunstmest, de arbeidsproductiviteit van een bedrijf van de stroomvoorziening, etc.

Vanwege de dubbelzinnigheid van de statistische relatie tussen Y en X is vooral voor de onderzoeker het afhankelijkheidspatroon, gemiddeld over x, van belang, d.w.z. een patroon in de verandering in de gemiddelde waarde - de voorwaardelijke wiskundige verwachting (Y) (de wiskundige verwachting van een willekeurige variabele Y, gevonden op voorwaarde dat de variabele X de waarde x aanneemt) afhankelijk van x.

Definitie

: Een statistische relatie tussen twee variabelen waarbij elke waarde van één variabele overeenkomt met een bepaalde gemiddelde waarde, d.w.z. de voorwaardelijke wiskundige verwachting is anders, correlatie genoemd. Anders is de correlatieafhankelijkheid tussen twee variabele grootheden de functionele afhankelijkheid tussen de waarden van de ene en de voorwaardelijke wiskundige verwachting van de andere. De correlatieafhankelijkheid kan worden weergegeven als: afhankelijkheid tussen X en Y kunnen we zeggen dat met een verandering in de waarden van de variabele X, met een functionele afhankelijkheid, een bepaalde waarde van de variabele y ondubbelzinnig verandert, met een correlatie - een bepaalde gemiddelde waarde (voorwaardelijke wiskundige verwachting ) van Y, en met een statistische - een bepaalde (voorwaardelijke) verdeling van de variabele Y (Fig. .1.1)

Van de beschouwde afhankelijkheden is dus de meest algemene de statistische afhankelijkheid. Elke correlatie is statistisch, maar niet elke statistische relatie is correlatie. Functionele afhankelijkheid vertegenwoordigt speciaal geval

correlatie.

Vergelijkingen (1.1) en (1.2) worden modelregressievergelijkingen genoemd (of eenvoudigweg regressievergelijkingen), respectievelijk Y in X en X in Y, de functies ψ(x) en φ(y) zijn modelregressiefuncties (of regressiefuncties) , en hun grafieken - modelregressielijnen (of regressielijnen). Model zoeken regressievergelijkingen

Over het algemeen is het noodzakelijk om de verdelingswet van een tweedimensionale willekeurige variabele (X,Y) te kennen.

In de praktijk heeft de onderzoeker in de regel slechts een beperkte steekproef van waardenparen (,). In dit geval kunnen we spreken over een schatting (een uitdrukking bij benadering) op basis van een steekproef van de regressiefunctie. Deze beste (in de zin van de kleinste kwadratenmethode) schatting is de steekproefregressielijn (curve) van Y op X

waar is het voorwaardelijke (groeps)gemiddelde van de variabele Y voor een vaste waarde van de variabele X = x;

,…, zijn de parameters van de curve.

De voorbeeldregressielijn (curve) van X op Y wordt op dezelfde manier bepaald:

waar is het voorwaardelijke (groeps)gemiddelde van de variabele X voor een vaste waarde van de variabele Y = y; -curveparameters. Vergelijkingen (1.3) en (1.4) worden ook wel genoemd, respectievelijk Y bij X en X bij Y. Met correct gedefinieerde benaderingsfuncties) en met toenemende steekproefomvang (n), zullen ze in waarschijnlijkheid respectievelijk convergeren naar de regressiefuncties ψ(x) en φ(y).

Statistische relaties tussen variabelen kunnen worden bestudeerd met behulp van de methoden van correlatie- en regressieanalyse. Het hoofddoel van regressieanalyse is het vaststellen van de vorm en het bestuderen van de relatie tussen variabelen. De belangrijkste taak

correlatie analyse

Laten we als voorbeeld eens kijken naar de relatie tussen de dagelijkse productie Y (t) en de waarde van de vaste productiemiddelen X (miljoen roebel) voor een reeks van 50 vergelijkbare ondernemingen (Tabel 1).
(In de tabel geven respectievelijk de en de middelpunten van de overeenkomstige intervallen aan, en geven de en hun frequenties aan.)

Voor elke waarde, d.w.z. voor elke rij van de correlatietabel berekenen we de groepsgemiddelden

waar zijn de frequenties van paren () en; m – aantal intervallen voor variabele Y.

We plaatsen de berekende groepsgemiddelden in de laatste kolom van de correlatietabel en geven deze grafisch weer in de vorm van een onderbroken lijn, de empirische regressielijn van Y op X genoemd.

Op dezelfde manier voor elke waarde volgens de formule

Laten we de groepsgemiddelden berekenen, waarbij l het aantal intervallen is voor de variabele X.

Door de vorm van de stippellijn kan men de aanwezigheid bepalen van een lineaire correlatie-afhankelijkheid Y van X tussen de twee variabelen in kwestie, die nauwkeuriger wordt uitgedrukt naarmate de steekproefomvang n groter is:

Daarom zullen we zoeken naar regressievergelijking (1.3) in de vorm:

Laten we even een pauze nemen van het beschouwde voorbeeld en formules zoeken voor het berekenen van de onbekende parameters van de lineaire regressievergelijking.

Voor dit doel passen we de kleinste kwadratenmethode toe, waarbij de onbekende parameters zo worden geselecteerd dat de som van de kwadratische afwijkingen van de empirische groepsgemiddelden berekend met behulp van formule (1.5) uit de gevonden waarden met behulp van de regressie vergelijking (1.8) is minimaal:

Gebaseerd op noodzakelijke voorwaarde van het uiterste van de functie van twee variabelen S=S() stellen we de partiële afgeleiden ervan gelijk aan nul, d.w.z.

Van waaruit we, na transformatie, een systeem van normale vergelijkingen verkrijgen voor het bepalen van de parameters van lineaire regressie:

Rekening houdend met (1.5), transformeren we de uitdrukking en rekening houdend met (1.7), door beide zijden van vergelijkingen (1.10) te delen door n, verkrijgen we een systeem van normale vergelijkingen in de vorm:

waarbij de overeenkomstige gemiddelden worden bepaald door de formules:

Door de waarde uit de eerste vergelijking van het systeem (1.11) te vervangen door de regressievergelijking (1.8), verkrijgen we

De coëfficiënt b 1 in de regressievergelijking, de voorbeeldregressiecoëfficiënt genoemd (of eenvoudigweg de regressiecoëfficiënt) Y op X, wordt aangegeven met het symbool. Nu wordt de regressievergelijking van Y op X als volgt geschreven:

De regressiecoëfficiënt Y op X laat zien hoeveel eenheden de Y-variabele gemiddeld verandert wanneer de X-variabele met één eenheid toeneemt.

Oplossysteem (1.11) vinden we

waar is de steekproefvariantie van de variabele X

µ - monstercorrelatiemoment:

Door op dezelfde manier te redeneren en aan te nemen dat de regressievergelijking (1.4) lineair is, kunnen we deze reduceren tot de vorm:

steekproefregressiecoëfficiënt (of eenvoudigweg regressiecoëfficiënt) X op Y, die aangeeft hoeveel eenheden de variabele X gemiddeld verandert wanneer de variabele Y met één eenheid toeneemt = – (–steekproefvariantie van de variabele Y. verslaving. In dit geval bevinden alle waarnemingen zich... Trendlijn (Fig. 2); 3) selecteer het type afhankelijkheden regressie. Voor ons voorbeeld is het trendtype...

  • Stoombad regressie (3)

    Toets >> Wiskunde

    De betekenis van regressieanalyse is de constructie functioneel afhankelijkheden tussen twee groepen variabelen...lineair en niet-lineair regressie. Lineair regressie:. Niet-lineair regressie zijn verdeeld in twee klassen: regressie, niet-lineair ten opzichte van...

  • De uniciteitsbeperkingen die worden opgelegd door de primaire en kandidaat-sleuteldeclaraties van een relatie zijn een speciaal geval van de beperkingen die verband houden met het concept functionele afhankelijkheden.

    Beschouw het volgende voorbeeld om het concept van functionele afhankelijkheid uit te leggen.

    Laten we een relatie krijgen met gegevens over de resultaten van één specifieke sessie. Het diagram van deze relatie ziet er als volgt uit:

    Sessie ( Cijferboek nr. , Achternaam, voornaam, patroniem, Item , Cijfer);

    De attributen “Gradebook No.” vormen een samengestelde primaire sleutel (aangezien twee attributen als sleutel worden gedeclareerd). Uit deze twee attributen kan men immers ondubbelzinnig de waarden van alle andere attributen bepalen.

    Naast de uniciteitsbeperking die aan deze sleutel is gekoppeld, moet de relatie echter noodzakelijkerwijs onderworpen zijn aan de voorwaarde dat er één cijferlijst moet worden afgegeven aan één persoon. aan een specifieke persoon en daarom moeten tupels met hetzelfde cijferlijstnummer in dit opzicht bevatten dezelfde waarden attributen “Achternaam”, “Voornaam” en “Patroniem”.


    Als we het volgende fragment hebben van een specifieke studentendatabase onderwijsinstelling na een sessie, dan vallen in de tupels met cijferlijstnummer 100 de attributen "Achternaam", "Voornaam" en "Patroniem" samen, maar de attributen "Onderwerp" en "Cijfer" vallen niet samen (wat begrijpelijk is, omdat ze hetzelfde bevatten verschillende onderwerpen en prestaties daarop). Dit betekent dat de attributen “Achternaam”, “Voornaam” en “Patroniem” functioneel afhankelijk van het attribuut “Cijferlijstnummer”, en de attributen “Onderwerp” en “Cijfer” zijn functioneel onafhankelijk.

    Dus, functionele afhankelijkheid is een ondubbelzinnige afhankelijkheid die is weergegeven in databasebeheersystemen.

    Laten we nu een strikte definitie geven van functionele afhankelijkheid.

    Vanwege de dubbelzinnigheid van de statistische relatie tussen Y en X is vooral voor de onderzoeker het afhankelijkheidspatroon, gemiddeld over x, van belang, d.w.z.: laat X, Y subschema's zijn van de schemarelaties S die het schema S definiëren functioneel afhankelijkheidsdiagram X > Y(lees “X pijl Y”). Laten we definiëren inv functionele afhankelijkheidsbeperkingen > J> als een verklaring dat, met betrekking tot schema S, elke twee tupels die samenvallen in de projectie naar subschema X ook moeten samenvallen in de projectie naar subschema Y.

    Laten we dezelfde definitie in formele vorm schrijven:

    Inv > J> R(S) = T 1 , T 2 ? R(T 1 [X] = T 2 [X] ? T 1 [Y] = T 2 [Y]), X, Y? S;

    Interessant genoeg gebruikt deze definitie het concept van een unaire projectieoperatie, dat we eerder tegenkwamen. Hoe kun je anders, als je deze bewerking niet gebruikt, aantonen dat twee kolommen van een relatietabel, in plaats van rijen, gelijk aan elkaar zijn? Daarom schreven we in termen van deze operatie dat het samenvallen van tupels in de projectie op een of ander attribuut of meerdere attributen (subschema X) zeker het samenvallen van dezelfde tupelkolommen op subschema Y met zich meebrengt in het geval dat Y functioneel afhankelijk is van X .

    Het is interessant om op te merken dat in het geval van een functionele afhankelijkheid van Y van X, ze ook zeggen dat X functioneel definieert Y of wat Y functioneel afhankelijk van X. In een functioneel afhankelijkheidsdiagram X > Y wordt subcircuit X de linkerkant genoemd en wordt subcircuit Y genoemd rechterkant.

    In de databaseontwerppraktijk wordt een functioneel afhankelijkheidsdiagram kortheidshalve gewoonlijk een functioneel afhankelijkheidsdiagram genoemd.

    Einde definitie.


    In het speciale geval waarin de rechterkant van de functionele afhankelijkheid, dat wil zeggen het subschema Y, samenvalt met het gehele relatieschema, wordt de functionele afhankelijkheidsbeperking een uniciteitsbeperking voor de primaire sleutel of de kandidaatsleutel. Echt:

    Inv<K > S> R(S) = ? T 1 , T 2 ? R(T 1 [K] = T 2 [K] > T 1 (S) = T 2 (S)), K ? S;

    Het is alleen zo dat je bij het definiëren van een functionele afhankelijkheid, in plaats van het subcircuit X, de sleutelaanduiding K moet nemen, en in plaats van de rechterkant van de functionele afhankelijkheid, subcircuit Y, je het hele relatiediagram S moet nemen, dat wil zeggen: de uniciteitsbeperking van relatiesleutels is inderdaad een speciaal geval van de functionele afhankelijkheidsbeperking wanneer de rechterkant gelijk is aan functionele afhankelijkheidsschema's voor het gehele relationele schema.

    Hier zijn voorbeelden van afbeeldingen van functionele afhankelijkheid:

    (cijferlijstnummer) > (achternaam, voornaam, patroniem);

    (cijferboeknummer, onderwerp) > (cijfer);

    2. Armstrongs gevolgtrekkingsregels

    Als een basisrelatie voldoet aan vectorgedefinieerde functionele afhankelijkheden, kunnen andere worden verkregen met behulp van verschillende speciale gevolgtrekkingsregels functionele afhankelijkheden, waaraan deze fundamentele relatie zeker zal voldoen.

    Een goed voorbeeld van zulke speciale regels zijn de inferentieregels van Armstrong.

    Maar voordat we Armstrongs gevolgtrekkingsregels zelf gaan analyseren, moeten we een nieuw metalinguïstisch symbool “+” in overweging nemen, dat wordt genoemd symbool van een meta-statement over deduceerbaarheid. Bij het formuleren van regels wordt dit symbool tussen twee syntactische uitdrukkingen geschreven en geeft aan dat de formule rechts ervan is afgeleid van de formule links ervan.

    Laten we nu de inferentieregels van Armstrong zelf formuleren in de vorm van de volgende stelling.

    Stelling. De volgende regels, de zogenaamde Armstrong-regels voor gevolgtrekking, zijn geldig.

    Inferentieregel 1.+ X > X;

    Inferentieregel 2. X > Y+ X ? Z > Y;

    Inferentieregel 3. X > Y, Y? W > Z + X ? W > Z;

    Hier zijn X, Y, Z, W willekeurige subschema's van het relatieschema S. Het symbool van een meta-uitspraak over afleidbaarheid scheidt lijsten met premissen en lijsten met uitspraken (conclusies).

    1. De eerste gevolgtrekkingsregel heet “ reflexiviteit” en luidt als volgt: “de regel is afgeleid: “X impliceert functioneel X.” Dit is de eenvoudigste van Armstrongs gevolgtrekkingsregels. Het komt letterlijk uit de lucht vallen.

    Het is interessant om op te merken dat functionele afhankelijkheid zowel links als links is rechterkant, genaamd reflecterend. Volgens de reflexiviteitsregel wordt automatisch voldaan aan de beperking van reflexieve afhankelijkheid.

    2. De tweede gevolgtrekkingsregel heet “ aanvulling' en luidt als volgt: 'als X functioneel Y bepaalt, dan wordt de regel afgeleid:' de vereniging van deelcircuits X en Z brengt functioneel Y met zich mee. Met de aanvullingsregel kunt u uitbreiden linkerkant beperkingen op functionele afhankelijkheden.

    3. De derde gevolgtrekkingsregel heet “ pseudotransitiviteit en luidt als volgt: “als deelcircuit X functioneel deelcircuit Y met zich meebrengt en de vereniging van deelcircuits Y en W functioneel Z met zich meebrengt, dan wordt de regel afgeleid: “de vereniging van deelcircuits X en W bepaalt functioneel deelcircuit Z.”

    De pseudotransitiviteitsregel generaliseert de transitiviteitsregel die overeenkomt met het speciale geval W: = 0. Laten we een formele weergave van deze regel geven:

    Opgemerkt moet worden dat de eerder gegeven premissen en conclusies in verkorte vorm werden gepresenteerd met behulp van de aanduidingen van functionele afhankelijkheidsschema's. In uitgebreide vorm komen ze overeen met de volgende functionele afhankelijkheidsbeperkingen.

    Inferentieregel 1. inv X>r(S);

    Inferentieregel 2. inv Y> r(S) ? inv Y>r(S);

    Inferentieregel 3. inv Y> r(S) & inv Z> r(S) ? inv Z>r(S);

    Laten we uitvoeren bewijs deze gevolgtrekkingsregels.

    1. Bewijs van de regel reflexiviteit volgt rechtstreeks uit de definitie van de beperking van functionele afhankelijkheid bij het vervangen van subcircuit X in plaats van subcircuit Y.

    Laten we inderdaad de functionele afhankelijkheidsbeperking nemen:

    Inv Y> r(S) en X erin vervangen in plaats van Y, we krijgen:

    Inv X> r(S), en dit is de regel van reflexiviteit.

    De regel van reflexiviteit is bewezen.

    2. Bewijs van de regel aanvulling Laten we dit illustreren met functionele afhankelijkheidsdiagrammen.

    Het eerste diagram is het uitgangspuntdiagram:

    Pakket: X>Y


    Tweede diagram:

    conclusie: X? Z>Y


    Laat de tupels gelijk zijn op X? Z. Dan zijn ze gelijk op X. Volgens de premisse zijn ze gelijk op Y.

    De aanvullingsregel is bewezen.

    3. Bewijs van de regel pseudotransitiviteit We zullen dit ook illustreren met diagrammen, waarvan er in dit specifieke geval drie zullen zijn.

    Het eerste diagram is het eerste uitgangspunt:

    uitgangspunt 1: X > Y


    uitgangspunt 2: Ja? W>Z


    En tenslotte is het derde diagram het conclusiediagram:

    conclusie: X? W>Z


    Laat de tupels gelijk zijn op X? W. Dan zijn ze gelijk op zowel X als W. Volgens premisse 1 zijn ze gelijk op Y. Dus volgens premisse 2 zijn ze gelijk op Z.

    De pseudotransitiviteitsregel is bewezen.

    Alle regels zijn bewezen.

    3. Afgeleide gevolgtrekkingsregels

    Een ander voorbeeld van regels met behulp waarvan, indien nodig, nieuwe regels van functionele afhankelijkheid kunnen worden afgeleid, zijn de zogenaamde afgeleide gevolgtrekkingsregels.

    Wat zijn deze regels, hoe worden ze verkregen?

    Het is bekend dat als uit sommige regels die al bestaan, legaal is logische methoden anderen afleiden, dan worden deze nieuwe regels genoemd derivaten, kan naast de originele regels worden gebruikt.

    Er moet speciaal worden opgemerkt dat deze zeer willekeurige regels precies zijn “afgeleid” van de Armstrong-inferentieregels die we eerder hebben doorgenomen.

    Laten we de afgeleide regels voor het afleiden van functionele afhankelijkheden formuleren in de vorm van de volgende stelling.

    Stelling.

    De volgende regels zijn afgeleid van de inferentieregels van Armstrong.

    Inferentieregel 1.+X? Z > X;

    Inferentieregel 2. X > Y, X > Z + X? Y>Z;

    Inferentieregel 3. X > Y? Z + X > Y, X > Z;

    Hier zijn X, Y, Z, W, net als in het vorige geval, willekeurige deelschema’s van het relatieschema S.

    1. De eerste afgeleide regel wordt aangeroepen de regel van trivialiteit en luidt als volgt:

    “De regel is afgeleid: “de vereniging van deelcircuits X en Z impliceert functioneel X.”

    Er wordt een functionele afhankelijkheid genoemd, waarbij de linkerkant een subset van de rechterkant is triviaal. Volgens de trivialiteitsregel wordt automatisch aan triviale afhankelijkheidsbeperkingen voldaan.

    Interessant is dat de trivialiteitsregel een generalisatie is van de reflexiviteitsregel en, net als deze laatste, rechtstreeks kan worden afgeleid uit de definitie van de functionele afhankelijkheidsbeperking. Het feit dat deze regel afgeleid is, is niet toevallig en houdt verband met de volledigheid van Armstrongs systeem van regels. We zullen later meer praten over de volledigheid van Armstrongs systeem van regels.

    2. De tweede afgeleide regel wordt aangeroepen additiviteitsregel en luidt als volgt: “Als deelcircuit X functioneel deelcircuit Y bepaalt, en X tegelijkertijd functioneel Z bepaalt, dan leiden we uit deze regels af volgende regel: “X definieert functioneel de vereniging van subcircuits Y en Z.”

    3. De derde afgeleide regel wordt aangeroepen regel van projectiviteit of de regel " omkering van de additiviteit" Het luidt als volgt: “Als subcircuit X functioneel de vereniging van subcircuits Y en Z definieert, dan wordt uit deze regel de regel afgeleid: “X definieert functioneel subcircuit Y en tegelijkertijd definieert X functioneel subcircuit Z””, d.w.z. inderdaad , dit is een afgeleide regel die het omgekeerde is van de optelregel.

    Het is merkwaardig dat de regels van additiviteit en projectiviteit, zoals toegepast op functionele afhankelijkheden met identieke linkerzijden, ons in staat stellen de rechterzijden van de afhankelijkheid te combineren of, omgekeerd, te splitsen.

    Bij het construeren van gevolgtrekkingsketens, nadat alle premissen zijn geformuleerd, wordt de regel van transitiviteit toegepast om een ​​functionele afhankelijkheid op te nemen met de rechterkant in de conclusie.

    Laten we uitvoeren bewijs de vermelde regels voor willekeurige gevolgtrekking.

    1. Bewijs van de regel trivialiteit.

    Laten we het, net als alle volgende bewijzen, stap voor stap uitvoeren:

    1) we hebben: X > X (uit Armstrongs regel van reflexiviteit van gevolgtrekking);

    De trivialiteitsregel is bewezen.

    2. Laten we een stapsgewijs bewijs van de regel uitvoeren additiviteit:

    1) we hebben: X > Y (dit is uitgangspunt 1);

    2) we hebben: X > Z (dit is uitgangspunt 2);

    3) we hebben: Y ? Z > Y? Z (uit Armstrongs regel van reflexiviteit van gevolgtrekking);

    4) wij hebben: X? Z > Y? Z (verkregen door toepassing van de regel van pseudotransitiviteit van Armstrongs afleiding, en vervolgens als gevolg van de eerste en derde stap van het bewijs);

    5) wij hebben: X? X > Y? Z (verkregen door de pseudotransitiviteitsregel van Armstrong toe te passen, en volgt dan uit de tweede en vierde stap);

    6) we hebben X > Y? Z (volgt vanaf stap vijf).

    De optellingsregel is bewezen.

    3. En ten slotte zullen we een bewijs van de regel construeren projectiviteit:

    1) we hebben: X > Y? Z, X > Y? Z (dit is een pakket);

    2) we hebben: Y > Y, Z > Z (afgeleid met behulp van Armstrongs reflexiviteits- en gevolgtrekkingsregel);

    3) we hebben: Y ? z > y, Y ? z > Z (verkregen uit de voltooiingsregel van Armstrong en een uitvloeisel uit de tweede stap van het bewijs);

    4) we hebben: X > Y, X > Z (dit wordt verkregen door de regel van pseudotransitiviteit van Armstrongs afleiding toe te passen, en vervolgens als gevolg van de eerste en derde stap van het bewijs).

    De regel van projectiviteit is bewezen.

    Alle afgeleide gevolgtrekkingsregels zijn bewezen.

    4. Volledigheid van Armstrongs systeem van regels

    Laten F(S) - een gegeven reeks functionele afhankelijkheden gedefinieerd via een relatiediagram S.

    Laten we aanduiden met inv <F(S)> de beperking die wordt opgelegd door deze reeks functionele afhankelijkheden. Laten we het opschrijven:

    Inv <F(S)> R(S) = ?X > Y ? F(S) [inv J> R(S)].

    Deze reeks beperkingen opgelegd door functionele afhankelijkheden wordt dus als volgt ontcijferd: voor elke regel uit het systeem van functionele afhankelijkheden X > Y, behorend tot de reeks functionele afhankelijkheden F(S), functionele afhankelijkheidsbeperking inv is van kracht J> R(S), gedefinieerd via een reeks relaties R(S).

    Laat wat houding R(S) voldoet aan deze beperking.

    Het toepassen van Armstrongs gevolgtrekkingsregels op functionele afhankelijkheden die voor een set zijn gedefinieerd F(S), je kunt nieuwe functionele afhankelijkheden verkrijgen, zoals al eerder door ons is gezegd en bewezen. En wat veelbetekenend is, de beperkingen van deze functionele afhankelijkheden houden verband met elkaar F(S) zal automatisch voldoen, zoals blijkt uit de uitgebreide vorm van het schrijven van Armstrongs gevolgtrekkingsregels. Laten we u eraan herinneren algemeen beeld deze uitgebreide inferentieregels:

    Inferentieregel 1. inv < X >X> R(S);

    Inferentieregel 2. inv J> R(S) ? inv ? Z>Y> R(S);

    Inferentieregel 3. inv J> R(S) & inv ? W>Z> R(S) ? inv ? W>Z>;

    Terugkerend naar onze redenering, laten we de set compleet maken F(S) nieuwe afhankelijkheden die daaruit zijn afgeleid met behulp van de regels van Armstrong. We zullen deze aanvullingsprocedure toepassen totdat we geen nieuwe functionele afhankelijkheden meer verkrijgen. Als resultaat van deze constructie verkrijgen we een nieuwe reeks functionele afhankelijkheden, genaamd kortsluiting sets F(S) en aangegeven F+(S).

    Deze naam is inderdaad heel logisch, omdat we zelf, door langdurige constructie, veel bestaande functionele afhankelijkheden van onszelf hebben ‘gesloten’, en alle nieuwe functionele afhankelijkheden hebben toegevoegd (vandaar de ‘+’) die voortkomen uit de bestaande.

    Opgemerkt moet worden dat dit proces van het construeren van een afsluiting eindig is, omdat het relationele schema zelf, waarop al deze constructies worden uitgevoerd, eindig is.

    Het spreekt voor zich dat de sluiting een superset is van de gesloten set (inderdaad groter!) en helemaal niet verandert als deze weer gesloten wordt.

    Als we opschrijven wat zojuist in formele vorm is gezegd, krijgen we:

    F(S) ? F + (S), [F + (S)] + = F + (S);

    Verder volgt uit de bewezen waarheid (dat wil zeggen wettigheid, wettigheid) van Armstrongs gevolgtrekkingsregels en de definitie van sluiting dat elke relatie die voldoet aan de beperkingen van een gegeven reeks functionele afhankelijkheden, zal voldoen aan de beperking van de afhankelijkheid die bij de sluiting hoort. .

    X > Y? F + (S) ? ?R(S) [inv <F(S)> R(S) ? inv J> R(S)];

    Armstrongs volledigheidsstelling voor het systeem van gevolgtrekkingsregels stelt dus dat externe implicatie volledig legitiem en gerechtvaardigd kan worden vervangen door gelijkwaardigheid.

    (We zullen het bewijs van deze stelling niet overwegen, aangezien het bewijsproces zelf niet zo belangrijk is in onze specifieke hoorcolleges.)

    Bij het ontwerpen van een database in relationele DBMS Het belangrijkste doel van het ontwikkelen van een logisch datamodel is het creëren van een nauwkeurige weergave van de gegevens, de relaties daartussen en de vereiste beperkingen. Om dit te doen, is het noodzakelijk om eerst een geschikte reeks relaties te bepalen. De methode die hiervoor wordt gebruikt heet normalisatie. Normalisatie is een variant van een bottom-up benadering van databaseontwerp die begint met het vaststellen van relaties tussen attributen.

    Doel van normalisatie

    Normalisatie - een methode voor het creëren van een reeks relaties met gespecificeerde eigenschappen op basis van de gegevensvereisten die in een bepaalde organisatie zijn vastgesteld.

    Normalisatie wordt vaak uitgevoerd als een reeks tests op een relatie om te controleren of deze voldoet (of niet voldoet aan) de vereisten van een bepaalde normaalvorm.

    Het normalisatieproces is een formele methode waarmee relaties kunnen worden geïdentificeerd op basis van hun relaties primaire sleutels(of kandidaat-sleutels, zoals in het geval van BCNF) en de functionele afhankelijkheden die bestaan ​​tussen hun attributen. Databaseontwerpers kunnen normalisatie gebruiken in de vorm van reeksen tests die worden toegepast op individuele relaties om het relationele schema te normaliseren naar een bepaalde specifieke vorm, waardoor het mogelijke optreden van update-afwijkingen wordt voorkomen.

    Belangrijkste ontwerpdoel relationele basis gegevens zijn bedoeld om attributen en relaties te groeperen om gegevensredundantie te minimaliseren en zo de hoeveelheid geheugen te verminderen die nodig is om relaties fysiek op te slaan die als tabellen worden weergegeven.

    Functionele afhankelijkheden

    Functionele afhankelijkheid beschrijft de relatie tussen attributen en is een van de basisconcepten van normalisatie. Deze sectie geeft een definitie van dit concept, en de volgende secties beschrijven de relatie ervan met de processen voor het normaliseren van databaserelaties.

    Functionele afhankelijkheid- beschrijft de relatie tussen de attributen van een relatie. Bijvoorbeeld als er sprake is van een relatie. R bevat attributen A en B, attribuut B hangt functioneel af van attribuut A (dat wordt aangeduid als AB), en vervolgens is elke waarde van attribuut A geassocieerd met slechts één waarde van attribuut B. (Bovendien is elk van de attributen A en B kan uit één of meerdere attributen bestaan.)

    Functionele afhankelijkheid is een semantische (of semantische) eigenschap van de attributen van een relatie. De semantiek van een relatie specificeert hoe de attributen aan elkaar gerelateerd kunnen worden, en definieert ook functionele afhankelijkheden tussen attributen in de vorm van beperkingen die aan sommige attributen worden opgelegd.

    De relatie tussen attributen A en B kan schematisch worden weergegeven in de vorm van een diagram zoals weergegeven in Figuur 5.

    Determinant- de determinant van een functionele afhankelijkheid is een attribuut of een groep attributen die zich in het functionele afhankelijkheidsdiagram links van het pijlsymbool bevinden.

    Figuur 5 - Functioneel afhankelijkheidsdiagram

    Wanneer er sprake is van een functionele afhankelijkheid, wordt het attribuut of de groep attributen die zich in het diagram links van het pijlsymbool bevinden een determinant genoemd. In afb. 6.1 attribuut A is de determinant van attribuut B.

    Het concept van functionele afhankelijkheid is een centraal concept in het normalisatieproces.