Co to jest dziedziczenie po jednej tabeli?

Dziedziczenie pojedynczej tabeli to metoda kodowania, w której dziedziczenie zorientowane obiektowo, które zwykle nie jest zawarte w programie bazy danych, jest emulowane dla relacyjnej bazy danych. Korzystając z tego, użytkownik będzie mógł zobaczyć relacje między wieloma różnymi etykietami w jednej tabeli, ułatwiając użytkownikom trawienie lub dodawanie danych. Jeśli istnieje wiele pól o wartości null lub jeśli istnieje duża liczba relacji, użycie dziedziczenia pojedynczej tabeli może zwrócić nieoczekiwane wyniki, które zmylą nawet zaawansowanych projektantów baz danych. W przypadku tego schematu dziedziczenia bazy danych pojedyncza tabela przedstawia dane w sposób hierarchiczny.

Relacyjne bazy danych to bazy danych, które łączą jedną grupę danych z drugą i zazwyczaj mają mapy hierarchiczne. Na przykład, jeśli ktoś szuka książki w relacyjnej bazie danych, zwykle znajduje pola na autora, gatunek, pierwszą literę książki, a następnie listę książek. W normalnych przypadkach każde pole ma swoją własną tabelę, a tabele rzadko wchodzą w interakcje poza mediacją użytkownika z jednego pola do drugiego.

W dziedziczeniu jednotabelowym wszystkie pola są wyświetlane w jednej tabeli. Jest to o wiele łatwiejsze do obejrzenia i łatwiejsze do przesiania. Wszystkie dane wyświetlane w tabeli biegną od góry do dołu. Oznacza to, że autor byłby na szczycie pojedynczego stołu, a pierwsza litera książki na dole.

Tworzenie modelu dziedziczenia pojedynczej tabeli może być początkowo trudne, chyba że projektant bazy danych jest zaznajomiony z kodowaniem. Tworzenie mapy z bazy danych do oddzielnych obiektów w schemacie programowania zorientowanego obiektowo zazwyczaj to robi. Musi być kilka klas, w przeciwnym razie nie zgrupuje to wszystkiego w jedną tabelę.

Dwa rodzaje problemów mogą uniemożliwić prawidłowe działanie dziedziczenia pojedynczej tabeli. Jednym z nich jest sytuacja, w której obiekty reprezentują wartość pustą. W takim przypadku wartość null zostanie posypana cennymi danymi w tabeli dziedziczenia. Oznacza to, że w tabeli będą wyświetlane odpowiednie informacje, ale co kilka wierszy lub niezależnie od tego, jak często występują wartości null, słowo „null” pojawi się obok lub pod inną wartością.

Jeśli mapowany obiekt ma wiele hierarchii, zwłaszcza hierarchii, które nie są podobne, może to również powodować problem z dziedziczeniem pojedynczej tabeli. Przy wielu hierarchiach istnieje szansa, że ​​projektant może pominąć jedną, powodując błąd relacyjny. Jeśli hierarchie nie są podobne, relacyjna baza danych może mieć problemy ze zrozumieniem mapowania dokonanego między zestawami danych.