nezávislost dat v DBMS

databázový inženýr
  • Úvod
  • co je nezávislost dat?
  • typy nezávislosti dat

Úvod

dnes se budeme zabývat jedním z nejdůležitějších témat systémů správy databází, což je nezávislost dat. Důvodem implementace tří úrovní abstrakce dat není nic jiného než dosažení nezávislosti dat. Nezávislost dat je něco, co se zabývá změnami probíhajícími na různých úrovních schématu. Kromě významu nezávislosti dat se zde dozvíte o jeho potřebě a jejích typech. Tak, začněme bez dalších okolků!

co je nezávislost dat?

oba pojmy “data” a “nezávislost” již známe odděleně, takže můžeme více či méně dešifrovat význam celého pojmu “nezávislost dat” ve stejném smyslu. Ze samotného termínu je zřejmé, že mluvíme o nezávislosti dat přítomných v databázi. V technických slov, můžete dát to následovně, ‘Data nezávislost je vlastnost DBMS, která umožňuje uživateli změnit definici schématu na jedné úrovni bez požadavku na změnu definice schématu na následujících vyšších úrovních’. Je velmi nutné, aby když provádíme změny na jedné úrovni, nebránilo to ostatním úrovním. Přesněji řečeno, nezávislost dat se týká nezávislosti nebo soběstačnosti dat přítomných ve třech úrovních databázové architektury. Navíc je to něco, co vám pomáhá udržovat data oddělená od aplikačních programů, které je využívají. Často se považuje za typ transparentnosti dat, o který se centralizovaný systém správy databází velmi zajímá.

než se podíváme na hlubší aspekt nezávislosti dat, rychle si vzpomeňme na úrovně databáze. Interní nebo fyzické schéma je první úroveň, která je v přímém spojení s databází, která je také na úrovni paměti. Druhým je koncepční nebo logické schéma, které slouží jako prostředník mezi třetí a první úrovní. Třetí úroveň je externí schéma, které určuje, jak je databáze viditelná pro více koncových uživatelů. Za předpokladu instance knihovny databáze, implementace těchto tří úrovní poněkud vypadá takto:

interní schéma logické schéma externí schéma
neuspořádané soubory relací databázeprvní sloupec index návštěvníků návštěvníci (id: int, jméno: string, věk: int, kontakt: numerický, Adresa: string)knihy (id: int, název: string, autor: string, isbn: numerický) Zobrazení1: BookRecords (b_id: int, b_name: string, autor: string)View2: VisitorRecords (v_id: int, v_name: string)

nezávislost dat odděluje data od API a implementuje změny provedené na jedné z úrovní do mapování mezi úrovněmi. Pomáhá při zachování svobody těchto jednotlivých úrovní databáze současně. Z určitého hlediska nezávislost dat a nezávislost provozu společně přináší fenomén abstrakce dat v DBMS.

jak dosáhnout nezávislosti dat v DBMS?

pro získání nezávislosti na datech dbáme na to, aby naše databáze splňovala náležitosti abstrakce dat. Jednoduše řečeno, abstrakce dat je proces udržování irelevantních detailů skrytých před koncovým uživatelem. Pokud přemýšlíme s ohledem na entity reálného světa, můžeme si vzít příklad automobilu. Když řidič řídí auto, má úplné know-how o řízení auta, ale pokud z nějakého důvodu není schopen nastartovat auto, bude potřebovat pomoc od Automechanika. Je tomu tak proto, že řidič ví pouze, jak řídit auto, neví, jak se vypořádat s problémy s vnitřními obvody, důvodem je, že vnitřní obvody a mechanismus automobilu jsou před ním skryty. Stejně tak je vnitřní struktura neviditelná pro programátory a koncové uživatele. Tato vlastnost omezení viditelnosti v databázi se označuje jako abstrakce dat. Databáze pojme až tři úrovně abstrakce. Tyto tři úrovně jsou uvedeny níže:

  • fyzická úroveň (interní schéma)
  • koncepční úroveň (logická úroveň)
  • úroveň zobrazení

fyzická úroveň abstrakce dat se stará o vnitřní schéma. Tato úroveň abstrakce definuje, jak jsou data v databázi uložena. Ukládá podrobné a složité datové struktury databáze, o které by koncoví uživatelé a programátoři neměli zájem. To je také považováno za nejnižší úroveň abstrakce dat.

konceptuální úroveň, která je střední úrovní abstrakce dat, je pro logickou úroveň schématu. Předchozí úroveň odpovídá na otázku ” jak?’. Podobně, tato úroveň odpovídá na otázku ” Proč?’Popisuje, co a jaký typ dat je uložen v databázi.

poslední a nejvyšší úroveň abstrakce dat je úroveň zobrazení. Tato úroveň říká, jak mají být data zobrazována různými uživateli n. Je zodpovědný za interakci uživatele s databází.

Vezměme si příklad ve velmi malém měřítku, kde jsme uložili podrobnosti o zákaznících obchodu. Pokud tedy hovoříme o fyzické úrovni, data jsou uložena jako bloky paměti v bajtech, gigabajtech, terabajtech atd. V podstatě se zabývá komplexním ukládáním paměti. Tyto informace nejsou pro programátory viditelné. Logická úroveň bude popisovat zadané údaje o zákaznících a jejich datové typy. Logický vztah je implementován mezi daty na této úrovni pomocí programovacích jazyků. Tuto úroveň řeší hlavně programátoři. Na úrovni zobrazení uživatel interaguje se systémem prostřednictvím GUI a zadává data, možná ve formátu formuláře nebo v jiném nastaveném formátu. Nyní musí být každá úroveň nezávislá na druhé, takže když provádíme změny na jedné úrovni, nemusíme provádět změny na další vyšší úrovni. A to je to, co dělá nezávislost dat.

abychom udrželi tyto tři úrovně abstrakce dat, možná budeme muset provést změny v jedné úrovni databáze, což by mohlo být velkým problémem, ne-li pro nezávislost dat. Souhlasíte s tím, že změna celého aplikačního programu tak, aby odrážela mírnou změnu fyzického schématu, není z hlediska času a programování v žádném případě v náš prospěch. Nezávislost dat zajišťuje, že provádění úprav na jedné úrovni neovlivňuje ostatní úrovně databáze. Na základě tří úrovní abstrakce dat je nezávislost dat rozdělena do dvou typů.

typy nezávislosti dat

pojďme se dozvědět o dvou typech nezávislosti dat a jejich vlastnostech. Tyto dvě kategorie jsou:

  • nezávislost fyzických dat
  • nezávislost logických dat

nezávislost fyzických dat: V rámci nezávislosti fyzických dat získáváme svobodu měnit fyzické schéma, aniž bychom museli měnit aplikační programy. Je zodpovědný za oddělení vnitřní úrovně od koncepční úrovně databázové struktury. Nezávislost fyzických dat umožňuje poskytnout logický popis nebo přehled databáze, není nutně nutné specifikovat podrobnosti o logické struktuře databáze. Podle nezávislosti fyzických dat by žádné změny provedené ve vnitřní úrovni neměly měnit definici koncepční úrovně nebo schématu úrovně zobrazení.

fyzická nezávislost umožňuje upravovat struktury ukládání souborů, hashovací algoritmy, kompresní techniky, úložná zařízení, umístění databáze, přístupovou metodu, indexy atd. V zásadě se tedy zabývá implementací účinných technik ukládání paměti. Jakákoli změna provedená na této úrovni bude použita na mapování mezi interní a koncepční úrovní databáze. Mějte na paměti, že zavedené úpravy musí být lokalizovány. Fyzická nezávislost dat je dosažena fyzickou úrovní a poté je provedena transformace z koncepční na interní úroveň databáze.

občas jsme povinni aktualizovat interní úroveň pro zvýšení výkonu našich DBMS s ohledem na správu paměti. Nezávislost fyzických dat tedy nepochybně hraje zásadní roli na základě skutečnosti, že provádění změn v technikách ukládání v souladu s našimi požadavky je něco, k čemu musí být účinný DBMS náchylný.

Nezávislost Logických Dat: Logická nezávislost dat dává svobodu změnit koncepční úroveň schématu, aniž by došlo k nutkání měnit externí pohledy a externí programy nebo API. Úpravy provedené na této úrovni jsou vynuceny na logickém a koncovém zobrazení mapování úrovně. Aplikační programy, které jsou silně závislé na koncepční úrovni, ztěžují dosažení logické nezávislosti dat ve srovnání s nezávislostí fyzických dat. Jakákoli menší nebo větší změna v logické struktuře databáze by vyžadovala, abychom také změnili programy. Dosažení logické nezávislosti dat tak může být poměrně náročné. Nezávislost logických dat řídí oddělení mezi úrovní koncového pohledu a koncepční úrovní.

nezávislost logických dat nám umožňuje provádět změny, jako je přidání, úprava nebo odstranění atributu, entity nebo dokonce vztahu. Provedení takových úprav nevyžaduje přepsání aplikačního programu, ale provedení odpovídajících změn v programu. To nám umožňuje sloučit dva záznamy do jednoho bez ovlivnění vnější vrstvy. Pokud chce někdo rozdělit existující záznam na dva, je to možné, aniž by zasahoval do struktury úrovně zobrazení koncového uživatele dané databáze.

včasné úpravy koncepční úrovně, aby vaše DBMS byly aktuální, je nezbytné. Proto se říká, že klíčovou roli hraje logická nezávislost dat. To nejen pomáhá zlepšit výkon a rychlost DBMS, ale také se ukáže být užitečné při vytváření databáze mnohem šikovnější a spolehlivější.

výhody nezávislosti dat

nezávislost dat je nesporným základem, pokud jde o jednu z nejvýznamnějších charakteristik systému správy databází. Existuje několik důvodů, které ospravedlňují potřebu nezávislosti dat v DBMS. Podívejme se tedy na výhody, které uspokojují potřeby DBMS.

  • kvalita dat – nezávislost dat pomáhá zvyšovat kvalitu dat uložených v databázi. Vzhledem k tomu, že úprava struktury databáze se stává pohodlnější s nezávislostí dat, ukládání dat se stává efektivním. To usnadňuje zvýšení nerozdělené nebo neporušené stavu. Výsledkem je zlepšení kvality uložených dat.
  • nákladově efektivní údržba – nezávislost na datech nám ušetří potíže s prováděním změn ve všech schématických úrovních naší databáze, pokud jsou vyžadovány změny v jedné schematické úrovni. Tím, udržování naší databáze se stává cenově dostupným do pěkné míry.
  • bezpečnostní aspekt-správné prosazování standardů a protokolů pro stínění databáze je snazší. Nezávislost dat je proto skutečně užitečná při zlepšování zabezpečení databáze.
  • vývojáři se zaměřením na obecnou strukturu: vývojáři se mohou soustředit pouze na manipulaci a aktualizaci logické struktury, aniž by se obtěžovali vnitřní implantací. Změny jsou přímo absorbovány koncepční úrovní a vnitřním mapováním úrovně.
  • snížení nesouladu dat – nezávislost dat podporuje úpravu struktury naší databáze z důvodu zvýšení její kompatibility. To pomáhá při kontrole nesouladu dat.
  • zlepšení výkonu – nezávislost dat podporuje příčinu abstrakce dat. Kromě toho usnadňuje plynulé provádění nových změn. Výsledkem je, že přístup k datům, vyhledávání nebo modifikace dat se stává rychlým a pohodlným. Takto se ukazuje, že nezávislost dat je užitečná při zlepšování výkonu databáze.

jak můžeme odvodit z výše uvedených bodů zdůrazňujících zásluhy nezávislosti dat, nezávislost dat funguje jako jedna ze zbraní DBMS, která překonává nevýhody systémů založených na souborech. Člověk to může vidět jako imunitu uživatelských aplikací proti změnám provedeným v definici schématu a organizaci dat. Každá mince má dvě tváře, totéž platí i pro toto. Nyní, když jste docela přesvědčeni, že nezávislost dat je klíčem k získání spolehlivosti a bezpečnosti databáze, musíte se zajímat o její temnější aspekt. Pak vám řeknu, že existují jen dva hlavní nedostatky, se kterými se běžně setkáváme při řešení nezávislosti dat. Prvním z nich je zvýšená složitost, která přichází s přijetím nezávislosti dat. Databáze musí být pečlivě navrženy tak, aby optimálně využívaly nezávislost dat. Druhá nevýhoda souvisí s první. Aplikační programy silně závisí na logickém schématu dat. Proto změna koncepční struktury nařizuje změnu příslušného aplikačního programu.

doufám, že tento blog byl schopen vrhnout správné světlo na nezávislost dat a přidat hodnotu vašim znalostem o DBMS. Kromě nezávislosti dat existuje několik dalších faktorů, které mají velký dopad na databázi. Chcete-li získat dobrý přehled o takových relevantních tématech DBMS, můžete se obrátit na další blogy skvělého učení. Zůstaňte naladěni a pokračujte ve své vzdělávací cestě s námi. Možná byste se raději rozhodli pro rychlokurz na DBMS s velkou šancí na získání certifikátu. Máme řadu certifikovaných kurzů, které vám budou přínosem jedním nebo druhým způsobem. Tak na co ještě čekáte? Jděte a zaregistrujte se na nový kurz zde! Šťastné učení!

Leave a Reply