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:
- Rubriken (eller schemat) H för relation R är en ändlig uppsättning ordnade par av formen ( Ai , Ti ), där A i är namnet på attributet och Ti är namnet på typen ( domän ) , i = 1,..., n . Per definition måste alla attributnamn i relationshuvudet vara distinkta (unika).
- Kropp B i relation R är en uppsättning tuplar t . Tuppeln t som motsvarar rubriken H är en uppsättning ordnade tripletter (trippel) av formen < Ai , T i , v i > , en sådan triplett för varje attribut i H , där v i är ett giltigt värde av typen (domän) T i . Eftersom attributnamn är unika är det vanligtvis överflödigt att ange domänen i en tuppel. Därför definieras ofta tuppeln t som motsvarar rubriken H som en uppsättning par ( Ai , vi ) .
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] :
- Inga två element (tupler) är desamma i en relation.
- Ordningen på tuplarna i en relation är odefinierad.
- Ordningen på attributen i relationshuvudet är odefinierad.
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:
- Det finns ingen ordning på raderna uppifrån och ner (med andra ord innehåller ordningen på raderna ingen information).
- Det finns ingen ordning från vänster till höger av kolumnerna (med andra ord, kolumnernas ordning innehåller ingen information).
- Inga dubbletter av rader.
- Varje skärning av en rad och en kolumn innehåller exakt ett värde från motsvarande domän (och inget annat).
- 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:
- = {Ivanov, Petrov, Sidorov}
- = {Fysik, kemi}
- = {3, 4, 5}
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.
- Union - kroppen av relation-resultatet är föreningen av organen för relations-operander; schemat ändras inte.
- Skärning - kroppen av relation-resultatet är skärningspunkten mellan kropparna av relations-operander; schemat ändras inte.
- Subtraktion - kroppen av relationsresultatet erhålls genom att subtrahera kroppen av relationsoperanderna; schemat ändras inte.
- Projektion - resultat-relationsschemat är en delmängd av operand-relationsschemat; kroppen av relationsresultatet är en icke-strikt delmängd av kroppen av relationsoperanden på grund av möjlig borttagning av dubbletter av tupler.
- Kartesisk produkt - kroppen av relationsresultatet är den kartesiska produkten av relationsoperandernas kroppar; resultatschemat är sammanlänkningen av operandscheman.
- Sampling - kroppen av relationsresultatet är en delmängd av kroppen för relationsoperanden: endast de tupler som uppfyller det givna predikatet (selektionsvillkoret) väljs; schemat ändras inte.
- Anslutning - val över den kartesiska produkten.
- Division - divisorn är en unär relation, kvoten är de matchande delarna av utdelningens tuplar, som föregås av divisorn.
Anteckningar
- ↑ 1 2 Datum K.J., 2005 .
- ↑ 1 2 3 4 5 6 Databas på djupet, 2005 .
- ↑ 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.
- ↑ 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".
- ↑ 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
- Kogalovsky M.R. Databas Technology Encyclopedia. - M .: Finans och statistik , 2002. - 800 sid. — ISBN 5-279-02276-4 .
- Kuznetsov SD Grunderna i databaser. - 2:a uppl. - M .: Internet University of Information Technologies; BINOM. Kunskapslaboratoriet, 2007. - 484 sid. - ISBN 978-5-94774-736-2 .
- Datum CJ Introduktion till databassystem = Introduktion till databassystem. - 8:e uppl. - M. : Williams , 2005. - 1328 sid. - ISBN 5-8459-0788-8 (ryska) 0-321-19784-4 (engelska).
- Connolly T., Begg K. Databaser. Design, implementering och support. Teori och praktik = Databassystem: Ett praktiskt tillvägagångssätt för design, implementering och förvaltning. - 3:e uppl. - M. : Williams , 2003. - 1436 sid. — ISBN 0-201-70857-4 .
- Garcia-Molina G., Ulman J. , Widom J. Databas systems. Hela kursen = Databassystem: The Complete Book. - Williams , 2003. - 1088 sid. — ISBN 5-8459-0384-X .
- C. J. Datum . Datum på databas: Skrifter 2000–2006. - Apress , 2006. - 566 sid. - ISBN 978-1-59059-746-0 , 1-59059-746-X.
- Date, CJ Database in Depth. - O'Reilly, 2005. - 240 sid. - ISBN 0-596-10012-4 .