Che cos’è l’ereditarietà a tabella singola?

L’ereditarietà a tabella singola è un metodo di codifica in cui l’ereditarietà orientata agli oggetti, che di solito non è inclusa in un programma di database, viene emulata per un database relazionale. Usando questo, l’utente sarà in grado di vedere la relazione tra molte etichette diverse all’interno di una singola tabella, rendendo più facile per gli utenti digerire o aggiungere ai dati. Se sono presenti molti campi null o se è presente un numero elevato di relazioni, l’utilizzo dell’ereditarietà a tabella singola potrebbe restituire risultati imprevisti che confonderanno anche i progettisti di database avanzati. Con questo schema di ereditarietà del database, la singola tabella mostra i dati in modo gerarchico.

I database relazionali sono database che mettono in relazione un gruppo di dati con un altro e in genere hanno mappe gerarchiche. Ad esempio, se qualcuno sta cercando un libro attraverso un database relazionale, in genere troverà i campi per autore, genere, prima lettera del libro e poi un elenco di libri. In casi normali, ogni campo ha la propria tabella e le tabelle raramente interagiscono oltre a mediare l’utente da un campo all’altro.

Nell’ereditarietà a tabella singola, tutti i campi vengono visualizzati su una tabella. Questo è molto più facile da guardare e più facile da setacciare. Tutti i dati visualizzati nella tabella vanno dall’alto verso il basso. Ciò significa che l’autore sarebbe in cima alla singola tabella e la prima lettera del libro sarebbe in fondo.

La creazione di un modello di ereditarietà a tabella singola può essere inizialmente difficile, a meno che il progettista del database non abbia familiarità con la codifica. La creazione di una mappa dal database per separare gli oggetti in uno schema di programmazione orientato agli oggetti in genere fa questo. Devono essere presenti più classi, altrimenti questo non raggrupperà tutto in un’unica tabella.

Due tipi di problemi potrebbero impedire il corretto funzionamento dell’ereditarietà a tabella singola. Uno è se gli oggetti rappresentano un valore nullo. Se ciò si verifica, il valore null verrà spruzzato con i dati importanti nella tabella di ereditarietà. Ciò significa che la tabella visualizzerà le informazioni rilevanti, ma ogni poche righe, o comunque spesso si verificano i valori null, la parola “null” apparirà vicino o sotto un altro valore.

Se l’oggetto mappato ha molte gerarchie, specialmente gerarchie non simili, anche questo può causare un problema per l’ereditarietà di una singola tabella. Con molte gerarchie, c’è la possibilità che il progettista ne manchi una, causando un errore relazionale. Se le gerarchie non sono simili, il database relazionale potrebbe avere problemi a comprendere la mappatura effettuata tra i set di dati.