Relační algebra v databázích: operace, příklady

Obsah:

Relační algebra v databázích: operace, příklady
Relační algebra v databázích: operace, příklady
Anonim

Obecně jsou databázové systémy vybaveny dotazovacím jazykem, který může uživatelům pomoci dotazovat se na instance. Existují dva takové typy – relační algebra a relační kalkul. Prvním z nich je procedurální dotazovací jazyk, který bere instance vztahů jako vstup a výstupy příkladných vztahů jako výstup. K tomu používá unární nebo binární počet. Relační algebra se provádí rekurzivně a mezivýsledky jsou považovány za vztahy.

Relační algebra
Relační algebra

Kartézský produkt (Χ)

Spojuje informace ze dvou různých vztahů do jednoho.

Zápis – r Χ s, kde ras jsou poměry a jejich výstup bude definován jako

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

Závěr. Nastaví vztah, který zobrazí všechny knihy a články napsané s výukovým programem.

Operace přejmenování (ρ).

Relace relační algebry jsou výsledky, ale bez jakéhokoli jména. Operace přejmenování vám umožňuje změnit výstupní hodnotu označenou malým řeckým písmenem ρ.

Označení – ρ x (E), kde je uložen výsledek výrazu E se jménemx.

Další operace:

  • nastavit křižovatku;
  • assignment;
  • přirozené spojení.

Relační kalkul

Toto je neprocedurální dotazovací jazyk, což znamená, že vám říká, co máte dělat, ale nevysvětluje, jak to implementovat. Relační kalkul existuje ve dvou formách:

  • korelační počet n-tice;
  • filtrování rozsahů proměnných.

Zápis - T/State: Vrátí všechny T n-tice, které splňují podmínku. Výsledek. Vrátí n-tice se jménem. TRC lze kvantifikovat. Můžete použít existenciální (∃) a univerzální kvantifikátory (∀). Závěr. Výše uvedený dotaz poskytne stejný výsledek jako předchozí.

Doménový relační kalkul DRC

Proměnná filtru používá doménu atributu místo n-ticových celočíselných hodnot (jak je uvedeno výše v TRC).

Zápis – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, kde a1, a2 jsou atributy a P označuje vzorce vytvořené s interními hodnotami.

Závěr. Nastaví článek, stránku a téma ze vztahu TutorialsPoint, kde předmět je databáze.

Stejně jako TRC lze i DRC zapsat pomocí existenciálních a univerzálních kvantifikátorů. DRC také zahrnuje operátory relační algebry. Síla vyjádření výpočtu, kalkulace a korelace vztahů mezi body je ekvivalentní.

vztahovýdatový model relační algebry
vztahovýdatový model relační algebry

Varianty a schémata relačního kalkulu a algebry

Model ER, když je konceptualizován v diagramech, poskytuje dobrý přehled o základních vztazích, které jsou snáze pochopitelné. Schematické reprezentace mohou být mapovány na relační schéma, tj. mohou být vytvořeny společně. Není možné importovat všechna ER omezení do relačního modelu, ale lze vygenerovat přibližnou strukturu. Pro převod grafů do tohoto systému je k dispozici několik procesů a algoritmů. Některé z nich jsou automatizované, jiné jsou vytvářeny ručně. ER grafy se skládají hlavně z následujících kritérií:

  • entita a její atributy;
  • link, což je spojení mezi výše uvedenými hodnotami.

Porovnávání objektů a vztahů probíhá různými způsoby a schématy. Entita je například objekt reálného světa s některými atributy. Proces párování, algoritmus je následující:

  • vytvořte tabulku pro každý objekt;
  • atributy by se měly stát poli tabulky s odpovídajícími datovými typy;
  • deklarovat primární klíč.

Vztah je přidružení mezi entitami. Proces kompilace je následující:

  • vytvořit tabulku pro vztahy;
  • přidat primární klíče všech zúčastněných entit jako pole tabulky s vhodnými datovými typy;
  • pokud má vztah nějaký atribut, nastavte každý atribut jako pole tabulky;
  • zkombinujte primární klíč, ze kterého se vše skládázbytek pro zúčastněné objekty;
  • uveďte všechna omezení cizího klíče.

Zobrazení slabých množin a hierarchických objektů probíhá podle určitého systému. V první řadě je nutné pochopit podstatné základy a definice těchto hodnot. Slabá sada funkcí je taková, ke které není přidružen žádný primární klíč. Proces zobrazení je následující:

  • vytvořit tabulku pro slabou sadu objektů;
  • přidat všechny atributy do schématu jako pole;
  • uveďte primární klíč pro identifikaci;
  • nastavit všechna omezení cizího klíče.

Zobrazení hierarchických objektů na základě specializace nebo zobecnění jazyka relační algebry probíhá ve formě sekvenčních entit. Algoritmus je následující:

  • vytvářejte tabulky pro všechny objekty vyšší nižší úrovně;
  • přidat primární klíče;
  • na nízké úrovni implementujte všechny ostatní atributy objektů nižší úrovně;
  • deklarovat primární klíče tabulky;
  • nastavení omezení cizího klíče.
Operace relační algebry
Operace relační algebry

Stávající možnosti pro popis, uložení a změnu informací

SQL je programovací jazyk pro relační databáze. Je vyvinut přes algebru a korelační počet n-tic. SQL přichází jako balíček se všemi hlavními distribucemi DBMS. Obsahuje data i jazyky pro manipulaci s nimi. Pomocí vlastností definice dat SQL relační algebry můžete navrhovat a upravovat schéma databáze,zatímco vlastnosti správy a úprav, stejně jako změny dat, umožňují ukládat a získávat informace nainstalované v systému. K definici struktury a systému používá následující sadu příkazů:

  • vytváří nové databáze, tabulky a pohledy z DBMS.
  • vyhazuje příkazy.
  • změní schéma databáze.
  • tento příkaz přidá atribut k objektu typu string.

SQL je vybaven jazykem Data Manipulation Language (DML). Upravuje instanci databáze vkládáním, aktualizací a odstraňováním informací. DML je zodpovědná za změnu všech dat. SQL obsahuje následující sadu příkazů v sekci DML:

  1. SELECT je jeden ze základních dotazovacích příkazů. Je to obdoba projekční operace relační algebry. Vybírá atributy na základě podmínky popsané v klauzuli WHERE.
  2. FROM - Tato sekce má název jako argument, ze kterého mají být atributy vybrány/promítnuty. V případě, že je uvedeno více než jeden název, tato položka odpovídá kartézskému produktu.
  3. WHERE – Tato část specifikuje predikát nebo podmínky, které musí být splněny, aby byl projektovaný atribut kvalifikován.

Existují také příkazy:

  • insert;
  • změna hodnot;
  • delete.
Relační algebra v databázích
Relační algebra v databázích

Vytváření dotazů relační algebry

Při konstrukci vyhledávání je úkolem najít strukturu operací, které povedou ke správnému výstupu. Základní operace relační algebry jsou jednoduchéoperace s jedním nebo dvěma vztahy jako operandy. Kombinované efekty sekvence určují konečný výsledek. Vzhledem k tomu, že systém relační algebry v databázích je poměrně jednoduchý, lze před dosažením konečného výstupu získat mnoho mezivýsledků, které se také používají jako operandy, které vytvářejí nová přijatá data.

U většiny operátorů na pořadí dotazů a jejich provedení nezáleží, což znamená, že stejného výstupu lze dosáhnout tvarováním a kombinováním mezilehlých dat různými způsoby. V praxi je vyhledávání v databázi poměrně snadné. Systém pro provádění operací a mezivýsledky je určen optimalizátorem dotazů. Při vytváření otázek, požadavků si musíte

nejprve vybrat, které vztahy jsou nezbytné k dosažení odpovědi, a poté specifikovat operace a průběžné výsledky. Strukturu dotazu relační algebry v databázi výsledků lze znázornit jako diagram. Optimalizátoři požadavků se snaží organizovat provádění co nejefektivněji. V praxi to obvykle znamená, že se snaží co nejrychleji minimalizovat mezivýsledky. Běžné příklady relační algebry vám s tím pomohou.

Příklad 1.

Potřeba informací: Informace o vozidlech modelového roku 1996, u kterých byly během kontroly zjištěny nedostatky za rok 1999.

Nejprve se zobrazí informace o autech, aby bylo možné porozumět hodnotám všech atributů vztahu. Informace o kontrolách jsou uloženy v tabulce "Kontrola" a pokud jsou zjištěnyporuchy, jsou zaznamenány v tabulce "Problém". K získání požadovaných informací jsou tedy potřebné tyto tři tabulky.

Zajímavých je pouze 1996 vozů. Modelová řada vozidla je reprezentována jako hodnota nastaveného atributu v řádku tabulky informací o vozidle. První mezivýsledek se skládá z n-tic představujících varianty z roku 1996.

Potřebujeme tedy pouze řádky, které pokrývají toto období. Chcete-li je extrahovat, musíte použít výběr. Nyní jsou auta a kontroly, které byly vyžadovány. Řetězce jsou pak zřetězeny pomocí operace zřetězení. Musí být spojeny společným registrovým číslem, protože je to jediný společný sloupec, používá se přirozené spojení.

Abyste zjistili, zda se během kontrol vyskytly problémy, musíte ke kontrole přiřadit problémové řádky. Po připojení řídicích řad k vozům můžete tento výsledek připojit k tabulce poruch. Přidružení musí být založeno na společném registračním čísle a ověřeném datu. Toto jsou jediné běžné sloupce v tabulkách, takže je použito přirozené spojení.

Relační algebra je jazyk
Relační algebra je jazyk

Možnosti výpočtu bez mezivýsledků

Příklad 2.

Požadované informace: Jméno řidiče pro modelový rok 1995 nebo starší vozidla, která nebyla testována pro rok 2000. Jméno je v tabulce "Ovladač". Orgány činné v trestním řízení jsou popsány v tabulce „Inspekce a auta v závodním voze“. TakTyto tři tabulky jsou tedy potřeba. Nejprve musíte zjistit vozy, které nebyly pro rok 2000 kontrolovány. Tento problém není možné řešit pouze pomocí kontrol uvedených v tabulce, protože obsahuje údaje o kontrolách, které byly provedeny, nikoli o kontrolách, které nebyly provedeny. Tento problém se řeší hledáním doplňkových vozů, které jsou kontrolovány před rokem 2000. Ve skutečnosti jsou potřeba pouze jejich registrační čísla.

Kromě výše uvedených příkladů jsou uvedeny další příklady, které ukazují, jak změnit nebo vyhledat informace. Varianty dotazů lze optimalizovat pomocí speciálních operací. Aby bylo vyhledávání a hledání dat co nejjednodušší a nejjednodušší, existuje model relačního počtu.

Kde jsou informace zabezpečeny a chráněny

Relační datový model relační algebry je uložen ve formátech souborů obsahujících záznamy. Na fyzické úrovni jsou skutečné informace na nějakém zařízení fixovány v elektromagnetickém formátu. Tato úložná zařízení lze rozdělit do tří kategorií:

  1. Primární. Tato kategorie zahrnuje paměť, která je přímo přístupná CPU. Registry, rychlá paměť (cache) a hlavní paměť (RAM) jsou přímo přístupné centrále, protože jsou všechny umístěny na základní desce nebo čipové sadě. Toto úložiště je obvykle velmi malé, ultra rychlé a nestabilní. K udržení stavu je zapotřebí stálé napájení. Pokud selže, všechna data jsou ztracena.
  2. Sekundární. Slouží k ukládání informací pro budoucnostpoužít nebo zálohovat. Zahrnuje paměťová zařízení, která nejsou součástí čipové sady procesoru nebo základní desky, jako jsou magnetické disky, optické disky (DVD, CD atd.), pevné disky, flash disky a magnetické pásky.
  3. Terciární. Slouží k ukládání velkého množství dat. Vzhledem k tomu, že taková úložná zařízení jsou mimo počítačový systém, jsou z hlediska rychlosti nejpomalejší. Tyto úložné vychytávky slouží především k zálohování celého systému. Optické disky a magnetické pásky jsou široce používány jako terciární úložiště.

Pro efektivitu dotazů jsou důležité speciální operace relační algebry.

Struktura úložiště

Počítačový systém má dobře definovanou hierarchii paměti. CPU má přímý přístup k hlavnímu systému a také k vestavěným registrům. Doba přístupu k hlavní paměti je samozřejmě kratší než rychlost procesoru. Pro minimalizaci tohoto rozporu je zavedena mezipaměť. Mezipaměť poskytuje nejrychlejší časy přístupu a obsahuje data, k nimž CPU nejčastěji přistupuje.

Paměť s nejrychlejším přístupem je nejdražší. Velká úložná zařízení poskytují malou rychlost a jsou levnější, ale mohou ukládat obrovské množství dat ve srovnání s registrem procesoru nebo mezipamětí.

Magnetické a pevné disky jsou nejběžnější sekundární úložná zařízení v dnešních počítačových systémech. Říká se jim magnetickékovová základna. Tyto kotouče jsou umístěny svisle na vřetenu. Čtecí/zapisovací hlava se mezi nimi pohybuje a používá se k magnetizaci nebo odstranění takového místa pod nimi. Může být rozpoznáno jako 0 (nula) nebo 1 (jedna).

Pevné disky jsou formátovány v přesně definovaném pořadí pro efektivní ukládání dat. Má mnoho soustředných kružnic zvaných cesty. Každá stopa je dále rozdělena do sektorů, které obvykle obsahují 512 bajtů dat.

SQL relační algebra
SQL relační algebra

Operace se soubory

Operace na jazykovém systému relační algebry a jeho databázi lze obecně rozdělit do dvou kategorií:

  • update;
  • hledat.

První kategorie mění hodnoty dat vložením, odstraněním nebo aktualizací. Na druhou stranu vyhledávací operace neupravují informace, ale extrahují je po volitelném podmíněném filtrování. U obou typů operací hraje významnou roli výběr. Kromě vytvoření a smazání souboru s nimi může být provedeno několik operací:

  1. Otevřený – existuje v jednom ze dvou režimů čtení nebo zápisu. V prvním případě operační systém nikomu nedovolí data měnit. Jinými slovy, data se pouze čtou. Soubory otevřené v režimu čtení lze sdílet mezi více objekty. Režim zápisu umožňuje měnit data. Soubory lze číst, ale nelze je sdílet.
  2. Zavřít je nejdůležitější operace z hlediska operačního systému, protože odstraňuje všechny zámky(pokud je ve sdíleném režimu), uloží data (pokud byla upravena) na sekundární médium a uvolní všechny vyrovnávací paměti a obslužné programy spojené se souborem.
  3. Indexování je metoda informační struktury pro efektivní extrakci záznamů ze souborů systému na základě některých atributů, kde byl systém implementován. Definováno na základě atributů.

Indexování může být následujícího typu:

  1. Primární je definováno v objednaném datovém souboru. Informační soubor je uspořádán v poli klíče.
  2. Sekundární index vygenerovaný z pole, které je kandidátním klíčem a má v každém záznamu jedinečnou hodnotu, nebo nejde o klíč s duplicitními hodnotami.
  3. Shlukování je definováno v uspořádaném datovém souboru, v neklíčovém poli.
relační algebra relační počet
relační algebra relační počet

Systém správy databází neboli DBMS označuje technologii pro ukládání a získávání uživatelských informací s maximální účinností spolu s vhodnými bezpečnostními opatřeními. Bližší prozkoumání tohoto problému vede k závěru, že relační algebra je jazyk operátorů, kteří berou vztahy jako argumenty a ve výsledku je vracejí.

Doporučuje: