Nebyly nalezeny žádné výsledky

Vašemu vyhledávání neodpovídají žádné výsledky.

Co je relační databáze

Relační databáze je typ databáze, která ukládá a poskytuje přístup k datovým bodům, které spolu vzájemně souvisí. Relační databáze jsou založeny na relačním modelu, intuitivním, přímočarém způsobu reprezentace dat v tabulkách. V relační databázi je každý řádek v tabulce záznamem s jedinečným ID nazývaným klíč. Sloupce tabulky obsahují atributy dat a každý záznam má obvykle hodnotu pro každý atribut, což usnadňuje zřízení vztahů mezi datovými body.

Příklad relační databáze

Zde je jednoduchý příklad dvou tabulek, které by malý podnik mohl použít ke zpracování objednávek svých produktů. První tabulka obsahuje informace o zákazníkovi, takže každý záznam obsahuje jméno zákazníka, adresu, doručovací a fakturační údaje, telefonní číslo a další kontaktní údaje. Každý bit informace (každý atribut) je ve vlastním sloupci a databáze přiřazuje každému řádku jedinečné ID (klíč). Ve druhé tabulce objednávek zákazníka obsahuje každý záznam ID zákazníka, který zadal objednávku, objednaný produkt, množství, zvolenou velikost a barvu a další, ale nikoliv jméno zákazníka nebo kontaktní informace.

Tyto dvě tabulky spojuje jediné: sloupec s ID (klíč). Ale právě díky tomuto společnému sloupci může relační databáze vytvořit vztah mezi oběma tabulkami. Poté, když aplikace pro zpracování objednávek zákazníka odešle objednávku do databáze, může databáze přejít do tabulky objednávek zákazníků, vytáhnout správné informace o objednávce produktu a pomocí ID zákazníka z této tabulky vyhledat doručovací a fakturační údaje zákazníka v tabulce informací o zákazníkovi. Sklad pak může vybrat správný výrobek, zákazník může dostat svou objednávku včas a společnost může dostat zaplaceno.

Jak jsou strukturovány relační databáze

Relační model znamená, že logické datové struktury (datové tabulky, zobrazení a indexy) jsou odděleny od struktur fyzického úložiště. Toto oddělení znamená, že správci databází mohou spravovat fyzické datové úložiště bez ovlivnění přístupu k těmto datům jako logické struktuře. Přejmenování souboru databáze například nepřejmenuje tabulky v něm uložené.

Rozlišení mezi logickým a fyzickým platí také pro databázové operace, což jsou jasně definované akce, které umožňují aplikacím manipulovat s daty a strukturami databáze. Logické operace umožňují aplikaci specifikovat obsah, který potřebuje, a fyzické operace určují, jak mají být tato data zpřístupněna, a poté provedou úlohu.

Aby bylo zajištěno, že data budou vždy přesná a dostupná, budou relační databáze dodržovat určitá pravidla integrity. Pravidlo integrity může například určit, že duplicitní řádky nejsou v tabulce povoleny, aby se vyloučila možnost chybných informací vstupujících do databáze.

Relační model

V dřívějších dobách databází ukládala každá aplikace data ve své vlastní jedinečné struktuře. Když vývojáři chtěli vytvářet aplikace využívající tato data, museli znát velmi dobře konkrétní strukturu dat, aby mohli potřebná data vyhledat. Tyto datové struktury byly neefektivní, těžko udržovatelné a obtížně optimalizovatelné pro zajištění dobrého výkonu aplikací. Model relačních databází byl navržen tak, aby vyřešil problém více libovolných datových struktur.

Relační model poskytl standardní způsob reprezentování a dotazování dat, která by mohla být použita jakoukoli aplikací. Vývojáři od počátku rozpoznali, že hlavní síla modelu relační databáze spočívá v použití tabulek, které jsou intuitivním, efektivním a flexibilním způsobem ukládání a přístupu ke strukturovaným informacím.

Postupem času se přišlo na další silnou stránku relačního modelu, když vývojáři začali k zápisu a dotazování dat v databázi používat strukturovaný dotazovací jazyk (SQL). Po mnoho let byl SQL široce používán jako jazyk pro databázové dotazy. Na základě relační algebry poskytuje SQL interně konzistentní matematický jazyk, který usnadňuje zlepšování výkonu všech databázových dotazů. Ve srovnání s tím musí jiné přístupy definovat jednotlivé dotazy.

Výhody relačních databází

Jednoduchý, ale výkonný relační model používají organizace všech typů a velikostí pro širokou paletu informačních potřeb. Relační databáze se používají ke sledování zásob, zpracování transakcí elektronického obchodování, řízení obrovského množství stěžejních informací o zákaznících a k řadě dalších činností. Použití relační databáze lze zvážit u jakýchkoli informačních potřeb, u kterých existuje vzájemná souvislost mezi datovými body a je třeba je spravovat bezpečně, konzistentně a na základě pravidel.

Relační databáze existují již od 70. let minulého století. Výhody relačního modelu z něj nadále činí nejrozšířenější model databází.

Konzistence dat

Relační model je nejlepším řešením pro zachování konzistence dat v aplikacích a kopiích databází (nazývaných instance). Když například zákazník vloží peníze do bankomatu a poté se podívá na zůstatek účtu na mobilním telefonu, očekává, že se tento vklad projeví okamžitě v aktualizovaném zůstatku účtu. Relační databáze vynikají v tomto druhu konzistence dat a zajišťují, že více instancí databáze má stejná data po celou dobu.

Pro jiné typy databází je obtížné udržet tuto úroveň včasné konzistence s velkými objemy dat. Některé databáze z poslední doby, jako jsou například databáze typu NoSQL, jsou schopny zajistit pouze “eventuální konzistenci.” Podle této zásady, když je databáze škálována nebo když více uživatelů přistupuje ke stejným datům současně, potřebují data určitou dobu pro “synchronizaci.” Eventuální konzistence je přijatelná pro některá použití, například pro udržování seznamů v katalogu produktů, ale pro životně důležité obchodní operace, jako jsou transakce nákupního košíku, představuje relační databáze nadále ideální řešení.

Závazek a atomicita

Relační databáze zpracovávají obchodní pravidla a zásady na velmi podrobné úrovni s přísnými zásadami závazku (tj. provedení trvalé změny databáze). Podívejme se na příklad databáze skladu, která sleduje tři díly, které se vždy používají společně. Když je ze zásob vydán jeden díl, musí být vydány i druhé dva. Pokud jeden ze tří dílů není k dispozici, neměly by být vydány žádné díly - před tím, než databáze učiní závazek, musí být k dispozici všechny tři díly. Relační databáze se nezaváže k jednomu dílu, dokud nebude vědět, že může splnit všechny tři. Tato mnohostranná schopnost závazků se nazývá atomicita. Atomicita je klíčem k udržení přesnosti dat v databázi a zajištění toho, že jsou v souladu s pravidly, předpisy a zásadami podnikání.

ACID a relační databáze

Čtyři klíčové vlastnosti definují transakce relační databáze: atomicita, konzistence, izolace a trvanlivost — obvykle je nazýváme jako ACID.

  • Atomicita definuje všechny elementy, které tvoří kompletní databázovou transakci.
  • Konzistence definuje pravidla pro udržování datových bodů ve správném stavu po transakci.
  • Izolace udržuje dopad transakce neviditelný pro ostatní, dokud není potvrzena, aby nedošlo k záměně.
  • Stálost zajistí, aby se změny dat staly trvalými, jakmile bude transakce potvrzena.

Uložené postupy a relační databáze

Přístup k datům zahrnuje mnoho opakujících se akcí. Například jednoduchý dotaz pro získání informací z datové tabulky může být třeba opakovat stokrát nebo tisíckrát, aby se dosáhlo požadovaného výsledku. Tyto funkce pro přístup k datům vyžadují pro přístup k databázi určitý typ kódu. Vývojáři aplikací nechtějí psát nový kód pro tyto funkce v každé nové aplikaci. Relační databáze naštěstí umožňují uložené postupy, což jsou bloky kódu, ke kterým lze přistupovat pomocí jednoduchého volání aplikace. Jeden uložený postup může například poskytovat konzistentní označování záznamů pro uživatele více aplikací. Uložené postupy mohou také pomoci vývojářům zajistit, aby určité datové funkce v aplikaci byly implementovány specifickým způsobem.

Uzamčení databáze a souběžnost

Konflikty mohou vzniknout v databázi, když se více uživatelů nebo aplikací pokouší změnit stejná data současně. Techniky uzamykání a souběžnosti snižují možnost konfliktů při zachování integrity dat.

Uzamčení zabraňuje ostatním uživatelům a aplikacím v přístupu k datům během jejich aktualizace. V některých databázích se uzamčení týká celé tabulky, což má negativní vliv na výkon aplikace. Ostatní databáze, jako jsou relační databáze Oracle, aplikují zámky na úrovni záznamu, takže ostatní záznamy v tabulce jsou k dispozici, což pomáhá zajistit lepší výkon aplikací.

Souběžnost spravuje aktivitu, když více uživatelů nebo aplikací vyvolá dotazy na stejnou databázi současně. Tato schopnost poskytuje uživatelům a aplikacím správný přístup podle zásad definovaných pro řízení dat.

Co hledat při výběru relační databáze

Software používaný k ukládání, správě, dotazování a získávání dat uložených v relační databázi se nazývá systém řízení relační databáze (RDBMS). RDBMS poskytuje rozhraní mezi uživateli a aplikacemi a databází, stejně jako administrativní funkce pro správu ukládání dat, přístupu a výkonu.

Při výběru mezi typy databází a produkty relačních databází může vaše rozhodnutí ovlivnit několik faktorů. Zvolený RDBMS závisí na vašich obchodních potřebách. Položte sami sobě následující otázky:

  • Jaké jsou naše požadavky na přesnost dat? Bude ukládání dat a přesnost záviset na obchodní logice? Mají naše data přísné požadavky na přesnost (například finanční údaje a vládní zprávy)?
  • Potřebujeme škálovatelnost? Jaký je rozsah dat, která budou spravována, a jaký je očekávaný růst? Bude třeba, aby databázový model podporoval zrcadlené kopie databází (jako samostatné instance) pro škálovatelnost? Pokud ano, může zachovat konzistenci dat napříč těmito instancemi?
  • Jak důležitá je souběžnost? Bude vícero uživatelů a aplikací potřebovat současný přístup k datům? Podporuje databázový software souběžnost a zároveň chrání data?
  • Jaké jsou naše požadavky na výkon a spolehlivost? Potřebujeme vysoce výkonný a spolehlivý produkt? Jaké jsou požadavky na výkon dotaz-odezva? Jaké jsou závazky dodavatele týkající se smlouvy o úrovni služeb (SLA) nebo neplánovaných prostojů?

Relační databáze budoucnosti: Autonomně řízená databáze

V průběhu let se relační databáze staly lepšími, rychlejšími, silnějšími a lépe se s nimi pracuje. Ale zároveň se staly složitějšími a správa databáze je již dlouho prací na plný úvazek. Namísto využití svých odborných znalostí a zaměření se na vývoj inovativních aplikací, které přinášejí podniku hodnotu, museli vývojáři věnovat většinu času činnostem správy potřebných k optimalizaci výkonu databáze.

Autonomní technologie dnes staví na silných stránkách relačního modelu a poskytují nový typ relační databáze. Autonomně řízená databáze (také známá jako autonomní databáze) zachovává výkon a výhody relačního modelu, ale využívá umělou inteligenci, strojové učení a automatizaci ke sledování a zlepšování výkonnosti dotazů a úloh správy. Aby se například zlepšila výkonnost dotazů, může autonomně řízená databáze předpokládat a testovat indexy pro rychlejší dotazy, a pak posunout ty nejlepší do výroby - vše sama za sebe. Autonomně řízená databáze provádí tato zlepšení nepřetržitě, aniž by bylo zapotřebí lidské zapojení.

Autonomní technologie osvobozuje vývojáře od rutinních úkolů správy databáze. Ti například již nemusí předem určovat požadavky na infrastrukturu. Místo toho mohou s autonomně řízenou databází přidávat úložiště a vypočítávat zdroje podle potřeby pro podporu růstu databáze. Pomocí několika málo kroků mohou vývojáři snadno vytvořit autonomní relační databázi, což urychlí čas pro vývoj aplikací.