Devo commentare tabelle o colonne nel mio database?

5

Mi piace commentare il mio codice con varie informazioni e penso che la maggior parte delle persone oggi lo faccia mentre scrive del codice.

Ma quando si tratta di tabelle o colonne del database, non ho mai visto nessuno inserire alcuni commenti e, ad essere onesti, non ho nemmeno pensato di cercare commenti lì.

Quindi mi chiedo se alcune persone stanno commentando il loro DB strcuture qui, e se dovrei preoccuparmi di commentare, per esempio quando creo una nuova colonna in una tabella esistente?

    
posta Jako 21.09.2012 - 21:47
fonte

4 risposte

5

Sì, è abbastanza insolito. Questo è principalmente per:

  • Le persone non sanno che è possibile- progressivamente le persone trattano meno con gli RDBMS direttamente e conoscono sempre meno funzioni, preferendo fare tutto sulla base di codice principale (non SQL). Gli utenti ORM, ad esempio, commentano i loro modelli
  • Gli strumenti mostrano raramente i commenti facilmente, tendono a essere sepolti e quindi le persone non li vedono
  • Database ben progettati tendono a essere auto-esplicativi per qualcuno che conosce il "business". La corretta denominazione di tabelle e colonne significa che la maggior parte delle tabelle e delle colonne potrebbe non richiedere commenti: i commenti ridondanti sono negativi; "questo tavolo contiene studenti" come un commento sul tavolo "studenti" è peggio che inutile. I vincoli possono anche rendere ridondanti alcuni commenti (ad esempio "questa colonna deve essere nullo se quella colonna è uguale a 3" può essere implementata utilizzando un vincolo CHECK ei vincoli possono essere facilmente elencati).

Credo che la documentazione del database sia utile; Mi piace la documentazione autogenerata come quella generata da strumenti come SchemaSpy; questi spesso rendono i commenti abbastanza visibili. Tuttavia, la mia esperienza è che la documentazione è utile soprattutto quando si impara il database, alcuni mesi in qualsiasi progetto e conoscerai lo schema a meno che non sia estremamente complesso, quindi i documenti non sono così utili per reference .

    
risposta data 21.09.2012 - 22:17
fonte
2

Totalmente.

Microsoft SQL Server supporta i commenti su entrambe le tabelle e le colonne ed è abbastanza semplice impostarli tramite l'IDE (Microsoft SQL Management Studio). Molti altri database supportano anche i commenti.

Commentare tabelle e colonne è come, se non più critico come codice di commento. Avere una documentazione esterna è ottima, ma è facile dimenticare di aggiornare la documentazione esterna ad ogni cambio. Puoi anche dimenticare di aggiornare il commento di una colonna, ma è più complicato (ed è anche molto più semplice aggiornare il commento di una colonna piuttosto che cercare il posto da aggiornare nella documentazione esterna).

Potresti chiederti perché non vedi troppi commenti. Per lo stesso motivo:

  • La maggior parte dei database è completamente non documentata. Non ci sono commenti. Nessuna documentazione esterna. Niente.

  • La maggior parte dei database non ha vincoli, quindi non si sa mai quali sono i valori che possono essere salvati, e quali valori renderanno l'applicazione basata sul crash del database.

  • La maggior parte dei database non ha indici corretti, chiavi primarie, ecc.

  • La maggior parte dei database non segue alcuna convenzione di denominazione.

  • La maggior parte delle aziende non ha DBA, non ha soldi e non capisce che avere un database di alta qualità e ben gestito è fondamentale per loro.

risposta data 21.09.2012 - 22:03
fonte
1

Solo per aggiungere tutte le risposte di cui sopra.

Quello che faccio è Mantieni le mie descrizioni \ Commenti nel BD, ma perché nessuno guarda lì (o potrebbe non avere accesso) Io uso quei commenti per generare automaticamente un dizionario di dati, che posso quindi mantenere il resto dei miei documenti!

    
risposta data 21.09.2012 - 23:51
fonte
0

Commentare le colonne del database è parte dell'attività di modellazione. Ci sono molti passaggi per preparare un modello di dati dall'idea alla produzione. La descrizione di ciascuna colonna fa parte di quel processo e quasi tutti gli strumenti ERD di prima classe portano avanti i commenti dall'ambiente di modellazione all'ambiente del database fisico. C'è una differenza tra la descrizione della colonna e il commento della colonna. I commenti sono generalmente brevi in cui le descrizioni sono complete e lunghe. Se hai una descrizione, raramente hai bisogno di commenti. È discutibile come quello che dovresti inserire nella descrizione. Parte degli standard del tuo progetto dovrebbe riguardarla nella politica dei metadati.

    
risposta data 21.09.2012 - 22:49
fonte