Relačná algebra v databázach: operácie, príklady

Obsah:

Relačná algebra v databázach: operácie, príklady
Relačná algebra v databázach: operácie, príklady
Anonim

Vo všeobecnosti sú databázové systémy vybavené dotazovacím jazykom, ktorý môže pomôcť používateľom vyhľadávať inštancie. Existujú dva takéto typy – relačná algebra a relačný počet. Prvým je procedurálny dotazovací jazyk, ktorý berie inštancie vzťahov ako vstup a výstupy vzorových vzťahov ako výstup. Používa na to unárny alebo binárny počet. Relačná algebra sa vykonáva rekurzívne a medzivýsledky sa považujú za vzťahy.

Relačná algebra
Relačná algebra

karteziánsky produkt (Χ)

Spája informácie z dvoch rôznych vzťahov do jedného.

Zápis – r Χ s, kde r a s sú pomery a ich výstup bude definovaný ako

r Χ s={qt | q ∈ r a t ∈ s}.

Záver. Nastaví vzťah, ktorý zobrazí všetky knihy a články napísané s návodom.

Premenovanie (ρ).

Vzťah relačnej algebry sú výsledky, ale bez akéhokoľvek mena. Operácia premenovania vám umožňuje zmeniť výstupnú hodnotu označenú malým gréckym písmenom ρ.

Označenie – ρ x (E), kde je uložený výsledok výrazu E spolu s názvomx.

Ďalšie operácie:

  • nastaviť križovatku;
  • assignment;
  • prirodzené spojenie.

Relačný kalkul

Toto je neprocedurálny dopytovací jazyk, čo znamená, že vám povie, čo máte robiť, ale nevysvetlí, ako to implementovať. Relačný kalkul existuje v dvoch formách:

  • korelačný počet n-tice;
  • filtrovanie rozsahov premenných.

Zápis - T/State: Vráti všetky T n-tice, ktoré spĺňajú podmienku. Výsledok. Vráti n-tice s názvom. TRC je možné kvantifikovať. Môžete použiť existenčné (∃) a univerzálne kvantifikátory (∀). Záver. Vyššie uvedený dotaz poskytne rovnaký výsledok ako predchádzajúci.

Doménový relačný kalkul DRC

Premenná filtra používa doménu atribútu namiesto n-ticových celočíselných hodnôt (ako sa to robí v TRC uvedenom vyššie).

Zápis – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, kde a1, a2 sú atribúty a P označuje vzorce vytvorené s internými hodnotami.

Záver. Nastaví článok, stránku a tému zo vzťahu TutorialsPoint, kde predmet je databáza.

Rovnako ako TRC, aj DRC možno zapísať pomocou existenciálnych a univerzálnych kvantifikátorov. DRC zahŕňa aj operátory relačnej algebry. Sila vyjadrenia výpočtu, počtu a korelácie vzťahov medzi bodmi je ekvivalentná.

vzťahovýdátový model relačnej algebry
vzťahovýdátový model relačnej algebry

Variácie a schémy relačného počtu a algebry

Model ER, keď je konceptualizovaný v diagramoch, poskytuje dobrý prehľad základných vzťahov, ktoré sú ľahšie pochopiteľné. Schematické reprezentácie môžu byť mapované do relačnej schémy, t.j. môžu byť vytvorené spolu navzájom. Nie je možné importovať všetky ER obmedzenia do relačného modelu, ale je možné vygenerovať približnú štruktúru. Na prevod grafov do tohto systému je k dispozícii niekoľko procesov a algoritmov. Niektoré z nich sú automatizované, zatiaľ čo iné sú vytvorené manuálne. ER grafy pozostávajú hlavne z nasledujúcich kritérií:

  • entita a jej atribúty;
  • link, čo je asociácia medzi vyššie uvedenými hodnotami.

Porovnávanie objektov a vzťahov prebieha rôznymi spôsobmi a schémami. Napríklad entita je objekt skutočného sveta s niektorými atribútmi. Proces porovnávania, algoritmus je nasledujúci:

  • vytvor tabuľku pre každý objekt;
  • atribúty by sa mali stať poľami tabuľky so zodpovedajúcimi typmi údajov;
  • deklarovať primárny kľúč.

Vzťah je spojenie medzi entitami. Proces kompilácie je nasledovný:

  • vytvor tabuľku pre vzťahy;
  • pridať primárne kľúče všetkých zúčastnených entít ako polia tabuľky s príslušnými typmi údajov;
  • ak má vzťah nejaký atribút, nastavte každý atribút ako pole tabuľky;
  • skombinujte primárny kľúč, ktorý tvorí všetkozvyšok pre zúčastnené objekty;
  • špecifikujte všetky obmedzenia cudzieho kľúča.

Zobrazenie slabých množín a hierarchických objektov prebieha podľa určitého systému. V prvom rade je potrebné pochopiť podstatné základy a definície týchto hodnôt. Slabá sada funkcií je taká, ktorá nemá priradený žiadny primárny kľúč. Proces zobrazenia je nasledovný:

  • vytvor tabuľku pre slabú množinu objektov;
  • pridať všetky atribúty do schémy ako pole;
  • špecifikujte primárny kľúč na identifikáciu;
  • nastaviť všetky obmedzenia cudzieho kľúča.

Zobrazenie hierarchických objektov na základe špecializácie alebo zovšeobecnenia jazyka relačnej algebry prebieha vo forme sekvenčných entít. Algoritmus je nasledovný:

  • vytvor tabuľky pre všetky objekty vyššej nižšej úrovne;
  • pridať primárne kľúče;
  • na nízkej úrovni implementujte všetky ostatné atribúty objektov nižšej úrovne;
  • deklarujte primárne kľúče tabuľky;
  • nastaviť obmedzenia cudzieho kľúča.
Operácie relačnej algebry
Operácie relačnej algebry

Existujúce možnosti na popis, ukladanie a zmenu informácií

SQL je programovací jazyk pre relačné databázy. Je vyvinutý na základe algebry a korelačného počtu n-tic. SQL prichádza ako balík so všetkými hlavnými distribúciami DBMS. Obsahuje údaje aj jazyky na manipuláciu s nimi. Pomocou vlastností definície údajov SQL relačnej algebry môžete navrhovať a upravovať schému databázy,zatiaľ čo vlastnosti správy a úprav, ako aj zmeny údajov vám umožňujú ukladať a získavať informácie nainštalované v systéme. Používa nasledujúcu sadu príkazov na definovanie štruktúry a systému:

  • vytvára nové databázy, tabuľky a zobrazenia z DBMS.
  • hádže príkazy.
  • zmení schému databázy.
  • tento príkaz pridá atribút do objektu typu string.

SQL je vybavený jazykom Data Manipulation Language (DML). Upravuje inštanciu databázy vložením, aktualizáciou a odstránením informácií. DML je zodpovedná za zmenu všetkých údajov. SQL obsahuje nasledujúcu sadu príkazov v sekcii DML:

  1. SELECT je jeden zo základných dotazovacích príkazov. Je to analogické s operáciou projekcie relačnej algebry. Vyberá atribúty na základe podmienky opísanej v klauzule WHERE.
  2. FROM - Táto sekcia má názov ako argument, z ktorého sa majú vybrať/premietnúť atribúty. V prípade, že je uvedený viac ako jeden názov, táto položka zodpovedá karteziánskemu produktu.
  3. KDE – Táto sekcia špecifikuje predikát alebo podmienky, ktoré musia byť splnené, aby sa kvalifikoval predpokladaný atribút.

Sú tu aj príkazy:

  • insert;
  • zmena hodnôt;
  • delete.
Relačná algebra v databázach
Relačná algebra v databázach

Vytváranie dopytov relačnej algebry

Pri konštrukcii vyhľadávania je úlohou nájsť štruktúru operácií, ktoré povedú k správnemu výstupu. Základné operácie relačnej algebry sú jednoduchéoperácie s jedným alebo dvoma vzťahmi ako operandy. Kombinované účinky sekvencie určujú konečný výsledok. Keďže systém relačnej algebry v databázach je pomerne jednoduchý, pred dosiahnutím konečného výstupu je možné získať mnoho medzivýsledkov, ktoré sa tiež používajú ako operandy, ktoré produkujú nové prijaté údaje.

Pre väčšinu operátorov na poradí dopytov a ich vykonaní nezáleží, čo znamená, že rovnaký výstup možno dosiahnuť tvarovaním a kombinovaním medziľahlých údajov rôznymi spôsobmi. V praxi je vyhľadávanie v databáze pomerne jednoduché. Systém na vykonávanie operácií a medzivýsledky určuje optimalizátor dotazov. Pri vytváraní otázok, požiadaviek si musíte

najskôr vybrať, ktoré vzťahy sú potrebné na dosiahnutie odpovede, a potom špecifikovať operácie a priebežné výsledky. Štruktúru dotazu relačnej algebry v databáze výsledkov možno znázorniť ako diagram. Optimalizátori požiadaviek sa snažia organizovať vykonávanie čo najefektívnejšie. V praxi to zvyčajne znamená, že sa snažia čo najrýchlejšie minimalizovať medzivýsledky. Pomôžu vám v tom bežné príklady relačnej algebry.

Príklad 1.

Potreba informácií: Informácie o vozidlách modelového roku 1996, kde sa pri kontrole za rok 1999 zistili nedostatky.

Najprv sa zobrazia informácie o autách, aby bolo možné pochopiť hodnoty všetkých atribútov vzťahu. Informácie o kontrolách sú uložené v tabuľke "Kontrola" a ak sú zistenéporuchy, sú zaznamenané v tabuľke „Problém“. Na získanie požadovaných informácií sú teda potrebné tieto tri tabuľky.

Zaujímavých je len 1996 áut. Modelový rad vozidla je znázornený ako hodnota nastaveného atribútu v riadku tabuľky s informáciami o vozidle. Prvý medzivýsledok pozostáva z n-tic reprezentujúcich varianty z roku 1996.

Takže sú potrebné iba riadky, ktoré pokrývajú toto obdobie. Na ich extrakciu musíte použiť výber. Teraz sú potrebné autá a kontroly. Reťazce sú potom zreťazené pomocou operácie zreťazenia. Musia byť spojené spoločným registrovým číslom, keďže je to jediný spoločný stĺpec, používa sa prirodzené spojenie.

Ak chcete zistiť, či sa počas kontrol vyskytli problémy, musíte ku kontrole priradiť problémové riadky. Po pripojení riadiacich riadkov k autám môžete tento výsledok pripojiť k tabuľke porúch. Pridruženie musí byť založené na spoločnom registračnom čísle a overenom dátume. Toto sú jediné bežné stĺpce v tabuľkách, takže sa používa prirodzené spojenie.

Relačná algebra je jazyk
Relačná algebra je jazyk

Možnosti výpočtu bez medzivýsledkov

Príklad 2.

Požadované informácie: Meno vodiča pre modelový rok 1995 alebo staršie vozidlá, ktoré neboli testované na rok 2000. Názov je v tabuľke „Ovládač“. Orgány činné v trestnom konaní sú popísané v tabuľke „Kontrola a autá v jedálenskom vozni“. TakžePreto sú potrebné tieto tri tabuľky. Najprv musíte zistiť autá, ktoré v roku 2000 neprešli kontrolou. Tento problém nie je možné riešiť len pomocou kontrol uvedených v tabuľke, pretože obsahuje údaje o vykonaných kontrolách a nie o nevykonaných. Tento problém sa rieši hľadaním doplnkových vozidiel, ktoré sú kontrolované pred rokom 2000. V skutočnosti sú potrebné iba ich registračné čísla.

Existujú aj iné príklady okrem vyššie uvedených, ktoré ukazujú, ako zmeniť alebo nájsť informácie. Varianty dopytov je možné optimalizovať pomocou špeciálnych operácií. V skutočnosti, aby bolo vyhľadávanie a vyhľadávanie údajov čo najjednoduchšie a najjednoduchšie, existuje model relačného počtu.

Kde sú informácie zabezpečené a chránené

Relačný dátový model relačnej algebry je uložený vo formátoch súborov obsahujúcich záznamy. Na fyzickej úrovni sú aktuálne informácie na niektorom zariadení fixované v elektromagnetickom formáte. Tieto úložné zariadenia možno rozdeliť do troch kategórií:

  1. Primárne. Táto kategória zahŕňa pamäť, ktorá je priamo dostupná pre CPU. Registre, rýchla pamäť (cache) a hlavná pamäť (RAM) sú priamo prístupné centrále, pretože sú všetky umiestnené na základnej doske alebo čipovej súprave. Toto úložisko je zvyčajne veľmi malé, ultrarýchle a nestabilné. Na udržanie stavu je potrebné stále napájanie. Ak zlyhá, stratia sa všetky údaje.
  2. Sekundárny. Používa sa na ukladanie informácií do budúcnostipoužiť alebo zálohovať. Zahŕňa pamäťové zariadenia, ktoré nie sú súčasťou čipovej sady procesora alebo základnej dosky, ako sú magnetické disky, optické disky (DVD, CD atď.), pevné disky, flash disky a magnetické pásky.
  3. Terciárna. Používa sa na ukladanie veľkého množstva údajov. Keďže takéto úložné zariadenia sú mimo počítačového systému, sú z hľadiska rýchlosti najpomalšie. Tieto úložné vychytávky slúžia hlavne na zálohovanie celého systému. Optické disky a magnetické pásky sa široko používajú ako terciárne úložisko.

Pre efektivitu dopytov sú dôležité špeciálne operácie relačnej algebry.

Štruktúra úložiska

Počítačový systém má dobre definovanú hierarchiu pamäte. CPU má priamy prístup k hlavnému systému, ako aj k vstavaným registrom. Čas prístupu do hlavnej pamäte je samozrejme kratší ako rýchlosť procesora. Aby sa minimalizoval tento nesúlad, je zavedená vyrovnávacia pamäť. Vyrovnávacia pamäť poskytuje najrýchlejšie časy prístupu a obsahuje údaje, ku ktorým CPU najčastejšie pristupuje.

Pamäť s najrýchlejším prístupom je najdrahšia. Veľké úložné zariadenia poskytujú nízku rýchlosť a sú lacnejšie, ale dokážu uložiť obrovské množstvo údajov v porovnaní s registrom procesora alebo vyrovnávacou pamäťou.

Magnetické a pevné disky sú najbežnejšími sekundárnymi úložnými zariadeniami v dnešných počítačových systémoch. Nazývajú sa magnetickékovová základňa. Tieto disky sú umiestnené vertikálne na vretene. Čítacia/zapisovacia hlava sa pohybuje medzi nimi a používa sa na magnetizáciu alebo odstránenie takéhoto miesta pod nimi. Dá sa rozpoznať ako 0 (nula) alebo 1 (jedna).

Pevné disky sú naformátované v presne definovanom poradí pre efektívne ukladanie dát. Má veľa sústredných kruhov nazývaných cesty. Každá stopa je ďalej rozdelená na sektory, v ktorých je zvyčajne uložených 512 bajtov dát.

SQL relačná algebra
SQL relačná algebra

Operácie so súbormi

Operácie na jazykovom systéme relačnej algebry a jeho databáze možno vo všeobecnosti rozdeliť do dvoch kategórií:

  • update;
  • search.

Prvá kategória mení hodnoty údajov vložením, odstránením alebo aktualizáciou. Na druhej strane, operácie vyhľadávania neupravujú informácie, ale extrahujú ich po voliteľnom podmienenom filtrovaní. Pri oboch typoch operácií zohráva významnú úlohu výber. Okrem vytvárania a odstraňovania súboru je možné s ním vykonať niekoľko operácií:

  1. Otvorené – existuje v jednom z dvoch režimov čítania alebo zápisu. V prvom prípade operačný systém nikomu neumožňuje meniť údaje. Inými slovami, údaje sa iba čítajú. Súbory otvorené v režime čítania možno zdieľať medzi viacerými objektmi. Režim zápisu umožňuje meniť údaje. Súbory je možné čítať, ale nemožno ich zdieľať.
  2. Zatvoriť je najdôležitejšia operácia z hľadiska operačného systému, pretože odstraňuje všetky zámky(ak je v zdieľanom režime), ukladá údaje (ak sú upravené) na sekundárne médium a uvoľňuje všetky vyrovnávacie pamäte a obslužné programy spojené so súborom.
  3. Indexovanie je metóda informačnej štruktúry na efektívne extrahovanie záznamov zo súborov systému na základe niektorých atribútov, v ktorých bol systém implementovaný. Definované na základe atribútov.

Indexovanie môže byť nasledovného typu:

  1. Primárny je definovaný v objednanom dátovom súbore. Informačný súbor je usporiadaný v poli kľúča.
  2. Sekundárny index vygenerovaný z poľa, ktoré je kandidátskym kľúčom a má jedinečnú hodnotu v každom zázname alebo nejde o kľúč s duplicitnými hodnotami.
  3. Zhlukovanie je definované v súbore s usporiadanými údajmi, v poli bez kľúča.
relačná algebra relačný počet
relačná algebra relačný počet

Systém správy databáz alebo DBMS označuje technológiu na ukladanie a získavanie používateľských informácií s maximálnou účinnosťou spolu s vhodnými bezpečnostnými opatreniami. Bližšie preskúmanie tejto problematiky vedie k záveru, že relačná algebra je jazyk operátorov, ktorí berú vzťahy ako argumenty a ako výsledok ich vracajú.

Odporúča: