Niezależność danych - Data independence

Niezależność danych to rodzaj przejrzystości danych, który ma znaczenie dla scentralizowanego DBMS . Dotyczy odporności aplikacji użytkowników na zmiany w definicji i organizacji danych. Najlepiej byłoby, gdyby aplikacje nie były narażone na szczegółowe informacje dotyczące reprezentacji i przechowywania danych. DBMS stanowi abstrakcyjny widok danych, który ukrywa takich szczegółów.

Istnieją dwa rodzaje niezależności danych: fizyczna i logiczna niezależność danych.

Niezależność danych i niezależność działania razem dają cechę abstrakcji danych . Istnieją dwa poziomy niezależności danych.

Pierwszy poziom niezależności danych

Logiczna struktura danych jest znany jako „definicji schematu”. W ogóle, jeśli aplikacja użytkownika działa na podzbiór atrybutów danego związku , to nie powinno mieć wpływu później, gdy nowe atrybuty są dodawane do tej samej relacji. Logiczna niezależność danych wskazuje, że schemat koncepcyjny można zmienić bez wpływu na istniejące schematy.

Drugi poziom niezależności danych

Fizyczna struktura danych jest nazywana „fizycznym opisem danych”. Fizyczna niezależność danych polega na ukrywaniu szczegółów struktury pamięci przed aplikacjami użytkownika. Aplikacja nie powinna zajmować się tymi kwestiami, ponieważ pod względem koncepcyjnym nie ma różnicy w operacjach przeprowadzanych na danych. Istnieją trzy rodzaje niezależności danych:

  1. Logiczna niezależność danych: Możliwość zmiany schematu logicznego (koncepcyjnego) bez zmiany schematu zewnętrznego (widok użytkownika) jest nazywana logiczną niezależnością danych. Na przykład dodanie lub usunięcie nowych jednostek, atrybutów lub relacji do schematu koncepcyjnego lub konieczność przepisania istniejących aplikacji.
  2. Fizyczna niezależność danych: możliwość zmiany schematu fizycznego bez zmiany schematu logicznego nazywana jest fizyczną niezależnością danych. Na przykład zmiana schematu wewnętrznego, taka jak użycie innej organizacji plików lub struktur pamięci masowej, urządzeń pamięci masowej lub strategii indeksowania, powinna być możliwa bez konieczności zmiany schematów koncepcyjnych lub zewnętrznych.
  3. Niezależność danych na poziomie widoku: zawsze niezależna bez wpływu, ponieważ nie istnieje żaden inny poziom powyżej poziomu widoku.

Niezależność danych

Niezależność danych można wyjaśnić w następujący sposób: Każdy wyższy poziom architektury danych jest odporny na zmiany następnego niższego poziomu architektury.

Schemat logiczny pozostaje niezmieniony, nawet jeśli przestrzeń pamięci lub typ niektórych danych ulegnie zmianie ze względu na optymalizację lub reorganizację. W tym przypadku schemat zewnętrzny się nie zmienia. W tym przypadku mogą być wymagane zmiany schematów wewnętrznych, ponieważ niektóre schematy fizyczne zostały tutaj zreorganizowane. Fizyczna niezależność danych jest obecna w większości baz danych i środowiskach plików, w których sprzętowe przechowywanie kodowania, dokładna lokalizacja danych na dysku, łączenie rekordów, a więc na tym są ukryte przed użytkownikiem.

Jedną z największych zalet baz danych jest niezależność danych. Oznacza to, że możemy zmienić schemat pojęciowy na jednym poziomie bez wpływu na dane na innym poziomie. Oznacza to również, że możemy zmienić strukturę bazy danych bez wpływu na dane wymagane przez użytkowników i programy. Ta funkcja nie była dostępna w podejściu zorientowanym na pliki.

Typy niezależności danych

Możliwość modyfikowania definicji schematu na jednym poziomie bez wpływania na schemat tej definicji na kolejnym wyższym poziomie nazywa się niezależnością danych. Istnieją dwa poziomy niezależności danych, fizyczna niezależność danych i logiczna niezależność danych.

  1. Fizyczna niezależność danych to możliwość modyfikowania schematu fizycznego bez konieczności przepisywania aplikacji. Czasami konieczne są modyfikacje na poziomie fizycznym, aby poprawić wydajność. Oznacza to, że zmieniamy fizyczny magazyn / poziom bez wpływu na koncepcyjny lub zewnętrzny widok danych. Nowe zmiany są absorbowane przez techniki mapowania.
  2. Niezależność danych logicznych to możliwość modyfikowania schematu logicznego bez konieczności przepisywania programów użytkowych. Modyfikacje na poziomie logicznym są konieczne zawsze, gdy zmienia się logiczna struktura bazy danych (na przykład, gdy do systemu bankowego dodawane są rachunki rynku pieniężnego). Niezależność danych logicznych oznacza, że ​​jeśli dodamy nowe kolumny lub usuniemy niektóre kolumny z tabeli, widok użytkownika i programy nie powinny się zmieniać. Na przykład: rozważ dwóch użytkowników A i B. Obaj wybierają pola „EmployeeNumber” i „EmployeeName”. Jeśli użytkownik B doda nową kolumnę (np. Wynagrodzenie) do swojej tabeli, nie wpłynie to na widok zewnętrzny użytkownika A, chociaż wewnętrzny schemat bazy danych został zmieniony dla obu użytkowników A i B.

Logiczna niezależność danych jest trudniejsza do osiągnięcia niż fizyczna niezależność danych, ponieważ aplikacje są w dużym stopniu zależne od logicznej struktury danych, do których mają dostęp.

Zobacz też