Relation (relationsmodell)

Den stabila versionen checkades ut den 4 maj 2021 . Det finns overifierade ändringar i mallar eller .

Relation  är ett grundläggande koncept i relationsdatamodellen . Av denna anledning kallas modellen relationell (från engelska  relationen  - "relationship").

Definition och egenskaper för en relation

Låt en uppsättning datatyper T 1 , T 2 , …, T n , även kallade domäner , ges, inte nödvändigtvis olika. Då är en n -är relation R , eller en relation R av grad n en delmängd av den kartesiska produkten av mängder T 1 , T 2 , …, T n [1] [2] .

Relationen R består av en rubrik ( schema ) och en body . Rubriken är en uppsättning attribut (namngivna förekomster av domänen i relationshuvudet), och kroppen är en uppsättning tuplar som motsvarar [2] -huvudet . Mer strikt:

Antalet tupler kallas relationens kardinalnummer ( kardinalitet ), eller relationens makt .

Antalet attribut kallas graden eller " aritet " av relationen; en relation med ett attribut kallas unär, med två - binär, och så vidare, med n attribut - n -är. Ur teorins synvinkel är också en relation med ett noll antal attribut helt korrekt, som antingen inte innehåller tupler, eller innehåller en enda tupel utan komponenter (en tom tupel) [2] .

Grundläggande egenskaper för relationen [1] [2] :

En delmängd av relationsattribut som uppfyller kraven på unikhet och minimalitet (irreducerbarhet) kallas en potentiell nyckel . Eftersom alla tupler i en relation per definition är unika måste det finnas minst en kandidatnyckel i varje relation.

Relationer och tabeller

Relationen har vanligtvis en enkel grafisk tolkning i form av en tabell, vars kolumner motsvarar attribut och raderna motsvarar tupler, och i "cellerna" finns det attributvärden i tupler. Men i en stark relationsmodell är en relation inte en tabell , en tupel  är inte en rad och ett attribut  är inte en kolumn [2] [3] . Termerna "tabell", "rad", "kolumn" kan endast användas i ett informellt sammanhang, förutsatt att det är fullt förstått att dessa mer "vänliga" termer bara är en approximation och inte ger en korrekt uppfattning om kärnan i begreppen som betecknas [2] [4] .

Enligt definitionen av C.J. Date är en tabell en direkt och sann representation av någon relation om den uppfyller följande fem villkor:

  1. Det finns ingen ordning på raderna uppifrån och ner (med andra ord innehåller ordningen på raderna ingen information).
  2. Det finns ingen ordning från vänster till höger av kolumnerna (med andra ord, kolumnernas ordning innehåller ingen information).
  3. Inga dubbletter av rader.
  4. Varje skärning av en rad och en kolumn innehåller exakt ett värde från motsvarande domän (och inget annat).
  5. Alla kolumner är normala. "Regulariteten" för alla kolumner i en tabell betyder att det inte finns några "dolda" komponenter i tabellen som bara kan nås i anropet av någon speciell operator istället för att referera till vanliga kolumnnamn, eller som leder till bieffekter för rader eller tabeller när standardoperatorer anropas. Således har till exempel strängar inga andra identifierare än de normala kandidatnyckelvärdena (inga dolda "radidentifierare" eller "objektidentifierare"). De har inte heller dolda tidsstämplar [5] .

Exempel

Låt följande typer (domäner) anges:

Sedan består den kartesiska produkten av 18 tuplar, där varje tuppel innehåller tre värden: det första är ett av efternamnen, det andra är den akademiska disciplinen och det tredje är betyget.

Låt relation R ha titel H : { (Efternamn, T 1 ), (Ämne, T 2 ), (Poäng, T 3 )}.

Då kan kroppen av relationen R simulera den verkliga situationen och innehålla fem tuplar som motsvarar resultaten av sessionen (förutsatt att Petrov inte klarade provet i fysik). Låt oss visa relationen i form av en tabell:

R
Efternamn Disciplin Kvalitet
Ivanov Fysik fyra
Ivanov Kemi 3
Petrov Kemi 5
Sidorov Fysik 5
Sidorov Kemi fyra

Operationer på relationer

Se även: relationalgebra , relationskalkyl .

Varje operation som resulterar i en relation faller under begreppet en relationell operation och kan användas i relationell teori och praktik. Följande är en lista över åtta operationer som ursprungligen föreslogs av skaparen av relationsmodellen, Edgar Codd . Alla operationer från listan, förutom division, används fortfarande i stor utsträckning, men listan är inte uttömmande, det vill säga ett mycket större antal relationsoperationer används faktiskt.

Anteckningar

  1. 1 2 Datum K.J., 2005 .
  2. 1 2 3 4 5 6 Databas på djupet, 2005 .
  3. Särskilt ingenting hindrar förhållandet från att representeras visuellt av en tabell, där kolumnerna inte kommer att motsvara attribut, utan tupler, och raderna inte tupler, utan attribut. Det vill säga, korrelationen av relationstupler med tabellrader och relationsattribut med tabellkolumner är bara en hyllning till tradition, men har ingen teoretisk villkorlighet.
  4. Man måste komma ihåg att "tabell" oftast inte betyder "relation" som ett abstrakt begrepp , utan en visuell representation av relationen på papper eller skärm. Felaktig och löslig användning av termen "tabell" istället för termen "relation" leder ofta till missförstånd. Det vanligaste misstaget är att tro att den relationella datamodellen handlar om "platta" eller "tvådimensionella" tabeller, när endast visuella representationer av tabeller kan vara det. Relationer, å andra sidan, är abstraktioner och kan inte vara vare sig "platta" eller "icke-platta".
  5. C. J. Datum. Vad den första normala formen egentligen betyder //С. J. datum. Datum på databas: Writings 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0

Litteratur