Model relacyjny jest najpopularniejszym z logicznych modeli danych i opiera się na bazach danych SQL.
Model relacyjny opiera się na dwóch prostych koncepcjach:
- stoły
- relacje
Model relacyjny sięga roku 1969 i prac Edgara F. Codda, angielskiego informatyka. Chociaż jako programiści jesteśmy przyzwyczajeni do patrzenia z ciekawością na nowe lśniące rzeczy, technologia, która może być kluczowa we wszystkim, co dotyczy komputerów przez 50 lat, jest zdecydowanie warta poznania.
Fakt, że model opiera się na tabelach sprawia, że jest on bardzo intuicyjny w użyciu, ponieważ jesteśmy przyzwyczajeni do używania tabel do organizowania rzeczy. Pomyśl na przykład o arkuszu kalkulacyjnym Excel.
W przypadku baz danych opartych na SQL, takich jak PostgreSQL, Oracle, MySQL, SQLite i MS SQL Server i wielu innych, dane analizowane za pomocą modelu ER można modelować za pomocą modelu relacyjnego i niemal natychmiast przekształcić do formatu bazy danych SQL, który może być uważane za realną implementację modelu relacyjnego, ale porozmawiamy o tym w innych postach.
W tym poście chcę opowiedzieć o teorii i koncepcjach, na których opiera się model relacyjny, nie wyrażonych w terminach matematycznych, ale o tym, co oznacza w praktyce.
Jeśli jesteś studentem, może się okazać, że to, co tutaj piszę, nie jest tym, co jest napisane w twoim podręczniku, ale może łatwiej ci go przeczytać, aby zrozumieć bardziej formalne koncepcje wyrażone w twoim materiale do nauki.
Tabele
W modelu relacyjnym tabela to zbiór elementów.
Jest zorganizowany w rzędy i kolumny:
Imię | Wiek |
---|---|
Flavio | 36 |
Roger | 7 |
Syd | 6 |
Krotki
Każdy wpis w tabeli nazywa się krotką . Możesz także użyć terminów nagraj lub wiersz .
Krotka reprezentuje wiersz tabeli, tak:
Flavio | 36 |
Atrybuty
Atrybut to pojedynczy element w krotce.
W tym przykładzie:
Flavio | 36 |
„Flavio” to atrybut. 36 to kolejny atrybut.
Kriki są unikalne
Każda krotka w tabeli jest unikalna.
W modelu relacyjnym nie możemy mieć zduplikowanych danych, co oznacza, że każdy wiersz w tabeli musi być inny w co najmniej jednym atrybucie.
Klucz relacji
Tym, co zapewnia niepowtarzalność krotki, jest klucz relacji .
Klucz to jeden atrybut, który musi jednoznacznie identyfikować krotka.
Jeśli klucz relacji jest zestawem atrybutów, musi być nie nadmiarowy . Oznacza to, że jeśli usuniemy jeden z atrybutów klucza, klucz nie może zagwarantować jego unikalności.
Jeśli można określić więcej niż jeden klucz, jeden z nich zostanie zidentyfikowany jako klucz podstawowy .
Ograniczenie integralności klucza
Kluczowe atrybuty dowolnej krotki w tabeli nie mogą nigdy być puste i nie może nigdy się powtarzać .
Mając klucz, musimy być w stanie wskazać konkretną krotkę/wiersz bez dwuznaczności.
Ograniczenia domeny
Każdy atrybut ma zasady określające, jaką wartość może posiadać .
Jeśli zdecydujemy się na przechowywanie liczb, nie możemy na przykład przechowywać ciągów. I możemy zdecydować, aby nie przechowywać ciągów dłuższych niż 10 znaków dla nazw.
Możemy również nazwać ten typ .
Ograniczenie integralności referencyjnej
Jeśli tabela zawiera odniesienie do tabeli dodatkowej lub innych krotek w tej samej tabeli, musimy przestrzegać reguł, które uniemożliwiają przerwanie odwołania.
W szczególności musimy unikać zerwania odniesienia poprzez:
- unikanie usuwania lub edytowania klucza podstawowego rekordu, na który wskazujemy, w drugiej tabeli.
- unikaj wstawiania nowego rekordu z nieistniejącym kluczem do wskazania w innej tabeli.
- unikaj zmiany klucza rekordu, na który wskazujemy, bez upewniania się, że nowy klucz istnieje w drugiej tabeli.
DBMS (system zarządzania bazą danych) wdroży środki, które pomogą nam wdrożyć integralność referencyjną.