Denominazione di un'entità di associazione ricorsiva [chiusa]

0

Per il mio progetto attuale, ho bisogno di creare una tabella di database per memorizzare un'associazione ricorsiva. Ho fatto molte ricerche e ho letto le risposte a domande come Convenzione di denominazione per entità associativa e Come si chiama il nome tabelle di relazione molti-a-molti? , ma non discutono il caso di una relazione ricorsiva.

La mia azienda distribuisce l'inventario e desidera che alcune parti includano automaticamente altre parti su un ordine. Ad esempio, un ordine per un widget avrà automaticamente una guida ai widget automaticamente aggiunta.

Lo schema della tabella sarà fondamentalmente solo due colonne, ciascuna una chiave esterna per la tabella InventoryProduct . La mia lotta è stata nominare questo tavolo e queste colonne. Ho considerato qualcosa del tipo:

InventoryAssociation
--------------------
ParentInventoryProductId : int, FK
ChildInventoryProductId : int, FK

Ma non credo che "InventoryAssociation" sia un nome perfetto per la tabella / entità, né penso che l'associazione tra i due prodotti di inventario sia in realtà una relazione genitore / figlio.

Qualcuno ha suggerimenti per nomi migliori? Grazie!

    
posta Nick 18.09.2014 - 22:56
fonte

1 risposta

2

Esistono modelli migliori per la descrizione di strutture di dati gerarchiche, ad esempio il modello di serie annidato . (Nel tuo caso probabilmente hai bisogno di un identificatore di albero perché vuoi descrivere più alberi.)

Informazioni sulla denominazione. Se non sei sicuro di descrivere una relazione genitore / figlio, allora è meglio descrivere un grafico con nodi e collegamenti. Nel tuo caso i nodi sono i prodotti di inventario e i collegamenti sono le relazioni tra di loro. Quindi userei

InventoryRelationships
--------------------
SourceInventoryProductId : int, FK
TargetInventoryProductId : int, FK

e possibilmente un altro campo per descrivere il tipo di relazione. (Btw, un database grafico come neo4j sarebbe meglio se si volesse lavorare su enormi grafici). Se esiste un solo tipo di relazione. Quindi dovrebbe essere incluso dal nome della tabella.

Attualmente non riesco a trovare un termine migliore in base al quale i prodotti di inventario sono correlati tra loro, ma controllerò le relazioni di collegamento e alcuni altri vocab, forse trovo una soluzione migliore. Nel vocabolario di schema.org esiste una proprietà Prodotto / isAccessoryOrSparePartFor . Quindi forse il

InventoryAccessories
--------------------
InventoryProductId : int, FK
AcessoryInventoryProductId : int, FK

o qualcosa del genere funzionerebbe per te. In caso contrario, nel tuo caso proverò altri vocaboli RDF correlati al business.

    
risposta data 18.09.2014 - 23:54
fonte

Leggi altre domande sui tag