Vztah (relační model)
Stabilní verze byla
zkontrolována 4. května 2021 . Existují neověřené
změny v šablonách nebo .
Vztah je základním konceptem relačního datového modelu . Z tohoto důvodu se model nazývá relační (z anglického vztahu - „vztah“).
Definice a vlastnosti relace
Nechť je dána množina datových typů T 1 , T 2 , …, T n , nazývaných také domény , nemusí být nutně odlišné. Potom n -ární relace R nebo relace R stupně n je podmnožinou kartézského součinu množin T 1 , T 2 , …, T n [1] [2] .
Vztah R se skládá ze záhlaví ( schéma ) a těla . Hlavička je sada atributů (pojmenované výskyty domény v hlavičce vztahu) a tělo je sada n-tic odpovídajících hlavičce [2] . Přesněji:
- Záhlaví (nebo schéma) H vztahu R je konečná množina uspořádaných dvojic tvaru ( A i , T i ), kde A i je název atributu a T i je název typu (domény) , i = 1,…, n . Podle definice musí být všechny názvy atributů v hlavičce vztahu odlišné (jedinečné).
- Těleso B vztahu R je množina n-tic t . N -tice t odpovídající hlavičce H je množina uspořádaných tripletů (trojic) tvaru < A i , T i , v i >, jedna taková trojice pro každý atribut v H , kde v i je platná hodnota typu (doména) T i . Protože jsou názvy atributů jedinečné, určování domény v n-tici je obvykle nadbytečné. Proto je n-tice t odpovídající hlavičce H často definována jako množina párů ( Ai , vi ) .
Počet n-tic se nazývá kardinální číslo vztahu ( kardinalita ), neboli mocnina vztahu.
Počet atributů se nazývá stupeň nebo " arita " vztahu; relace s jedním atributem se nazývá unární, se dvěma - binární a tak dále, s n atributy - n -ární. Z hlediska teorie je zcela správný i vztah s nulovým počtem atributů, který buď neobsahuje n-tice, nebo obsahuje jedinou n-tice bez komponent (prázdná n-tice) [2] .
Základní vlastnosti vztahu [1] [2] :
- Žádné dva prvky (n-tice) nejsou ve vztahu stejné.
- Pořadí n-tic ve vztahu není definováno.
- Pořadí atributů v hlavičce vztahu není definováno.
Podmnožina relačních atributů, která splňuje požadavky na jedinečnost a minimalitu (neredukovatelnost), se nazývá potenciální klíč . Protože všechny n-tice v relaci jsou z definice jedinečné, musí v každé relaci existovat alespoň jeden kandidátský klíč.
Vztahy a tabulky
Vztah má obvykle jednoduchou grafickou interpretaci ve formě tabulky, jejíž sloupce odpovídají atributům a řádky odpovídají n-ticím a v „buňkách“ jsou hodnoty atributů v nicích. V silném relačním modelu však relací není tabulka , n-tice není řádek a atribut není sloupec [2] [3] . Výrazy „tabulka“, „řádek“, „sloupec“ lze použít pouze v neformálním kontextu za předpokladu, že je plně pochopeno, že tyto „přátelštější“ výrazy jsou pouze přibližné a neposkytují přesnou představu o podstatu označovaných pojmů [2] [4] .
Jak definuje C.J. Date , tabulka je přímou a pravdivou reprezentací nějakého vztahu, pokud splňuje následujících pět podmínek:
- Neexistuje žádné řazení řádků shora dolů (jinými slovy, pořadí řádků nenese žádnou informaci).
- Neexistuje žádné řazení sloupců zleva doprava (jinými slovy, pořadí sloupců nenese žádné informace).
- Žádné duplicitní řádky.
- Každý průsečík řádku a sloupce obsahuje právě jednu hodnotu z odpovídající domény (a nic jiného).
- Všechny sloupce jsou normální. „Pravidelnost“ všech sloupců tabulky znamená, že v tabulce nejsou žádné „skryté“ komponenty, ke kterým lze přistupovat pouze vyvoláním nějakého speciálního operátoru namísto odkazování na běžné názvy sloupců, nebo které vedou k vedlejším účinkům na řádky. nebo tabulky při vyvolání standardních operátorů. Řetězce tedy například nemají žádné jiné identifikátory než normální hodnoty kandidátského klíče (žádné skryté „identifikátory řádku“ nebo „identifikátory objektů“). Nemají také skrytá časová razítka [5] .
Příklad
Nechť jsou uvedeny následující typy (domény):
- = {Ivanov, Petrov, Sidorov}
- = {Fyzika, chemie}
- = {3, 4, 5}
Pak se kartézský součin skládá z 18 n-tic, kde každá n-tice obsahuje tři hodnoty: první je jedno z příjmení, druhá je akademická disciplína a třetí je známka.
Nechť vztah R má titul H : { (Příjmení, T 1 ), (Předmět, T 2 ), (Skóre, T 3 )}.
Pak může tělo vztahu R simulovat reálnou situaci a obsahovat pět n-tic, které odpovídají výsledkům sezení (za předpokladu, že Petrov neudělal zkoušku z fyziky). Zobrazme vztah ve formě tabulky:
R
|
Příjmení |
Disciplína |
Školní známka
|
Ivanov |
Fyzika |
čtyři
|
Ivanov |
Chemie |
3
|
Petrov |
Chemie |
5
|
Sidorov |
Fyzika |
5
|
Sidorov |
Chemie |
čtyři
|
Operace se vztahy
Viz také: relační algebra , relační počet .
Jakákoli operace, která vede k relaci , spadá pod pojem relační operace a může být použita v relační teorii a praxi. Následuje seznam osmi operací původně navržených tvůrcem relačního modelu Edgarem Coddem . Všechny operace ze seznamu, kromě dělení, jsou stále široce používány, ale seznam není vyčerpávající, to znamená, že se používá mnohem větší množství relačních operací.
- Union - tělo vztahu-výsledek je spojením orgánů vztahů-operandů; schéma se nemění.
- Průnik - tělo vztahu-výsledek je průsečíkem těl vztahů-operandů; schéma se nemění.
- Odečítání - tělo vztahu-výsledku získáme odečtením těl vztahů-operandů; schéma se nemění.
- Projekce – schéma vztahu výsledek je podmnožinou schématu vztahu operand; tělo vztahu-výsledku je nestriktní podmnožinou těla vztahu-operandu kvůli možnému odstranění duplicitních n-tic.
- Kartézský součin - tělo relace-výsledek je kartézským součinem těl relací-operandů; výsledné schéma je zřetězením schémat operandů.
- Vzorkování - tělo relace-výsledek je podmnožinou těla relace-operandu: jsou vybrány pouze ty n-tice, které splňují daný predikát (výběrovou podmínku); schéma se nemění.
- Připojení - výběr nad kartézským součinem.
- Dělení - dělitel je unární relace, kvocient jsou odpovídající části n-tic dělitele, kterým předchází dělitel.
Poznámky
- ↑ 1 2 Datum K.J., 2005 .
- ↑ 1 2 3 4 5 6 Databáze v hloubce, 2005 .
- ↑ Nic zejména nebrání tomu, aby byl vztah vizuálně reprezentován tabulkou, ve které budou sloupce odpovídat nikoli atributům, ale n-ticím a řádky nikoli n-icím, ale atributům. To znamená, že korelace n-tic relací s řádky tabulky a atributů vztahu se sloupci tabulky je pouze poctou tradici, ale nemá žádnou teoretickou podmíněnost.
- ↑ Je třeba si uvědomit, že „tabulka“ nejčastěji neznamená „vztah“ jako abstraktní pojem , ale vizuální znázornění vztahu na papíře nebo obrazovce. Nesprávné a nedotažené použití termínu „tabulka“ místo termínu „relace“ často vede k nedorozumění. Nejčastější chybou je domnívat se, že relační datový model se zabývá "plochými" nebo "dvourozměrnými" tabulkami, když mohou být pouze vizuální reprezentace tabulek. Na druhé straně vztahy jsou abstrakce a nemohou být ani „ploché“ ani „neploché“.
- ↑ C. J. Datum. Co první normální forma skutečně znamená //С. J. datum. Datum v databázi: Spisy 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0
Literatura
- Kogalovský M.R. Encyklopedie databázových technologií. - M .: Finance a statistika , 2002. - 800 s. — ISBN 5-279-02276-4 .
- Kuzněcov SD Základy databází. - 2. vyd. - M. : Internetová univerzita informačních technologií; BINOMICKÝ. Vědomostní laboratoř, 2007. - 484 s. - ISBN 978-5-94774-736-2 .
- Datum CJ Úvod do databázových systémů = Úvod do databázových systémů. - 8. vyd. - M .: Williams , 2005. - 1328 s. - ISBN 5-8459-0788-8 (ruština) 0-321-19784-4 (anglicky).
- Connolly T., Begg K. Databases. Návrh, realizace a podpora. Teorie a praxe = Databázové systémy: Praktický přístup k návrhu, implementaci a správě. - 3. vyd. - M .: Williams , 2003. - 1436 s. — ISBN 0-201-70857-4 .
- Garcia-Molina G., Ulman J. , Widom J. Databázové systémy. Celý kurz = Databázové systémy: Kompletní kniha. - Williams , 2003. - 1088 s. — ISBN 5-8459-0384-X .
- C. J. Datum . Datum v databázi: Spisy 2000–2006. - Apress , 2006. - 566 s. - ISBN 978-1-59059-746-0 , 1-59059-746-X.
- Datum, databáze CJ do hloubky. - O'Reilly, 2005. - 240 s. - ISBN 0-596-10012-4 .