niezależność danych w DBMS

 inżynier baz danych
  • wprowadzenie
  • czym jest niezależność danych?
  • rodzaje niezależności danych

wprowadzenie

dzisiaj zajmiemy się jednym z najważniejszych tematów systemów zarządzania bazami danych, jakim jest niezależność danych. Powodem wdrożenia trzech poziomów abstrakcji danych jest osiągnięcie niezależności danych. Niezależność danych jest czymś, co dotyczy zmian zachodzących na różnych poziomach schematu. Oprócz znaczenia niezależności danych, dowiesz się tutaj o ich potrzebach i typach. Zacznijmy więc bez zbędnych ceregieli!

czym jest niezależność danych?

wszyscy znamy już dwa terminy “data” i “independence” osobno, więc możemy mniej więcej rozszyfrować znaczenie całego terminu “Data independence” w tym samym znaczeniu. Z samego terminu wynika, że mówimy o niezależności danych obecnych w bazie danych. W słowach technicznych można to ująć w następujący sposób: “niezależność danych jest właściwością DBMS, która pozwala użytkownikowi zmienić definicję schematu na jednym poziomie bez konieczności zmiany definicji schematu na kolejnych wyższych poziomach”. Bardzo konieczne jest, aby gdy dokonujemy zmian na jednym poziomie, nie przeszkadzało to innym poziomom. Aby być dokładnym, niezależność danych odnosi się do niezależności lub samodzielności danych obecnych na trzech poziomach architektury bazy danych. Co więcej, jest to coś, co pomaga w utrzymaniu danych oddzielonych od programów aplikacyjnych, które z niego korzystają. Jest to często postrzegane jako rodzaj przejrzystości danych, że scentralizowany system zarządzania bazami danych jest bardzo zaniepokojony.

zanim przyjrzymy się głębszemu aspektowi niezależności danych, zróbmy szybkie przypomnienie o poziomach bazy danych. Wewnętrzny lub fizyczny schemat jest pierwszym poziomem, który jest w bezpośrednim związku z bazą danych, która również na poziomie pamięci. Drugi jest konceptualnym lub logicznym schematem, który służy jako pośrednik między trzecim a pierwszym poziomem. Trzeci poziom to zewnętrzny schemat, który określa, w jaki sposób baza danych jest widoczna dla wielu użytkowników końcowych. Zakładając instancję bazy danych biblioteki, implementacja tych trzech poziomów wygląda nieco następująco:

schemat wewnętrzny schemat logiczny schemat zewnętrzny
Unordered files of relations of databaseFirst column index of Visitors Visitors (id: int, name: string, age: int, contact: numeric, address: string)Books (id: int, title: string, author: string, isbn: numeric) View1: BookRecords (b_id: int, b_name: string, author: string)View2: VisitorRecords (V_id: int, v_name: string)

niezależność danych oddziela dane od API i implementuje zmiany dokonane na jednym z poziomów do mapowań międzypoziomowych. Pomaga w utrzymaniu swobody tych indywidualnych poziomów bazy danych w tym samym czasie. Z pewnego punktu widzenia niezależność danych i niezależność operacji razem wydobywają zjawisko abstrakcji danych w DBMS.

jak osiągnąć niezależność danych w DBMS?

aby uzyskać niezależność danych, upewniamy się, że nasza baza danych spełnia wymagania abstrakcji danych. W prostych słowach abstrakcja danych to proces ukrywania nieistotnych szczegółów przed Użytkownikiem końcowym. Jeśli myślimy w odniesieniu do Bytów świata rzeczywistego, możemy wziąć przykład samochodu. Kiedy kierowca prowadzi samochód, ma pełną wiedzę na temat prowadzenia samochodu, ale jeśli z jakiegoś powodu nie jest w stanie uruchomić samochodu, będzie potrzebował pomocy mechanika samochodowego. Dzieje się tak, ponieważ kierowca wie tylko, jak prowadzić samochód, nie wie, jak radzić sobie z problemami z obwodami wewnętrznymi, ponieważ wewnętrzny obwód i mechanizm samochodu są przed nim ukryte. Podobnie wewnętrzna struktura jest niewidoczna dla programistów i użytkowników końcowych. Ta właściwość ograniczenia widoczności w bazie danych jest określana jako abstrakcja danych. Baza danych mieści do trzech poziomów abstrakcji. Te trzy poziomy są wymienione poniżej:

  • poziom fizyczny (wewnętrzny schemat)
  • poziom koncepcyjny (logiczny)
  • poziom wyświetlania

fizyczny poziom abstrakcji danych dba o wewnętrzny schemat. Ten poziom abstrakcji określa sposób przechowywania danych w bazie danych. Przechowuje szczegółowe i złożone struktury danych bazy danych, które nie byłyby zainteresowane użytkownikami końcowymi i programistami. Jest również uważany za najniższy poziom abstrakcji danych.

poziom pojęciowy, który jest średnim poziomem abstrakcji danych, jest dla poziomu logicznego schematu. Poprzedni poziom odpowiada na pytanie ” jak?’. Podobnie poziom ten odpowiada na pytanie ” dlaczego?”Opisuje, jakie i jakiego typu dane są przechowywane w bazie danych.

ostatnim i najwyższym poziomem abstrakcji danych jest poziom widoku. Ten poziom mówi, jak dane mają być oglądane przez różnych użytkowników N. Odpowiada za interakcję użytkownika z bazą danych.

weźmy przykład bardzo małej skali, w którym przechowujemy dane klientów sklepu. Tak więc, jeśli mówimy o poziomie fizycznym, dane są przechowywane jako bloki pamięci w bajtach, gigabajtach, terabajtach itp. Zasadniczo zajmuje się złożoną pamięcią masową. Informacja ta nie jest widoczna dla programistów. Poziom logiczny opisuje wprowadzone dane Klienta i ich typy danych. Na tym poziomie zaimplementowana jest zależność logiczna pomiędzy danymi za pomocą języków programowania. Tym poziomem zajmują się głównie Programiści. Na poziomie widoku użytkownik wchodzi w interakcję z systemem za pośrednictwem interfejsu graficznego, aby wprowadzić dane, Być może w formacie formularza lub innym ustawionym formacie. Teraz każdy poziom musi być niezależny od drugiego, tak, że kiedy wprowadzamy zmiany na jednym poziomie, nie jesteśmy zobowiązani do wprowadzania zmian na następnym wyższym poziomie. I to właśnie robi niezależność danych.

aby utrzymać te trzy poziomy abstrakcji danych, być może będziemy musieli wprowadzić zmiany na jednym poziomie bazy danych, co może być wielkim kłopotem, gdyby nie niezależność danych. Zgodzisz się co do tego, że zmiana całego programu aplikacji w celu odzwierciedlenia niewielkiej zmiany w fizycznym schemacie nie jest naszą korzyścią pod względem czasu i programowania. Niezależność danych zapewnia, że modyfikacje na jednym poziomie nie mają wpływu na inne poziomy bazy danych. Na podstawie trzech poziomów abstrakcji danych, niezależność danych jest rozgałęziona na dwa typy.

rodzaje niezależności danych

Poznajmy dwa typy niezależności danych i ich właściwości. Dwie kategorie to:

  • niezależność danych fizycznych
  • niezależność danych logicznych

niezależność danych fizycznych: W ramach fizycznej niezależności danych, dostajemy wolność do zmiany fizycznego schematu bez konieczności zmiany programów aplikacji w tym celu. Odpowiada za oddzielenie poziomu wewnętrznego od poziomu koncepcyjnego struktury bazy danych. Fizyczna niezależność danych umożliwia dostarczenie logicznego opisu lub przeglądu bazy danych, niekoniecznie wymaganego do określenia szczegółów struktury logicznej bazy danych. Zgodnie z niezależnością danych fizycznych, wszelkie zmiany dokonane na poziomie wewnętrznym nie mają na celu zmiany definicji poziomu pojęciowego lub schematu poziomu widoku.

niezależność fizyczna pozwala modyfikować struktury przechowywania plików, algorytmy mieszania, techniki kompresji, urządzenia pamięci masowej, lokalizację bazy danych, metody dostępu, indeksy i tak dalej. Zasadniczo zajmuje się wdrażaniem wydajnych technik przechowywania pamięci. Wszelkie zmiany dokonane na tym poziomie zostaną zastosowane do mapowania między poziomem wewnętrznym i koncepcyjnym bazy danych. Należy pamiętać, że wprowadzone modyfikacje muszą być zlokalizowane. Niezależność danych fizycznych osiąga się na poziomie fizycznym, a następnie przeprowadza się transformację z poziomu koncepcyjnego do wewnętrznego bazy danych.

czasami jesteśmy zobowiązani do aktualizacji poziomu wewnętrznego w celu zwiększenia wydajności naszych DBMS w związku z zarządzaniem pamięcią. Zatem bezsprzecznie fizyczna niezależność danych odgrywa istotną rolę ze względu na fakt, że wprowadzanie zmian w technikach przechowywania zgodnie z naszymi wymaganiami jest czymś, na co wydajny DBMS musi być podatny.

Logiczna Niezależność Danych: Logiczna niezależność danych daje swobodę zmiany poziomu pojęciowego schematu bez nakładania jakiegokolwiek przymusu zmiany zewnętrznych widoków i zewnętrznych programów lub API. Modyfikacje wykonywane na tym poziomie są wymuszane na mapowaniu poziomu logicznego i końcowego. Programy aplikacyjne są w dużym stopniu zależne od poziomu pojęciowego, co utrudnia osiągnięcie logicznej niezależności danych w porównaniu do fizycznej niezależności danych. Każda drobna lub poważna zmiana w strukturze logicznej bazy danych wymagałaby od nas również zmiany programów. Tak więc osiągnięcie logicznej niezależności danych może być dość trudne. Logiczna niezależność danych reguluje rozdział między poziomem widoku końcowego a poziomem koncepcyjnym.

logiczna niezależność danych pozwala nam wprowadzać zmiany, takie jak dodawanie, modyfikowanie lub usuwanie atrybutu, encji, a nawet relacji. Wykonanie takich modyfikacji nie wymaga przepisania programu aplikacji, ale dokonania odpowiednich zmian w programie. Pozwala nam to na scalenie dwóch rekordów w jeden bez wpływu na warstwę zewnętrzną. Jeśli chcemy podzielić istniejący rekord na dwa, jest to możliwe bez ingerencji w strukturę poziomu widoku użytkownika końcowego danej bazy danych.

dokonywanie terminowych zmian na poziomie koncepcyjnym w celu aktualizowania DBMS jest niezbędne. Dlatego mówi się, że kluczową rolę odgrywa logiczna niezależność danych. Nie tylko pomaga poprawić wydajność i szybkość DBMS, ale także okazuje się być pomocny w tworzeniu bazy danych o wiele bardziej poręczny i bardziej niezawodny.

zalety niezależności danych

niezależność danych jest bezsporną podstawą, jeśli chodzi o jedną z najważniejszych cech systemu zarządzania bazami danych. Istnieje kilka powodów uzasadniających potrzebę niezależności danych w DBMS. Przyjrzyjmy się więc zaletom, które zaspokajają potrzeby DBMS.

  • jakość danych – niezależność danych pomaga w poprawie jakości danych przechowywanych w bazie danych. Ponieważ modyfikacja struktury bazy danych staje się wygodniejsza dzięki niezależności danych, przechowywanie danych staje się wydajne. Ułatwia wzmocnienie niepodzielonego lub nienaruszonego stanu. Skutkuje to więc poprawą jakości przechowywanych danych.
  • opłacalna Konserwacja-niezależność danych pozwala nam uniknąć kłopotów z wprowadzaniem zmian na wszystkich poziomach schematów naszej bazy danych, jeśli zmiany są wymagane na jednym poziomie schematu. W ten sposób utrzymanie naszej bazy danych staje się przystępne cenowo.
  • aspekt bezpieczeństwa-poprawne egzekwowanie standardów i protokołów do ekranowania bazy danych staje się łatwiejsze. Dlatego niezależność danych jest rzeczywiście pomocna w poprawie bezpieczeństwa baz danych.
  • deweloperzy koncentrują się na ogólnej strukturze: deweloperzy mogą skupić się wyłącznie na obsłudze i aktualizacji struktury logicznej bez przejmowania się wewnętrzną implantacją. Zmiany są bezpośrednio absorbowane przez poziom pojęciowy i mapowanie poziomu wewnętrznego.
  • redukcja niespójności danych-niezależność danych umożliwia modyfikację struktury naszej bazy danych w celu zwiększenia jej kompatybilności. Pomaga to w kontrolowaniu niezgodności danych.
  • Poprawa wydajności-niezależność danych napędza przyczynę abstrakcji danych. Poza tym ułatwia sprawne wdrażanie nowych zmian. W rezultacie dostęp do danych, ich odzyskiwanie lub modyfikacja stają się szybkie i wygodne. W ten sposób niezależność danych okazuje się przydatna w poprawie wydajności bazy danych.

jak możemy wywnioskować z powyższych punktów podkreślających zalety niezależności danych, niezależność danych działa jako jedna z broni DBMS, która przezwycięża wady systemów opartych na plikach. Można to postrzegać jako odporność aplikacji użytkownika na zmiany wprowadzone w definicji schematu i organizacji danych. Każda moneta ma dwie twarze, to samo odnosi się do tego. Teraz, gdy jesteś przekonany, że niezależność danych jest kluczem do uzyskania niezawodności i bezpieczeństwa bazy danych, musisz się zastanawiać nad jej ciemniejszym aspektem. Pozwól, że powiem ci, że istnieją tylko dwa główne niedociągnięcia, które często napotykamy, gdy mamy do czynienia z niezależnością danych. Pierwszym z nich jest zwiększona złożoność, która pochodzi z przyjęcia niezależności danych. Bazy danych muszą być starannie zaprojektowane w celu optymalnego wykorzystania niezależności danych. Druga wada jest związana z pierwszą. Programy aplikacji w dużym stopniu zależą od logicznego schematu danych. Dlatego zmiana struktury pojęciowej wymusza zmianę odpowiedniego programu aplikacyjnego.

mam nadzieję, że ten blog był w stanie rzucić odpowiednie światło na niezależność danych i dodać wartość Twojej wiedzy na temat DBMS. Oprócz niezależności danych istnieje kilka innych czynników, które mają duży wpływ na bazę danych. Aby dobrze zrozumieć takie istotne tematy DBMS, możesz odnieść się do innych blogów o wielkiej nauce. Bądź na bieżąco i kontynuuj swoją podróż edukacyjną z nami. Może wolisz zdecydować się na crash course na DBMS z dobrą szansą na zdobycie certyfikatu. Mamy wiele certyfikowanych kursów, które przyniosą ci korzyści w taki lub inny sposób. Na co jeszcze czekasz? Idź i zapisz się na nowy kurs tutaj! Udanej nauki!

Leave a Reply