Temat: Zasady integralności danych i sposoby ich zapewnienia
Integralność danych to kluczowe pojęcie w bazach danych. Oznacza to, że dane w bazie powinny być poprawne, spójne i godne zaufania. Bez zachowania integralności dane mogą stać się błędne lub sprzeczne, co prowadzi do problemów w aplikacjach, które z nich korzystają. Aby utrzymać integralność danych, stosuje się różne zasady i mechanizmy kontrolne w systemie zarządzania bazą danych.
W tej sekcji omówimy, jakie są zasady integralności danych i jak można je zapewnić w bazach danych.
Typy Integralności Danych
Integralność danych można zapewnić na kilka sposobów, w tym przez trzy główne rodzaje integralności:
1. Integralność Encji (Entity Integrity)
Integralność encji oznacza, że każda tabela w bazie danych powinna mieć klucz główny (PRIMARY KEY), który jednoznacznie identyfikuje każdy wiersz. Klucz główny nie może mieć wartości NULL i musi być unikalny, co oznacza, że nie mogą istnieć dwa wiersze o tym samym kluczu głównym.
Przykład: W tabeli uczniowie kolumna id jest kluczem głównym. Każdy uczeń ma unikalne id, co gwarantuje, że nie ma dwóch uczniów o tym samym identyfikatorze.
CREATE TABLE uczniowie (
id INT PRIMARY KEY AUTO_INCREMENT,
imie VARCHAR(50),
nazwisko VARCHAR(50)
);
2. Integralność Referencyjna (Referential Integrity)
Integralność referencyjna dotyczy powiązań między tabelami. Oznacza to, że jeśli tabela ma klucz obcy (FOREIGN KEY), to wartość w tej kolumnie musi istnieć w tabeli, do której się odnosi. Dzięki temu relacje między tabelami są spójne i nie ma odwołań do nieistniejących wierszy.
Przykład: W tabeli oceny kolumna uczen_id jest kluczem obcym, który odnosi się do kolumny id w tabeli uczniowie. To oznacza, że nie możemy przypisać oceny uczniowi, który nie istnieje w tabeli uczniowie.
CREATE TABLE oceny (
id INT PRIMARY KEY AUTO_INCREMENT,
ocena DECIMAL(3, 2),
uczen_id INT,
FOREIGN KEY (uczen_id) REFERENCES uczniowie(id)
);
3. Integralność Atrybutów (Domain Integrity)
Integralność atrybutów oznacza, że wartości w kolumnach muszą być zgodne z określonym typem danych i regułami. Na przykład kolumna może być ograniczona do przyjmowania tylko określonych wartości, takich jak liczby całkowite, tekst czy daty.
Przykład: Kolumna ocena w tabeli oceny może być ograniczona do przyjmowania wartości od 1 do 6, aby zapewnić, że wprowadzone dane są zgodne z zakresem ocen w szkole.
CREATE TABLE oceny (
id INT PRIMARY KEY AUTO_INCREMENT,
ocena DECIMAL(3, 2) CHECK (ocena >= 1 AND ocena <= 6),
uczen_id INT
);
Mechanizmy Zapewniające Integralność Danych
Aby zapewnić integralność danych, stosuje się kilka mechanizmów:
1. Klucze Główne i Obce
- Klucz główny (PRIMARY KEY): Gwarantuje, że każdy wiersz w tabeli jest unikalny.
- Klucz obcy (FOREIGN KEY): Zapewnia spójność danych między tabelami, tworząc powiązania między nimi.
2. Ograniczenia (Constraints)
- NOT NULL: Zapewnia, że kolumna nie może mieć wartości
NULL, co jest ważne, gdy dana wartość musi być obecna. - UNIQUE: Gwarantuje, że wszystkie wartości w kolumnie są unikalne.
- CHECK: Pozwala określić warunki, jakie muszą być spełnione przez wartości w kolumnie (np. zakres ocen).
3. Transakcje
Transakcje są używane do zapewnienia spójności danych, gdy operacja składa się z kilku kroków. Transakcja zapewnia, że wszystkie operacje są wykonane pomyślnie albo wszystkie zostaną cofnięte, jeśli wystąpi błąd. Mechanizm ten jest znany jako ACID (Atomicity, Consistency, Isolation, Durability).
| Testy przypięte do lekcji | |
|---|---|
| Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |