Co to jest integralność danych?
w tej erze, w której coraz więcej danych jest przechowywanych i wytwarzanych niż kiedykolwiek, ważne jest, aby integralność naszych danych została zachowana. Wyobraź sobie, że mamy kilku pracowników pracujących dla MNC. Pracownicy ci pracują w dwóch działach: sprzedaży i finansów. Oba te działy mają własne tabele baz danych. Więc musimy przechowywać akta tych pracowników dwa razy? Nie, integralność danych mówi, że nie powinno być duplikatów danych w naszej bazie danych., Nie powinno być nadmiarowości, a nasze dane powinny być spójne w całej bazie danych. Ale jak można to osiągnąć? DBMS zapewnia nam różne ograniczenia integralności danych. Zobaczmy je szczegółowo.
integralność danych
integralność danych to posiadanie poprawnych i dokładnych danych w bazie danych. Kiedy przechowujemy dane w bazie danych, nie chcemy powtarzających się wartości, nie chcemy nieprawidłowych wartości ani uszkodzonych relacji między tabelami. Zrozummy więc na przykładzie, że w jaki sposób zerwane relacje mogą powodować niespójność danych.,
przykład: wyobraźmy sobie, że mamy bazę danych klientów, w której mamy dwie tabele, tj. ' customer_table '(customer_id, customer_name, purchase_id) i’purchase_table' (purchase_id, purchased_item). Te dwie tabele są powiązane w taki sposób, że jeśli jakikolwiek zakup zostanie dokonany przez Klienta, dane zakupionego przedmiotu będą przechowywane w tabeli purchase_table. Tak więc, jeśli mamy zapis zakupionego przedmiotu w tabeli purchase_table, to ten zakup musi być dokonany przez jakiegoś klienta obecnego w tabeli customer _table., Teraz rozważmy sytuację, w której tabela zakupów mówi, że przedmiot został zakupiony przez customer_id powiedzmy 10, ale customer_id nie istnieje w tabeli customer_table. Nie jest możliwe, że zakup odbywa się bez klienta. Taka sytuacja mogła powstać, ponieważ dane Klienta zostały usunięte z customer_table. Tak więc, jeśli dane Klienta zostaną usunięte z tabeli klienta, odpowiednie dane powinny zostać również usunięte z tabeli zakupu. Dlatego zmiany w bazie danych muszą być stale aktualizowane w celu zachowania integralności danych.,
integralność danych może być utrzymywana przy użyciu ograniczeń. Ograniczenia te określają reguły, zgodnie z którymi operacje takie jak aktualizacja, usuwanie, wstawianie itp. muszą być wykonywane w celu zachowania integralności danych. Istnieją głównie cztery typy integralności danych:
- integralność domeny
- integralność Entity
- integralność referencyjna
- integralność definiowana przez użytkownika
integralność domeny
domena odnosi się do zakresu dopuszczalnych wartości. Odnosi się do zakresu wartości, które będziemy akceptować i przechowywać w określonej kolumnie w bazie danych., Dostępne typy danych to głównie liczba całkowita, tekst, data itd. Każdy wpis, który robimy dla kolumny powinien być dostępny w domenie typu danych.
przykład: jeśli mamy przechowywać wynagrodzenie pracowników w ’employee_table', to możemy wprowadzić ograniczenia, że powinna to być tylko liczba całkowita. Każdy wpis inny niż znaki typu integer nie będzie akceptowalny i gdy spróbujemy podać takie dane wejściowe, DBMS spowoduje błędy.
integralność encji
każdy wiersz dla encji w tabeli powinien być jednoznacznie zidentyfikowany, tzn., idf jakiś rekord jest zapisywany w bazie danych, a następnie ten rekord powinien być jednoznacznie identyfikowany od innych. Odbywa się to za pomocą kluczy podstawowych. Ograniczenie encji mówi, że wartość klucza podstawowego nie powinna być NULL. Jeśli wartość klucza podstawowego jest NULL, to nie możemy jednoznacznie zidentyfikować wierszy, jeśli wszystkie pozostałe pola są takie same. Ponadto, za pomocą klucza podstawowego, możemy jednoznacznie zidentyfikować każdy rekord.
przykład: jeśli mamy bazę danych klientów i jest tam obecna customer_table z atrybutami takimi jak wiek i nazwa. Następnie każdy klient powinien być jednoznacznie zidentyfikowany., Może być dwóch klientów o tym samym imieniu i tym samym wieku, więc może być zamieszanie podczas pobierania danych. Jeśli odzyskamy dane Klienta o nazwie „Anioł”, to dwa wiersze mają tę nazwę i byłoby zamieszanie. Aby rozwiązać ten problem, klucze podstawowe są przypisane do każdej tabeli i jednoznacznie identyfikują każdy wpis tabeli.
Referential Integrity
referential Integrity jest używany do utrzymania spójności danych między dwiema tabelami., W strukturze bazy danych wprowadza się reguły dotyczące sposobu użycia kluczy obcych, aby zapewnić, że zmiany, dodawanie i usuwanie w bazie danych zachowują integralność danych. Jeżeli klucz obcy w pierwszej tabeli odnosi się do klucza głównego drugiej tabeli, to każda wartość klucza obcego w pierwszej tabeli powinna być albo null, albo obecna w drugiej tabeli.
przykład: załóżmy, że mamy dwie tabele studenta (student_id, imię, wiek, kurs_id) i kurs (kurs_id, kurs_name, czas trwania)., Jeśli w tabeli kursowej znajduje się dowolny identyfikator kursu, którego nie ma w tabeli kursu, to nie jest to dozwolone. Identyfikator kursu w tabeli kursanta powinien być albo null, albo jeśli w tabeli kursanta znajduje się jakikolwiek identyfikator kursu, to powinien on być również obecny w tabeli kursów. W ten sposób zachowana jest integralność odniesienia.
integralność zdefiniowana przez użytkownika
czasami te trzy integralności, tj. domeny, odniesienia i integralność jednostek, nie wystarczają do utrzymania integralności danych., Taka integralność jest zazwyczaj implementowana za pomocą wyzwalaczy i procedur składowanych. Triggers to blok instrukcji, który wykonuje się automatycznie, jeśli wystąpią jakieś predefiniowane zdarzenia.
Przykład1: za każdym razem, gdy nowy wiersz jest wstawiany do tabeli student_table, która ma oznaczenia różnych przedmiotów uczniów, automatycznie obliczana i zapisywana jest nowa średnia.
możemy również zdefiniować pewne ograniczenia zdefiniowane przez użytkownika i określone reguły biznesowe.
Przykład2: jeśli tworzymy tabelę do rejestracji i chcemy, aby wiek użytkownika był większy niż 21., Taki rodzaj ograniczenia jest ustawiany przez użytkownika.
Przykład3: Załóżmy, że mamy employee_table z atrybutami takimi jak emp_id, emp_name, job_name, payment, mobile_no. Tutaj mamy ograniczenia, że identyfikator pracownika powinien zawsze zaczynać się od określonych znaków, takich jak' AfterAcademy', a następnie cyframi. Tak więc każdy wpis, który nie spełnia tego ograniczenia, nie będzie akceptowalny.
dziś dowiedzieliśmy się o integralności danych i o tym, jak pomaga to w utrzymaniu integralności danych. Mam nadzieję, że nauczyłeś się czegoś nowego.