Relacyjny model danych w systemie DBMS: Concepts & Przykład

⚡ Inteligentne podsumowanie

Model relacyjny przedstawia bazę danych jako zbiór relacji, gdzie każda relacja jest tabelą wierszy i kolumn. Definiuje on podstawowe koncepcje, ograniczenia integralności i operacje aktualizacji, które zapewniają spójność danych relacyjnych i łatwość ich wyszukiwania.

  • 🗃️ Podstawowa idea: Dane są przechowywane jako relacje, a każdy wiersz jest krotką opisującą jeden rzeczywisty obiekt lub relację.
  • 🏷️ Kluczowe terminy: Atrybut, krotka, stopień, kardynalność, dziedzina i klucz relacji wspólnie opisują kształt tabeli.
  • 🛡️ Trzy ograniczenia: Ograniczenia integralności domeny, klucza i referencyjnej sprawiają, że każda relacja jest ważna.
  • 🔑 Tabele łączy kluczy: Klucz podstawowy jednoznacznie identyfikuje wiersz, natomiast klucz obcy odwołuje się do klucza w innej relacji.
  • 🔄 Cztery Operacje: Wstawianie, aktualizowanie, usuwanie i wybieranie działań na relacjach bez naruszania zdefiniowanych ograniczeń.
  • Zasady projektowania: Jedna wartość na komórkę, unikalne nazwy kolumn, brak duplikatów wierszy i wartości pobierane z jednej domeny.
  • 📈 Dlaczego wygrywa: Prostota, niezależność strukturalna, język zapytań wysokiego poziomu i niezależność od danych.

Relacyjny model danych w systemie DBMS

Czym jest model relacyjny?

Model relacyjny (RM) reprezentuje bazę danych jako zbiór relacji. Relacja to nic innego jak tabela wartości. Każdy wiersz w tabeli reprezentuje zbiór powiązanych wartości danych. Te wiersze w tabeli oznaczają obiekt lub relację ze świata rzeczywistego.

Nazwa tabeli i nazwy kolumn pomagają zinterpretować znaczenie wartości w każdym wierszu. Dane są reprezentowane jako zbiór relacji. W modelu relacyjnym dane są przechowywane w postaci tabel. Jednak fizyczne przechowywanie danych jest niezależne od sposobu ich logicznej organizacji.

Model ten zaproponował EF Codd w 1970 r. i nadal stanowi podstawę niemal każdej powszechnie używanej bazy danych. Niektóre popularne systemy zarządzania relacyjnymi bazami danych to:

  • DB2 i Informix Dynamic Server – IBM
  • Oracle i RDB – Oracle
  • Serwer SQL i dostęp – Microsoft

Model relacyjny Concepts w DBMS-ie

  1. Atrybut: Każda kolumna w tabeli. Atrybuty to właściwości definiujące relację, np. Student_Rollno, NAME itd.
  2. Tabele: W modelu relacyjnym relacje są zapisywane w formacie tabeli. Jest ona przechowywana wraz z encjami. Tabela ma dwie właściwości: wiersze i kolumny. Wiersze reprezentują rekordy, a kolumny atrybuty.
  3. Krotka: To nic innego jak pojedynczy wiersz tabeli zawierający pojedynczy rekord.
  4. Schemat relacji: Schemat relacji reprezentuje nazwę relacji wraz z jej atrybutami.
  5. Stopień: Całkowita liczba atrybutów w relacji nazywana jest stopniem relacji.
  6. Kardynalność: Łączna liczba wierszy w tabeli.
  7. Kolumna: Kolumna reprezentuje zbiór wartości dla określonego atrybutu.
  8. Instancja relacji: Instancja relacji to skończony zbiór krotek w systemie RDBMS. Instancje relacji nigdy nie mają duplikatów krotek.
  9. Klucz relacji: Każdy wiersz ma jeden, dwa lub wiele atrybutów, które nazywane są kluczem relacji.
  10. Domena atrybutów: Każdy atrybut ma pewną zdefiniowaną wartość i zakres, który jest znany jako domena atrybutu.

Koncepcje modelu relacyjnego zilustrowane w tabeli

Mając już słownictwo, następnym zmartwieniem jest utrzymanieping dane w tych relacjach są ważne, co jest zadaniem ograniczeń integralności.

Relacyjny Integrity ograniczenia

Ograniczenia integralności relacyjnej w systemach DBMS odnoszą się do warunków, które muszą być spełnione, aby relacja była prawidłowa. Te ograniczenia relacyjne wynikają z reguł panujących w mini-świecie reprezentowanym przez bazę danych.

Istnieje wiele rodzajów ograniczeń integralności. Ograniczenia dotyczące systemu zarządzania relacyjnymi bazami danych można podzielić na trzy główne kategorie:

  1. Ograniczenia domeny
  2. Kluczowe ograniczenia
  3. Referencyjne Integrity ograniczenia

Ograniczenia domeny

Ograniczenia domeny mogą zostać naruszone, jeśli wartość atrybutu nie pojawia się w odpowiedniej domenie lub nie ma właściwego typu danych.

Ograniczenia domeny określają, że w obrębie każdej krotki wartość każdego atrybutu musi być atomowa i pochodzić z odpowiedniej domeny. Domeny są określane jako typy danych, które obejmują typy standardowe, takie jak liczby całkowite, liczby rzeczywiste, znaki, wartości logiczne i ciągi znaków o zmiennej długości.

Przykład:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Przedstawiony przykład demonstruje tworzenie ograniczenia domeny w taki sposób, aby CustomerName nie było równe NULL.

Kluczowe ograniczenia

Atrybut, który może jednoznacznie zidentyfikować krotkę w relacji, nazywany jest kluczem tabeli. Wartość atrybutu dla różnych krotek w relacji musi być unikalna.

Przykład:

W podanej tabeli CustomerID jest kluczowym atrybutem tabeli Customer. Najprawdopodobniej ma jeden klucz dla jednego klienta; CustomerID = 1 dotyczy tylko CustomerName.GooglePełne omówienie różnych typów kluczy znajduje się w przewodniku Klucze DBMS.

Identyfikator klienta Nazwa klienta Status
1 Google Aktywna
2 Amazon Aktywna
3 Apple Nieaktywny

Referencyjne Integrity ograniczenia

Ograniczenia integralności referencyjnej w systemach zarządzania bazami danych (DBMS) opierają się na koncepcji kluczy obcych. Klucz obcy to ważny atrybut relacji, do którego należy się odwoływać w innych relacjach. Ograniczenie integralności referencyjnej występuje, gdy relacja odwołuje się do atrybutu klucza innej lub tej samej relacji. Ten element klucza musi istnieć w tabeli, do której się odwołuje.

Przykład:

Integralność referencyjna pomiędzy Klientem a Billrelacje

W powyższym przykładzie mamy dwie relacje: Klient i Billing.

Krotka dla CustomerID = 1 jest odwoływana dwukrotnie w relacji Billing. Więc wiemy, że „CustomerName”Google” ma kwotę rozliczeniową 300 dolarów.

Operacje w modelu relacyjnym

W modelu relacyjnej bazy danych wykonywane są cztery podstawowe operacje aktualizacji: wstawianie, aktualizowanie, usuwanie i zaznaczanie.

  • Insert służy do wstawiania danych do relacji.
  • Delete służy do usuwania krotek z tabeli.
  • Modyfikuj umożliwia zmianę wartości niektórych atrybutów w istniejących krotkach.
  • Opcja Wybierz umożliwia wybranie określonego zakresu danych.

Za każdym razem, gdy wykonywana jest jedna z tych operacji, ograniczenia integralności określone w schemacie relacyjnej bazy danych nie mogą zostać naruszone.

wstawka Operacja

Operacja wstawiania zwraca wartości atrybutów nowej krotki, która powinna zostać wstawiona do relacji.

Operacja wstawiania polegająca na dodaniu nowej krotki do relacji

Aktualizacja Operacja

Jak widać w poniższej tabeli relacji, nazwa klienta „Apple” została zaktualizowana z Nieaktywnej na Aktywną.

Operacja aktualizacji zmieniająca wartość statusu w krotce

Usunięcia Operacja

Aby określić usunięcie, warunek na atrybutach relacji wybiera krotkę do usunięcia.

Operacja usuwania krotki z relacji

W powyższym przykładzie CustomerName „Apple” został usunięty z tabeli.

Operacja usuwania może naruszyć integralność referencyjną, jeśli usuwana krotka jest odwoływana do kluczy obcych z innych krotek w tej samej baza danych.

Wybierz Operacja

Wybierz operację wybierającą konkretną krotkę

W powyższym przykładzie „NazwaKlienta”Amazon" jest zaznaczone.

Model relacyjny a modele hierarchiczne i sieciowe

Model relacyjny zastąpił dwa wcześniejsze podejścia, a kontrast ten wyjaśnia, dlaczego stał się dominujący. Poniższa tabela zestawia te trzy podejścia.

WYGLĄD Model relacyjny Model hierarchiczny Model sieciowy
Structure Tabele (relacje) Drzewo, rodzic do dziecka Wykres, wiele do wielu
Dostęp do danych Deklaratywne, według wartości Nawigacyjny, według ścieżki Nawigacja za pomocą wskaźnika
Relacje Klucz obcy Połączenia rodzic-dziecko Zestawy i wskaźniki
Język zapytań SQL Kodeks proceduralny Kodeks proceduralny
Elastyczność Wysoki Niski Średni

Ponieważ model relacyjny adresuje dane za pomocą wartości, a nie poprzez nawigację po fizycznych powiązaniach, język wysokiego poziomu, taki jak SQL można wyrazić zapytanie nie wiedząc, jak przechowywane są dane.

Najlepsze praktyki tworzenia modelu relacyjnego

  • Dane należy przedstawić jako zbiór relacji.
  • Każda relacja powinna być wyraźnie przedstawiona w tabeli.
  • Wiersze powinny zawierać dane o wystąpieniach jednostki.
  • Kolumny muszą zawierać dane o atrybutach jednostki.
  • Komórki tabeli powinny zawierać pojedynczą wartość.
  • Każdej kolumnie należy nadać unikalną nazwę.
  • Żadne dwa rzędy nie mogą być identyczne.
  • Wartości atrybutu powinny pochodzić z tej samej domeny.

Zalety modelu relacyjnej bazy danych

  • Prostota: Relacyjny model danych w systemie DBMS jest prostszy niż model hierarchiczny i sieciowy.
  • Niezależność strukturalna: Relacyjna baza danych obsługuje wyłącznie dane, a nie ich strukturę, co może poprawić wydajność modelu.
  • Łatwy w użyciu: Model relacyjny jest łatwy w użyciu, ponieważ tabele składające się z wierszy i kolumn są naturalne i proste do zrozumienia.
  • Możliwość zapytania: Umożliwia językowi zapytań wysokiego poziomu, np. SQL, uniknięcie skomplikowanej nawigacji w bazie danych.
  • Niezależność danych: Strukturę relacyjnej bazy danych można zmienić bez konieczności zmiany jakiejkolwiek aplikacji.
  • Skalowalny: Bazę danych można powiększać w celu zwiększenia jej użyteczności, zwiększając liczbę rekordów lub wierszy i liczbę pól.

Wady modelu relacyjnego

  • Niewiele relacyjnych baz danych ma ograniczenia długości pól, których nie można przekroczyć.
  • Bazy danych relacyjnych mogą czasami stawać się bardziej złożone, ponieważ ilość danych rośnie, a relacje między elementami danych stają się bardziej skomplikowane.
  • Złożone systemy relacyjnych baz danych mogą prowadzić do odizolowanych baz danych, w których nie da się udostępniać informacji pomiędzy systemami.

FAQ

Stopień to liczba atrybutów, czyli kolumn, w relacji. Kardynalność to liczba krotek, czyli wierszy. Stopień opisuje szerokość tabeli, a kardynalność jej wysokość.

Relacja to zbiór matematyczny, który nie zawiera zduplikowanych elementów. Klucz podstawowy wymusza to, więc każda krotka jest jednoznacznie zidentyfikowana i nie ma dwóch identycznych wierszy.

Modele sztucznej inteligencji są często trenowane na funkcjach pobieranych z tabel relacyjnych za pomocą łączeń i agregacji SQL. Sztuczna inteligencja potrafi również przetłumaczyć proste pytanie w języku angielskim na język SQL, dzięki czemu użytkownicy bez wiedzy technicznej mogą bezpośrednio odpytywać relacje.

Tak. Na podstawie przykładowych danych lub wymagań, AI może zasugerować tabele, klucze podstawowe i obce oraz postać normalną. Dane wyjściowe nadal wymagają weryfikacji, ponieważ normalizacja zależy od reguł biznesowych, których AI może nie znać.

W praktyce są one używane zamiennie. Formalnie relacja to zbiór krotek bez kolejności i duplikatów, podczas gdy tabela to jej fizyczny obraz, który może pokazywać wiersze w kolejności przechowywania.

Podsumuj ten post następująco: