Nezávislost dat v DBMS: Fyzická a logická s příklady
⚡ Chytré shrnutí
Datová nezávislost je vlastnost DBMS, která umožňuje změnu schématu na jedné úrovni, aniž by se vynutila změna na další vyšší úrovni. Dodává se ve dvou formách, fyzické a logické, a udržuje data oddělená od programů, které je používají.

Co je datová nezávislost v DBMS?
Datová nezávislost je definována jako vlastnost systému pro správu databází (DBMS), která umožňuje změnit schéma databáze na jedné úrovni databázového systému, aniž by bylo nutné změnit schéma na další vyšší úrovni. Datová nezávislost pomáhá udržovat data oddělená od všech programů, které je používají.
Tato uložená data můžete použít pro výpočetní techniku a prezentaci. V mnoha systémech je datová nezávislost základní funkcí pro komponenty systému.
Typy datové nezávislosti
In DBMS Existují dva typy datové nezávislosti:
- Fyzická datová nezávislost.
- Logická nezávislost dat.
Oba typy spočívají na vrstveném návrhu databáze, takže je vhodné nejprve zkontrolovat tyto úrovně.
Úrovně databáze
Než se dozvíme o datové nezávislosti, je důležité si připomenout úrovně databáze. Databáze má tři úrovně, jak je znázorněno na níže uvedeném diagramu:
- Fyzické / Interní
- Koncepční
- Externí

Jedná se o stejné vrstvy, které jsou podrobně popsány níže. Schémata DBMSUvažujme příklad univerzitní databáze. Na různých úrovních implementace vypadá takto:
| Typ schématu | Implementace |
|---|---|
| Externí schéma |
Pohled 1: Informace o kurzu (cid:int, cname:string) Pohled 2: student_info(id:int, jméno:string) |
| Koncepční schéma |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| Fyzikální schéma |
|
Fyzická nezávislost dat
Fyzická nezávislost dat vám pomáhá oddělit konceptuální úroveň od interní nebo fyzické úrovně. Umožňuje vám poskytnout logický popis databáze bez nutnosti specifikovat fyzické struktury. Ve srovnání s logickou nezávislostí je snazší dosáhnout fyzické nezávislosti dat.
Díky fyzické nezávislosti můžete změnit struktury nebo zařízení fyzického úložiště bez jakéhokoli vlivu na koncepční schéma. Jakákoli provedená změna je absorbována mapou.ping mezi konceptuální a interní úrovní. Fyzické datové nezávislosti je dosaženo přítomností interní úrovně databáze a transformací z konceptuální úrovně na interní úroveň.
Příklady změn v rámci fyzické datové nezávislosti
Vzhledem k fyzické nezávislosti žádná z níže uvedených změn neovlivní koncepční vrstvu:
- Použití nového paměťového zařízení, jako je pevný disk nebo magnetická páska.
- Úprava techniky organizace souborů v databázi.
- Přepínání na různé datové struktury.
- Změna metody přístupu.
- Úprava indexů.
- Změny kompresních technik nebo hashovací algoritmy.
- Změna umístění databáze, například z disku C na disk D.
Logická nezávislost dat
Logická nezávislost dat je schopnost změnit koncepční schéma beze změny:
- Vnější pohledy.
- Externí API nebo programy.
Jakákoli provedená změna je absorbována mapouping mezi externí a konceptuální úrovní. Ve srovnání s fyzickou datovou nezávislostí je dosažení logické datové nezávislosti náročné.
Příklady změn v rámci logické nezávislosti dat
Vzhledem k logické nezávislosti žádná z níže uvedených změn neovlivní vnější vrstvu:
- Přidání, úprava nebo odstranění nového atributu, entity nebo vztahu je možné bez přepisování stávajících aplikačních programů.
- Sloučení dvou záznamů do jednoho.
- Rozdělení existujícího záznamu na dva nebo více záznamů.
Rozdíl mezi fyzickou a logickou nezávislostí dat
| Logická nezávislost dat | Fyzická nezávislost dat |
|---|---|
| Hlavně se týká struktury nebo změny definice dat. | Jde především o ukládání dat. |
| Obtížné, protože vyhledávání dat závisí hlavně na logické struktuře. | Snadné načtení. |
| Ve srovnání s fyzickou nezávislostí je toho obtížné dosáhnout. | Ve srovnání s logickou nezávislostí je toho snadné dosáhnout. |
| Pokud jsou přidána nebo odstraněna nová pole, je nutné provést změny v aplikačním programu. | Změna na fyzické úrovni obvykle nevyžaduje změnu na úrovni aplikačního programu. |
| Modifikace na logické úrovni je významná vždy, když se změní logické struktury databáze. | Úpravy na interní úrovni mohou, ale nemusí být nutné ke zlepšení výkonu. |
| Zabývá se koncepčním schématem. | Zabývá se interním schématem. |
| Příklad: přidání, úprava nebo odstranění nového atributu. | Příklad: změna kompresních technik, hašovacích algoritmů, úložných zařízení atd. |
Význam nezávislosti dat
- Pomáhá vám zlepšit kvalitu dat.
- Zvyšuje dostupnost údržby databázového systému.
- Vynucuje standardy a zlepšuje zabezpečení databáze.
- V aplikačních programech nemusíte měnit datové struktury.
- Umožňuje vývojářům soustředit se na obecnou strukturu databáze spíše než na interní implementaci.
- Výrazně snižuje nekonzistenci v databázi.
- Umožňuje provádět úpravy na fyzické úrovni pro zlepšení výkonu systému.
