Ho una relazione molti per molti: tabelle Client e Broker (solo un esempio). Ovviamente, ogni cliente può avere più broker e ciascun broker può avere più clienti. Quella che è considerata la convenzione di denominazione corretta per la tabella intersect .... è ClientBroker ...?Corretta convenzione di denominazione delle tabelle per una tabella intersect molti a molti
risposta
Di solito uso i nomi di entrambe le tabelle di unione.
Quindi, nel tuo caso, ClientBroker.
ho visto spesso il formato "Client_Broker"
preferirei "Clients_Brokers" (pluralizzanti entrambi i nomi per indicare molti-a-molti).
Ho votato a favore da quando qualcun altro l'ha votato. Penso che questa convenzione sia soddisfacente e spesso necessaria. Alcune librerie ORM fornite da framework MVC hanno una convenzione di denominazione per le tabelle che gestiscono automaticamente le relazioni.Conosco almeno 3 framework PHP che usano il nome plurale e la separazione del carattere di sottolineatura per nomi di tabelle pivot molti-a-molti come questo. – wpjmurray
Questo è il vecchio conflitto di denominazione della tabella singolare rispetto al plurale (esteso qui per unire le tabelle). Dai un nome al tavolo al singolare - ad es. "Cliente" perché ogni record rappresenta un cliente? O al plurale perché il tavolo stesso contiene molti "clienti"? È una questione di opinione, non penso che ci sia un motivo per sviare questo. – froadie
Preferisco distinguere tra tabelle intersect e tabelle transazionali reali. Quindi, li interrompo con Mappa. Quindi sarebbe Client_Broker_Map o ClientBrokerMap.
Alcuni programmatori non piace pluralizzando nomi di tabella per un paio di motivi:
- rompe la "è una" regola, significa che se si dispone di una tabella chiamata 'utente', allora ogni record nella tabella "è un" oggetto utente. Questo segue le regole di orientamento agli oggetti.
- Una classe Modello viene in genere denominata per la tabella da cui provengono i dati. Quindi, se si dispone di un modello Utente, il record rappresentato dal modello si trova nella tabella Utente
Questo ha molto senso se si ha il controllo dell'intero db e livelli aziendali del progetto. Tuttavia, molti framework ora hanno librerie ORM che facilitano il lavoro con tabelle e relazioni. Queste librerie ORM hanno spesso una sintassi di denominazione che deve essere seguita per consentire alla libreria ORM di eseguire la maggior parte del lavoro pesante.
Ad esempio, utilizzo il framework Kohana MVC per PHP che offre una libreria ORM. L'ORM suggerisce la pluralizzazione dei nomi delle tabelle, l'uso di tutti i nomi in lettere minuscole e l'uso dei caratteri di sottolineatura per i nomi di tabelle molti-a-molti. Quindi, per il tuo esempio, avresti le seguenti tabelle: client, broker e brokers_clients (l'ORM suggerisce di ordinare alfabeticamente i nomi delle tabelle per le tabelle many-to-many). Quando si creano modelli per queste tabelle (estensione del modello ORM), si utilizza il valore singolare del nome della tabella, quindi il modello per i client sarebbe Client. L'ORM gestisce la conversione di pluralizzazione. L'ORM di Kohana utilizza anche una libreria di flessioni, pertanto i valori di pluralizzazione insoliti vengono gestiti correttamente. Ad esempio, una tabella denominata "categorie" può utilizzare il nome del modello "Categoria". Infine, se si dispone già di una struttura DB implementata ma si desidera utilizzare la libreria ORM, è possibile sovrascrivere la sintassi di denominazione della tabella ORM predefinita e assegnargli il nome della tabella che si desidera utilizzare.
Sono nel bel mezzo di un progetto in cui sto ricevendo nomi di tabelle e campi utilizzando DESCRIBE. Vorrei usare Client_x_Broker in modo da poter trovare facilmente una tabella e ottenere i campi usando _x_
come criterio, una stringa che non si verificherà di certo in modo naturale nel codice o nei set di dati, ma non nella mia comunque, ed è facile da battere per trovare i nomi dei singoli tavoli. Inoltre, fintanto che sono coerente, posso ottenere molte informazioni solo dal nome della tabella inclusi i nomi delle chiavi primarie. Ci scusiamo per il fatto che, essendo in ritardo eb, andando avanti. :)
Probabilmente andrò con questo. Considerando sia la tabella che i nomi dei modelli. 'Modello ClientsBrokers'? Non così male, probabilmente. E quando lo istanziate? 'Clients_brokers'? Quale sarebbe la forma plurale? 'ClientBrokerMap' è leggermente migliore. Ma ancora meglio è "ClientBrokerRelationship", se me lo chiedi. E 'ClientXBroker' è un buon modo per contrattare questo. –
- 1. Tabella di mappatura molti-a-molti
- 2. SQLAlchemy Relazione molti-a-molti su una tabella singola
- 3. Convenzioni di denominazione in generato molti-a-molti tabella utilizzando il codice EF4 CTP4 primo approccio
- 4. Rails (ActiveRecord) tabella molti a molti
- 5. SQL - molti-a-molti tabella primaria chiave
- 6. Tabelle di associazione da molti a molti - È consuetudine inserire colonne aggiuntive in queste tabelle?
- 7. molti-a-molti e molti-a-molti incroci
- 8. MySQL richiede una chiave primaria per una tabella di collegamenti molti-a-molti?
- 9. Come organizzare una relazione molti a molti in MongoDB
- 10. JPA persiste molti a molti
- 11. Disegno di relazione molti a molti - Disegno tabella intersezione
- 12. Come specificare uno schema per una tabella di relazioni molti-a-molti?
- 13. SQL concatenazione molti a molti
- 14. 2 uno-a-molti anziché 1 molti-a-molti
- 15. come interrogare molti a molti?
- 16. Verifica relazione molti a molti in NHibernate
- 17. SQLAlchemy molti-a-molti sui tavoli dichiarativi
- 18. One-a-molti con Join Tabella
- 19. Conversione di una relazione molti-a-molti a uno-a-molti in PostgreSQL
- 20. Querying molti a molti e condizionale Dove
- 21. gestire molti-a-molti
- 22. Entity Framework codice 4.3 primo multiplo molti a molti utilizzando le stesse tabelle
- 23. Convenzione di denominazione corretta per un tipo di delegato .NET?
- 24. MS SQL che crea relazioni molti-a-molti con una tabella di giunzione
- 25. Visualizzazione di un campo aggiuntivo di relazione molti a molti all'interno di una tabella
- 26. Linq to Sql - Molti a molti - CRUD
- 27. Eloquente/laravel tre vie molti-a-molti
- 28. Entity Framework - Interrogazione una relazione molti-a-molti tabella di relazioni
- 29. Devo utilizzare gli indici per una tabella di database molti-a-molti?
- 30. aggiornamento con molti-a-molti
+1: la punteggiatura deve essere usata con parsimonia, e in questo caso aiuta a distinguere i due lati. –