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

Jaka jest niezależność danych DBMS?

Niezależność danych jest zdefiniowana jako właściwość systemu DBMS, która pomaga zmienić schemat bazy danych na jednym poziomie systemu bazy danych bez konieczności zmiany schematu na kolejnym, wyższym poziomie. Niezależność danych pomaga oddzielić dane od wszystkich programów, które z nich korzystają.

Zapisane dane można wykorzystać do obliczeń i prezentacji. W wielu systemach niezależność danych jest podstawową funkcją komponentów systemu.

Rodzaje niezależności danych

In DBMS istnieją dwa rodzaje niezależności danych

  1. Fizyczna niezależność danych
  2. Logiczna niezależność danych.

Poziomy bazy danych

Zanim nauczymy się niezależności danych, ważne jest przypomnienie sobie poziomów baz danych. Baza danych ma 3 poziomy, jak pokazano na poniższym schemacie

  1. Fizyczne/wewnętrzne
  2. Konceptualistyczny
  3. Zewnętrzny
Poziomy bazy danych
Poziomy DBMS ArchiSchemat tecture

Rozważmy przykład uniwersyteckiej bazy danych. Na różnych poziomach wdrożenie będzie wyglądać następująco:

Typ schematu Wdrożenie
Schemat zewnętrzny

Zobacz 1: Informacje o kursie (cid:int,cname:string)

Zobacz 2: studentinfo(id:int. name:string)

Konceptualny Szema
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 pomaga oddzielić poziomy koncepcyjne od poziomów wewnętrznych/fizycznych. Pozwala na podanie logicznego opisu bazy danych bez konieczności określania struktur fizycznych. W porównaniu z niezależnością logiczną łatwo jest osiągnąć fizyczną niezależność danych.

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

Przykłady zmian w obszarze Niezależność danych fizycznych

Ze względu na niezależność fizyczną żadna z poniższych zmian nie będzie miała wpływu na warstwę koncepcyjną.

  • Korzystanie z nowego urządzenia pamięci masowej, takiego jak dysk twardy lub taśmy magnetyczne
  • Modyfikowanie techniki organizacji plików w bazie danych
  • Przechodzenie do różnych struktur danych.
  • Zmiana sposobu dostępu.
  • Modyfikowanie indeksów.
  • Zmiany w technikach kompresji i algorytmach haszujących.
  • Zmiana lokalizacji bazy danych z, powiedzmy, dysku C na dysk D

Logiczna niezależność danych

Niezależność danych logicznych to możliwość zmiany schematu koncepcyjnego bez zmiany

  1. Widoki zewnętrzne
  2. Zewnętrzne API lub programy

Wszelkie wprowadzone zmiany zostaną uwzględnione na mapieping pomiędzy poziomem zewnętrznym i koncepcyjnym.

W porównaniu z niezależnością danych fizycznych, osiągnięcie logicznej niezależności danych jest wyzwaniem.

Przykłady zmian w obszarze Niezależność danych logicznych

Ze względu na niezależność logiczną żadna z poniższych zmian nie będzie miała wpływu na warstwę zewnętrzną.

  1. Dodawanie/modyfikacja/usuwanie nowego atrybutu, encji lub relacji jest możliwe bez przepisywania istniejących programów użytkowych
  2. Połączenie dwóch rekordów w jeden
  3. Podział istniejącego rekordu na dwa lub więcej rekordów

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

Niezależność danych logiki Fizyczna niezależność danych
Niezależność danych logicznych dotyczy głównie struktury lub zmiany definicji danych. Dotyczy głównie przechowywania danych.
Jest to trudne, gdyż odzyskiwanie danych opiera się głównie na logicznej strukturze danych. Jest to łatwe do odzyskania.
W porównaniu do logicznej niezależności fizycznej trudno jest osiągnąć logiczną niezależność danych. W porównaniu z niezależnością logiczną łatwo jest osiągnąć fizyczną niezależność danych.
W przypadku dodania lub usunięcia nowych pól z bazy danych należy dokonać zmian w programie Aplikacyjnym. Zmiana na poziomie fizycznym zwykle nie wymaga zmian na poziomie programu aplikacyjnego.
Modyfikacja na poziomach logicznych jest istotna zawsze, gdy zmieniane są struktury logiczne bazy danych. Modyfikacje dokonane na poziomie wewnętrznym mogą, ale nie muszą, być potrzebne w celu poprawy wydajności konstrukcji.
Zajmuje się schematem pojęciowym Dotyczy schematu wewnętrznego
Przykład: Dodaj/Modyfikuj/Usuń nowy atrybut Przykład: zmiana technik kompresji, algorytmów haszujących, urządzeń pamięci masowej itp.

Znaczenie niezależności danych

  • Pomaga poprawić jakość danych
  • Utrzymanie systemu baz danych staje się niedrogie
  • Egzekwowanie standardów i poprawa bezpieczeństwa baz danych
  • Nie musisz zmieniać struktury danych w programach użytkowych
  • Pozwól programistom skoncentrować się na ogólnej strukturze bazy danych, zamiast martwić się o wewnętrzną implementację
  • Pozwala na poprawę stanu nieuszkodzonego i niepodzielnego
  • Niespójność bazy danych została znacznie zmniejszona.
  • Łatwe wprowadzanie modyfikacji na poziomie fizycznym jest potrzebne w celu poprawy wydajności systemu.

Podsumowanie

  • Niezależność danych jest właściwością systemu DBMS, która pomaga w zmianie Schemat bazy danych na jednym poziomie systemu bazodanowego bez konieczności zmiany schematu na wyższym poziomie.
  • Dwa poziomy niezależności danych to 1) fizyczny i 2) logiczny
  • Fizyczna niezależność danych pomaga oddzielić poziomy koncepcyjne od poziomów wewnętrznych/fizycznych
  • Niezależność danych logicznych to możliwość zmiany schematu koncepcyjnego bez zmiany
  • W porównaniu z niezależnością danych fizycznych, osiągnięcie logicznej niezależności danych jest wyzwaniem
  • Niezależność danych Pomaga poprawić jakość danych

Podsumuj ten post następująco: