logo

Relačný model v DBMS

E.F. Codd navrhol relačný model na modelovanie údajov vo forme vzťahov alebo tabuliek. Po navrhnutí koncepčného modelu databázy pomocou ER diagram , potrebujeme previesť konceptuálny model na relačný model, ktorý je možné implementovať pomocou ľubovoľného RDBMS jazyk ako Oracle SQL, MySQL atď. Takže uvidíme, čo je relačný model.

Relačný model používa kolekciu tabuliek na reprezentáciu údajov aj vzťahov medzi týmito údajmi. Každá tabuľka má viacero stĺpcov a každý stĺpec má jedinečný názov. Tabuľky sú známe aj ako vzťahy. Relačný model je príkladom modelu založeného na záznamoch. Modely založené na záznamoch sú takto pomenované, pretože databáza je štruktúrovaná do záznamov v pevnom formáte niekoľkých typov. Každá tabuľka obsahuje záznamy určitého typu. Každý typ záznamu definuje pevný počet polí alebo atribútov. Stĺpce tabuľky zodpovedajú atribútom typu záznamu. Relačný dátový model je najpoužívanejším dátovým modelom a veľká väčšina súčasných databázových systémov je založená na relatívnom modeli.



Čo je relačný model?

Relačný model predstavuje spôsob uloženia údajov v relačných databázach. Relačná databáza pozostáva z kolekcie tabuliek, z ktorých každá má priradený jedinečný názov. Zvážte vzťah STUDENT s atribútmi ROLL_NO, NAME, ADDRESS, PHONE a AGE zobrazenými v tabuľke.

Tabuľka Študent

ROLL_NO NÁZOV ADRESA TELEFÓN VEK
1 RAM DILLÍ 9455123451 18
2 RAMESH GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 dvadsať
4 SURESH DILLÍ 18



importovať skener java

Dôležité terminológie

  • atribút: Atribúty sú vlastnosti, ktoré definujú entitu. napr. ROLL_NO , MENO, ADRESA
  • Schéma vzťahov: Relačná schéma definuje štruktúru vzťahu a predstavuje názov vzťahu s jeho atribútmi. napr. STUDENT (ROLL_NO, NAME, ADDRESS, PHONE a AGE) je relačná schéma pre STUDENT. Ak má schéma viac ako 1 vzťah, nazýva sa relačná schéma.
  • Násobný: Každý riadok vo vzťahu je známy ako n-tica. Vyššie uvedený vzťah obsahuje 4 n-tice, z ktorých jedna je znázornená ako:
1 RAM DILLÍ 9455123451 18
  • Inštancia vzťahu: Množina n-tic vzťahu v konkrétnom čase sa nazýva inštancia vzťahu. Tabuľka 1 zobrazuje inštanciu vzťahu STUDENT v konkrétnom čase. Môže sa zmeniť vždy, keď dôjde k vloženiu, vymazaniu alebo aktualizácii databázy.
  • titul: Počet atribútov vo vzťahu je známy ako stupeň vzťahu. The ŠTUDENT vzťah definovaný vyššie má stupeň 5.
  • Kardinalita: Počet n-tic vo vzťahu je známy ako kardinalita . The ŠTUDENT vyššie definovaný vzťah má mohutnosť 4.
  • Stĺpec: Stĺpec predstavuje množinu hodnôt pre konkrétny atribút. Stĺpec ROLL_NO sa extrahuje zo vzťahu ŠTUDENT.
ROLL_NO

1

2

front a prioritný front v jazyku Java

3



4

  • Hodnoty NULL: Hodnota, ktorá nie je známa alebo nie je k dispozícii, sa nazýva hodnota NULL. Je reprezentovaný prázdnym priestorom. napr. PHONE STUDENT s ROLL_NO 4 je NULL.
  • Kľúč vzťahu: V podstate ide o kľúče, ktoré sa používajú na jedinečnú identifikáciu riadkov alebo tiež pomáhajú pri identifikácii tabuliek. Ide o nasledujúce typy.
    • Primárny kľúč
    • Kandidátsky kľúč
    • Super kľúč
    • Cudzí kľúč
    • Alternatívny kľúč
    • Zložený kľúč

Obmedzenia relačného modelu

Pri navrhovaní relačného modelu definujeme niektoré podmienky, ktoré musia platiť pre údaje prítomné v databáze, sa nazývajú obmedzenia. Tieto obmedzenia sa kontrolujú pred vykonaním akejkoľvek operácie (vloženie, vymazanie a aktualizácia) v databáze. Ak dôjde k porušeniu niektorého z obmedzení, operácia zlyhá.

Obmedzenia domény

Toto sú obmedzenia na úrovni atribútov. Atribút môže nadobúdať iba hodnoty, ktoré ležia v rozsahu domén. napr. Ak sa na vzťah STUDENT použije obmedzenie AGE>0, vloženie zápornej hodnoty AGE bude mať za následok zlyhanie.

Integrita kľúča

Každý vzťah v databáze by mal mať aspoň jednu sadu atribútov, ktoré jedinečne definujú n-ticu. Tento súbor atribútov sa nazýva kľúče. napr. ROLL_NO v STUDENT je kľúčový. Žiadni dvaja študenti nemôžu mať rovnaké číslo. Kľúč má teda dve vlastnosti:

  • Mal by byť jedinečný pre všetky n-tice.
  • Nemôže mať hodnoty NULL.

Referenčná integrita

Keď jeden atribút vzťahu môže nadobúdať hodnoty iba z iného atribútu toho istého vzťahu alebo akéhokoľvek iného vzťahu, nazýva sa to referenčná integrita . Predpokladajme, že máme 2 vzťahy

nevýhody internetu

Tabuľka Študent

ROLL_NO NÁZOV ADRESA TELEFÓN VEK KÓD POBOČKY
1 RAM DILLÍ 9455123451 18 CS
2 RAMESH GURGAON 9652431543 18 CS
3 SUJIT ROHTAK 9156253131 dvadsať ECE
4 SURESH DILLÍ 18 IT

Stolová vetva

KÓD POBOČKY MENO POBOČKY
CS POČÍTAČOVÁ VEDA
IT INFORMAČNÉ TECHNOLÓGIE
ECE ELEKTRONIKA A KOMUNIKAČNÉ INŽINIERSTVO
životopis STAVEBNÉ INŽINIERSTVO

BRANCH_CODE položky STUDENT môže prevziať iba hodnoty, ktoré sú prítomné v BRANCH_CODE položky BRANCH, čo sa nazýva obmedzenie referenčnej integrity. Vzťah, ktorý odkazuje na iný vzťah, sa nazýva REFERENČNÝ VZŤAH (v tomto prípade ŠTUDENT) a vzťah, na ktorý sa vzťahujú iné vzťahy, sa nazýva REFERENČNÝ VZŤAH (v tomto prípade ODBOR).

Anomálie v relatívnom modeli

An anomália je nezrovnalosť alebo niečo, čo sa odchyľuje od očakávaného alebo normálneho stavu. Pri navrhovaní databáz identifikujeme tri typy anomálií: Vložiť, Aktualizovať a Vymazať.

Anomália vloženia v referenčnom vzťahu

Nemôžeme vložiť riadok do REFERENCING RELATION, ak hodnota odkazujúceho atribútu nie je prítomná v hodnote odkazovaného atribútu. napr. Vloženie študenta s BRANCH_CODE „ME“ do vzťahu STUDENT bude mať za následok chybu, pretože „ME“ sa nenachádza v BRANCH_CODE BRANCH.

Anomália vymazania/aktualizácie v referenčnom vzťahu:

Nemôžeme odstrániť ani aktualizovať riadok z REFERENCED RELATION, ak sa hodnota REFERENCED ATTRIBUTE používa v hodnote REFERENCING ATTRIBUTE. napr. ak sa pokúsime odstrániť n-ticu z BRANCH s BRANCH_CODE 'CS', bude to mať za následok chybu, pretože 'CS' odkazuje BRANCH_CODE študenta STUDENT, ale ak sa pokúsime odstrániť riadok z BRANCH s BRANCH_CODE CV, bude odstránený pretože hodnota nie je použitá vo vzťahu k odkazu. Dá sa to zvládnuť nasledujúcim spôsobom:

mapa vs

Na Vymazať kaskádu

Vymaže n-tice z REFERENCING RELATION, ak sa hodnota používaná REFERENCING ATTRIBUTE vymaže z REFERENCED RELATION. napr. Ak totiž vymažeme riadok z BRANCH s BRANCH_CODE ‚CS‘, vymažú sa aj riadky vo vzťahu STUDENT s BRANCH_CODE CS (v tomto prípade ROLL_NO 1 a 2).

Pri aktualizácii kaskády

Aktualizuje REFERENCING ATTRIBUTE v REFERENCING RELATION, ak sa hodnota atribútu používaná REFERENCING ATTRIBUTE aktualizuje v REFERENCED RELATION. napr. ak aktualizujeme riadok z BRANCH s BRANCH_CODE ‚CS‘ na ‚CSE‘, riadky vo vzťahu STUDENT s BRANCH_CODE CS (v tomto prípade ROLL_NO 1 a 2) sa aktualizujú na BRANCH_CODE ‚CSE‘.

Super kľúče

Akýkoľvek súbor atribútov, ktorý nám umožňuje identifikovať jedinečné riadky (n-tice) v danom vzťahu, sa nazýva super kľúče. Z týchto super kľúčov si vždy môžeme vybrať správnu podmnožinu, ktorú možno použiť ako primárny kľúč. Takéto kľúče sú známe ako kandidátske kľúče. Ak existuje kombinácia dvoch alebo viacerých atribútov, ktoré sa používajú ako primárny kľúč, nazývame to zložený kľúč.

Coddove pravidlá v relatívnom modeli

Edgar F Codd navrhol model relačnej databázy, kde uviedol pravidlá. Teraz sú známe ako Coddove pravidlá. Aby bola každá databáza dokonalá, musí dodržiavať pravidlá.

Ďalšie informácie nájdete v časti Coddove pravidlá v relatívnom modeli .

Výhody relačného modelu

  • Jednoduchý model: Relačný model je v porovnaní s inými jazykmi jednoduchý a ľahko použiteľný.
  • Flexibilné: Relačný model je flexibilnejší ako ktorýkoľvek iný existujúci relačný model.
  • Zabezpečiť: Relačný model je bezpečnejší ako ktorýkoľvek iný relačný model.
  • Presnosť údajov: Údaje sú presnejšie v relačnom dátovom modeli.
  • Integrita údajov: Integrita údajov je zachovaná v relačnom modeli.
  • Operácie sa dajú použiť jednoducho: Je lepšie vykonávať operácie v relatívnom modeli.

Nevýhody relačného modelu

  • Model relačnej databázy nie je veľmi vhodný pre veľké databázy.
  • Niekedy je ťažké nájsť vzťah medzi tabuľkami.
  • Kvôli zložitej štruktúre je čas odozvy na otázky vysoký.

Charakteristika relačného modelu

  • Údaje sú reprezentované v riadkoch a stĺpcoch nazývaných vzťahy.
  • Údaje sú uložené v tabuľkách, ktoré majú medzi sebou vzťahy, ktoré sa nazývajú relačný model.
  • Relačný model podporuje operácie ako definícia údajov, manipulácia s údajmi a správa transakcií.
  • Každý stĺpec má odlišný názov a predstavujú atribúty.
  • Každý riadok predstavuje jednu entitu.