Qual è il nome di un modello di progettazione del database con tabelle che definiscono il significato dei dati in altre tabelle? [chiuso]

2

Un ingegnere informatico esperto mi ha descritto un modello di progettazione di database in cui esistono tre tipi di tabelle: tabelle transazionali, tabelle associative e tabelle di definizione / tassonomia dei dati.

Come descritto, una tabella transazionale può memorizzare informazioni su un utente, un prodotto, ecc. Ad esempio, la tabella USER potrebbe avere colonne id, lastname, firstname, username, password, ecc. La tabella PRODUCT potrebbe avere id colonne , descrizione, prezzo, ecc.

Una tabella associativa viene utilizzata per creare relazioni molti-a-molti tra altre tabelle. Un esempio potrebbe essere una tabella per tenere traccia degli articoli nel carrello degli acquisti di ciascun utente. Potrebbe avere colonne product_id e user_id.

Una tabella di definizione dei dati contiene informazioni sulla definizione di colonne in altre tabelle. Ad esempio, potrebbe esistere una tabella per gli elenchi di algoritmi di hashing della password utilizzati per tutta la durata del database e la tabella USER potrebbe avere una colonna aggiuntiva come password_definition che punta a questa tabella. In questo modo, non aggiungiamo colonne come password_md5, password_sha256, password_hmac, ecc.

Il mio esempio è ideato solo per aiutare a descrivere questo modello. Non sto cercando consigli sull'esempio, ma informazioni sul modello di progettazione illustrato e in particolare sull'utilizzo di una tabella per descrivere i dati in un'altra tabella.

Questo tipo di progettazione di database ha un nome? Ci sono termini migliori per questi tipi di tabelle? Esistono best practice consolidate per quando dovrebbe o non dovrebbe essere utilizzato?

    
posta Doug Anger 02.03.2017 - 23:09
fonte

2 risposte

2

Le tabelle delle transazioni e le tabelle di associazione rappresentano un'implementazione tipica di un modello di relazione entità.

Le tabelle che descrivono i dati in altre tabelle contengono metadati, ovvero dati su dati. Questo è meno comune. Di solito quando si parla di metadati, si pensa innanzitutto alle informazioni che il database gestisce. Ma nel tuo disegno lo estendi con i tuoi metadati che rendono la cosa completa più flessibile.

Questo modello di progettazione è chiamato mappatura dei metadati .

    
risposta data 03.03.2017 - 00:35
fonte
1

Hai alcune risposte relative alla mappatura relazionale degli oggetti. Credo che quello che descrivi sia solo un cosiddetto dizionario dei dati. link

    
risposta data 03.03.2017 - 07:28
fonte

Leggi altre domande sui tag