Niezależność danych w DBMS: fizyczna i logiczna z przykładami

⚡ Inteligentne podsumowanie

Niezależność danych to właściwość systemów DBMS, która pozwala na zmianę schematu na jednym poziomie bez wymuszania zmiany na wyższym poziomie. Występuje w dwóch formach: fizycznej i logicznej, i oddziela dane od programów, które z nich korzystają.

  • 🧩 Podstawowa idea: Zmiana na jednym poziomie schematu jest absorbowana przez mapępingwięc wyższe poziomy i programy aplikacji pozostają nietknięte.
  • 💾 Niezależność fizyczna: Urządzenia pamięci masowej, organizacja plików i indeksy mogą się zmieniać bez wpływu na schemat koncepcyjny.
  • 🗂️. Niezależność logiczna: Obiekty i atrybuty można dodawać lub zmieniać bez konieczności ponownego pisania zewnętrznych widoków lub programów.
  • 🏛️. Trzy poziomy: Schematy fizyczne, koncepcyjne i zewnętrzne tworzą warstwy, które oddziela niezależność.
  • ⚖️. Względny stopień trudności: Niezależność fizyczną osiąga się łatwo, natomiast niezależność logiczną jest trudniejsza, gdyż programy opierają się na strukturze logicznej.
  • 🔗 Mapapings: Mapa konceptualno-wewnętrzna i zewnętrzno-konceptualnapingTo właśnie one umożliwiają każdy rodzaj niezależności.
  • Korzyści: Niższe koszty utrzymania, lepsze zabezpieczenia i deweloperzy skupiający się na projekcie, a nie na przechowywaniu danych.

Niezależność danych w DBMS

Czym jest niezależność danych w systemach DBMS?

Niezależność danych (Data Independence) to właściwość systemu DBMS, która umożliwia zmianę schematu bazy danych na jednym poziomie systemu bez konieczności wprowadzania zmian w schemacie na wyższym poziomie. Niezależność danych pozwala na oddzielenie danych od wszystkich programów, które z nich korzystają.

Możesz wykorzystać te zapisane dane do obliczeń i prezentacji. W wielu systemach niezależność danych jest kluczową funkcją poszczególnych komponentów systemu.

Rodzaje niezależności danych

In DBMS Istnieją dwa rodzaje niezależności danych:

  1. Niezależność danych fizycznych.
  2. Logiczna niezależność danych.

Oba typy baz danych opierają się na warstwowej strukturze bazy danych, dlatego warto najpierw przejrzeć te poziomy.

Poziomy bazy danych

Zanim poznamy niezależność danych, ważne jest przypomnienie sobie poziomów bazy danych. Baza danych ma trzy poziomy, jak pokazano na poniższym diagramie:

  1. Fizyczne / Wewnętrzne
  2. Konceptualistyczny
  3. Zewnętrzny
Schemat poziomów architektury DBMS
Poziomy DBMS ArchiSchemat tecture

Są to te same warstwy, które opisano szczegółowo w Schematy DBMSRozważmy przykład bazy danych uniwersytetu. Na różnych poziomach implementacja wygląda następująco:

Typ schematu Wdrożenie
Schemat zewnętrzny

Widok 1: Course_info(cid:int, cname:string)

Widok 2: student_info(id:int, nazwa:string)

Schemat koncepcyjny
Students(id: int, name: string, login: string, age: integer)
Courses(id: int, cname: string, credits: integer)
Enrolled(id: int, grade: string)
Schemat fizyczny
  • Relacje przechowywane jako pliki nieuporządkowane.
  • Indeks w pierwszej kolumnie Studenci.

Fizyczna niezależność danych

Fizyczna niezależność danych pozwala oddzielić poziom koncepcyjny od poziomu wewnętrznego, czyli fizycznego. Pozwala na logiczny opis bazy danych bez konieczności określania struktur fizycznych. W porównaniu z niezależnością logiczną, osiągnięcie fizycznej niezależności danych jest łatwe.

Dzięki niezależności fizycznej możesz zmieniać fizyczne struktury pamięci masowej lub urządzenia bez wpływu na schemat koncepcyjny. Każda wprowadzona zmiana jest absorbowana przez mapę.ping między poziomem koncepcyjnym a wewnętrznym. Fizyczna niezależność danych jest osiągana poprzez obecność poziomu wewnętrznego bazy danych i transformację z poziomu koncepcyjnego na poziom wewnętrzny.

Przykłady zmian w ramach niezależności danych fizycznych

Ze względu na niezależność fizyczną żadna z poniższych zmian nie wpłynie na warstwę koncepcyjną:

  • Użycie nowego urządzenia pamięci masowej, np. dysku twardego lub taśmy magnetycznej.
  • Zmiana sposobu organizacji plików w bazie danych.
  • Przechodzenie do różnych struktur danych.
  • Zmiana sposobu dostępu.
  • Modyfikowanie indeksów.
  • Zmiany w technikach kompresji lub algorytmy mieszające.
  • Zmiana lokalizacji bazy danych, np. z dysku C na dysk D.

Logiczna niezależność danych

Logiczna niezależność danych to zdolność do zmiany schematu koncepcyjnego bez zmiany:

  1. Widok zewnętrzny.
  2. Zewnętrzne API lub programy.

Każda wprowadzona zmiana jest absorbowana przez mapęping między poziomem zewnętrznym a koncepcyjnym. W porównaniu z fizyczną niezależnością danych, osiągnięcie logicznej niezależności danych jest wyzwaniem.

Przykłady zmian w ramach niezależności danych logicznych

Ze względu na niezależność logiczną żadna ze zmian podanych poniżej nie wpłynie na warstwę zewnętrzną:

  1. Dodawanie, modyfikowanie lub usuwanie nowych atrybutów, jednostek lub relacji jest możliwe bez konieczności ponownego pisania istniejących programów aplikacyjnych.
  2. Łączenie dwóch rekordów w jeden.
  3. Podzielenie istniejącego rekordu na dwa lub więcej rekordów.

Różnica między niezależnością danych fizycznych i logicznych

Logiczna niezależność danych Fizyczna niezależność danych
Głównie dotyczy to struktury i zmiany definicji danych. Dotyczy głównie przechowywania danych.
Trudne, ponieważ odzyskiwanie danych zależy głównie od struktury logicznej. Łatwe do odzyskania.
W porównaniu do niezależności fizycznej, jest to trudne do osiągnięcia. W porównaniu do niezależności logicznej jest ona łatwa do osiągnięcia.
Jeśli dodasz lub usuniesz nowe pola, musisz wprowadzić zmiany w programie aplikacji. Zmiana na poziomie fizycznym zazwyczaj nie wymaga zmiany na poziomie programu aplikacyjnego.
Modyfikacja na poziomie logicznym jest istotna zawsze, gdy zmienia się logiczna struktura bazy danych. Zmiany na poziomie wewnętrznym mogą lub nie być konieczne w celu poprawy wydajności.
Zajmuje się schematem koncepcyjnym. Zainteresowany schematem wewnętrznym.
Przykład: dodawanie, modyfikowanie lub usuwanie nowego atrybutu. Przykład: zmiana technik kompresji, algorytmów haszujących, urządzeń pamięci masowej itp.

Znaczenie niezależności danych

  • Pomaga poprawić jakość danych.
  • Sprawia, że ​​konserwacja systemu baz danych staje się bardziej przystępna cenowo.
  • Egzekwuje standardy i poprawia bezpieczeństwo baz danych.
  • Nie ma potrzeby zmiany struktur danych w programach aplikacyjnych.
  • Umożliwia programistom skupienie się na ogólnej strukturze bazy danych, a nie na wewnętrznej implementacji.
  • Znacznie zmniejsza niespójność bazy danych.
  • Umożliwia wprowadzanie modyfikacji na poziomie fizycznym w celu zwiększenia wydajności systemu.

FAQ

Programy aplikacji i widoki zależą od struktury logicznej, więc zmiany encji lub atrybutów mogą mieć na nie wpływ. Pamięć fizyczna znajduje się pod schematem koncepcyjnym, więc zmiany w niej zachodzące pozostają ukryte.

Mapapingmiędzy poziomami. Niezależność fizyczna opiera się na mapie koncepcyjno-wewnętrznejping, a niezależność logiczna opiera się na mapie zewnętrzno-pojęciowejping, dzięki czemu każda zmiana jest absorbowana, a nie propagowana.

Nie. Dodawanie lub usuwanieping Indeks to fizyczna zmiana absorbowana przez fizyczną niezależność danych. Zapytania zwracają te same wyniki, tylko szybciej lub wolniej, i nie wymagają zmiany kodu aplikacji.

Ponieważ pamięć masowa może się swobodnie zmieniać, narzędzie do dostrajania sztucznej inteligencji może migrować dane do pamięci kolumnowej lub dodawać indeksy w celu przyspieszenia szkolenia modelu – wszystko to bez zmiany zapytań, z których aplikacje już korzystają.

Fizyczny. Przenoszenie plików z jednego dysku na drugi zmienia jedynie poziom wewnętrzny. Dzięki fizycznej niezależności danych, schemat koncepcyjny i widok każdej aplikacji pozostają niezmienione.

Podsumuj ten post następująco: