Database
 sql >> Baza danych >  >> RDS >> Database

Model relacyjny

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ą.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wizualizacja danych

  2. Niespodzianki i założenia dotyczące wydajności:DATEDIFF

  3. Pytania do wywiadu z inżynierem danych w Pythonie

  4. Opcje dostrajania wydajności bazy danych SQL Azure

  5. Model bazy danych dla usługi taksówkowej