Devo comentar tabelas ou colunas no meu banco de dados?

5

Eu gosto de comentar meu código com várias informações, e acho que a maioria das pessoas hoje em dia faz isso enquanto escreve algum código.

Mas quando se trata de tabelas ou colunas de banco de dados, nunca vi alguém definir alguns comentários e, para ser honesto, nem sequer penso em procurar comentários.

Então, eu estou querendo saber se algumas pessoas estão comentando sua estrutura do banco de dados aqui, e se eu deveria me preocupar em comentar, por exemplo, quando eu crio uma nova coluna para uma tabela existente?

    
por Jako 21.09.2012 / 21:47
fonte

4 respostas

5

Sim, é bastante incomum. Isso é principalmente para:

  • As pessoas não sabem que é possível - progressivamente as pessoas lidam menos com RDBMSs diretamente e conhecem menos e menos recursos, preferindo fazer tudo na base de código principal (não-SQL). Usuários de ORM, por exemplo, comentam seus modelos
  • As ferramentas raramente mostram os comentários com facilidade, elas tendem a ser enterradas e, assim, as pessoas não as veem
  • Bancos de dados bem projetados tendem a ser autoexplicativos para alguém que conhece o "negócio". A nomenclatura adequada da tabela e da coluna significa que a maioria das tabelas e colunas pode não precisar de comentários - os comentários redundantes são ruins; "esta tabela contém estudantes" como um comentário sobre a tabela "estudantes" é pior do que inútil. As restrições também podem tornar alguns comentários redundantes (ou seja, "esta coluna deve ser nula se essa coluna for igual a 3" pode ser implementada usando uma restrição CHECK e as restrições podem ser facilmente listadas).

Eu acredito que a documentação do banco de dados é útil; Eu gosto de documentação gerada automaticamente, como a gerada por ferramentas como o SchemaSpy; eles geralmente tornam os comentários bastante visíveis. No entanto, minha experiência é que a documentação é mais útil ao aprender o banco de dados - alguns meses em qualquer projeto e você saberá o esquema de cor, a menos que seja extremamente complexo, portanto, documentos não são tão úteis para referência .

    
por 21.09.2012 / 22:17
fonte
2

Totalmente.

O Microsoft SQL Server suporta comentários em tabelas e colunas e é muito fácil defini-los através do IDE (Microsoft SQL Management Studio). Muitos outros bancos de dados também suportam comentários.

O comentário de tabelas e colunas é, se não mais crítico, como código de comentários. Ter documentação externa é excelente, mas é fácil esquecer de atualizar a documentação externa a cada alteração. Você também pode esquecer de atualizar o comentário de uma coluna, mas é mais complicado (e também é muito mais fácil atualizar o comentário de uma coluna do que procurar pelo local para atualizar na documentação externa).

Você pode se perguntar por que não vê muitos comentários. Pela mesma razão que:

  • A maioria dos bancos de dados é completamente não documentada. Sem comentários. Nenhuma documentação externa. Nada.

  • A maioria dos bancos de dados não tem restrições, portanto, você nunca sabe quais são os valores que podem ser salvos e quais valores farão com que o aplicativo dependa do travamento do banco de dados.

  • A maioria dos bancos de dados não possui índices corretos, chaves primárias, etc.

  • A maioria dos bancos de dados não segue nenhuma convenção de nomenclatura.

  • A maioria das empresas não tem DBAs, não tem dinheiro e não entende que ter um banco de dados de alta qualidade e bem mantido é essencial para eles.

por 21.09.2012 / 22:03
fonte
1

Apenas para adicionar todas as boas respostas acima.

O que eu faço é Manter minhas descrições \ Comentários no BD, mas como ninguém olha para elas (ou pode não ter acesso) eu uso esses comentários para gerar automaticamente um dicionário de dados, que eu posso manter com o resto dos meus documentos!

    
por 21.09.2012 / 23:51
fonte
0

O comentário de colunas do banco de dados faz parte da tarefa de modelagem. Há muitas etapas para preparar um modelo de dados desde o conceito até a produção. Descrever cada coluna faz parte desse processo e quase todas as ferramentas de ERD de primeira classe levarão os comentários do ambiente de modelagem para o ambiente de banco de dados físico. Há uma diferença entre a descrição da coluna e o comentário da coluna. Os comentários geralmente são curtos, onde as descrições são abrangentes e longas. Se você tem uma descrição, raramente precisa de comentários. É discutível como o que você deve colocar na descrição. Parte dos padrões do seu projeto deve cobrir isso na política de metadados.

    
por 21.09.2012 / 22:49
fonte