Padronização de Nomenclatura para
Alan James
2
3
Será que realmente
é preciso
padronizar ?
Será que realmente
é preciso
padronizar ?
4
E
5
Então por que ter
trabalho em criar um
padrão meu Deus dú
céu ? ? ? ! ! !
Então por que ter
trabalho em criar um
padrão ...
6
Ôpá ! É Simples, para
obter uma maior
produtividade e
desempenho no
projeto.
Ôpá ! É Simples, para
obter uma maior
produ...
7
Hmmm, legal ! Mas
qual padrão devo
seguir ?
Hmmm, legal ! Mas
qual padrão devo
seguir ?
Não
“existe”
nenhum !
Se não existe é
só criar um !
Se não existe é
só criar um !
8
Não existe um padrão
e mesmo assim quer
padronizar ?
Desisto...
9
10
lSO/lEC11179-5 – ISO90005
11
12
Código
complicado
Código
complicado
Difícil
entendimento
do BD
Difícil
entendimento
do BD
Difícil
Manutenção
Difícil
Ma...
13
Demontra Maturidade
da Empresa /
Funcionário
Demontra Maturidade
da Empresa /
Funcionário
Código de fácil
entendimento
...
14
Base de
dados
Base de
dados
TabelasTabelas
RestriçõesRestrições
ColunasColunas ProceduresProcedures
TriggersTriggers Ab...
15
Base de dados Procedures Triggers
nomeprojeto <NOME_PROCEDURE>.PRC  <NOME_TRIGGER>.TRG 
nome_projeto
NOMEPROJETO
NOME_P...
Tabelas
Comum  N x N
CAD_PES_PESSOAS  CAD_PES_PESSOAS 
CAD_END_ENDERECOS 
CAD_PES_PESSOAS_ENDERECOS (resultado)
Aluno
Pess...
17
Colunas
Nome do atributo Identificação Tipo de dado
utilizado
pes_nome CD Numérico
nome_pes DT Data
VL_VALOR_PARCELA DS...
18
Chaves / Restrições
Nome da chave Identificações
pessoa_id
Id_pessoa
PK_ID_PESSOA
PESSOA_ID_PK
pessoaIdPk (notação húng...
19
Abreviação
Número de
palavras
Norma Exemplo
1 Palavra Utilizar as 3 primeiras letras da 
palavra
Nome: Pessoas
Abreviat...
 Escolha nomes sem ambiguidade, curtos, não usando mais
que duas palavras.
 distingue tabelas facilmente.
 facilita nom...
 Evite nomes com acrônimos, abreviados ou concatenados.
 provê arquitetura auto-documentável.
 facilita tanto para dese...
 Para uma tabela associativa (n:n), concatene o nome
das duas tabelas envolvidas:
 expressa o propósito de composição da...
 A chave primária deve ter o nome da tabela com o sufixo
"_id".
 permite que a chave primária seja deduzida ou lembrada ...
24
Bora definir um padrão ?
 Possíveis pontos a definir:
 Usar nome de tabela no plural ou no singular ?
 Usar um caractere identificador para regi...
 Pensar fácil.
 Simplificar SEMPRE !
 Ambiguidade zero
 Passar a informação correta.
26
 http://www.guj.com.br/java/14696-nomenclatura-padrao-
em-sgdb
 http://www.tiespecialistas.com.br/2011/05/cmmi-nivel-2-
...
28
Próximos SlideShares
Carregando em…5
×

Nomenclatura para Banco de Dados

8.945 visualizações

Publicada em

Apresentação que visa esclarecer algumas informações sobre nomenclatura de banco de dados para uma maior produtividade no trabalho. Apresentação feita para uma equipe de desenvolvedores da empresa SuperPay - Locaweb

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
8.945
No SlideShare
0
A partir de incorporações
0
Número de incorporações
511
Ações
Compartilhamentos
0
Downloads
82
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Nomenclatura para Banco de Dados

  1. 1. Padronização de Nomenclatura para Alan James
  2. 2. 2
  3. 3. 3 Será que realmente é preciso padronizar ? Será que realmente é preciso padronizar ?
  4. 4. 4 E
  5. 5. 5 Então por que ter trabalho em criar um padrão meu Deus dú céu ? ? ? ! ! ! Então por que ter trabalho em criar um padrão meu Deus dú céu ? ? ? ! ! !
  6. 6. 6 Ôpá ! É Simples, para obter uma maior produtividade e desempenho no projeto. Ôpá ! É Simples, para obter uma maior produtividade e desempenho no projeto.
  7. 7. 7 Hmmm, legal ! Mas qual padrão devo seguir ? Hmmm, legal ! Mas qual padrão devo seguir ? Não “existe” nenhum !
  8. 8. Se não existe é só criar um ! Se não existe é só criar um ! 8 Não existe um padrão e mesmo assim quer padronizar ? Desisto ! Não existe um padrão e mesmo assim quer padronizar ? Desisto !
  9. 9. 9
  10. 10. 10 lSO/lEC11179-5 – ISO90005
  11. 11. 11
  12. 12. 12 Código complicado Código complicado Difícil entendimento do BD Difícil entendimento do BD Difícil Manutenção Difícil Manutenção Repetição de informações Repetição de informações Perda de tempo Perda de tempo DesorganizaçãoDesorganização SQL  complicados de entender SQL  complicados de entender Dificuldade na construção de SQL Dificuldade na construção de SQL Documentação ruim Documentação ruim Não “passa” credibilidade Não “passa” credibilidade
  13. 13. 13 Demontra Maturidade da Empresa / Funcionário Demontra Maturidade da Empresa / Funcionário Código de fácil entendimento Código de fácil entendimento Fácil entendimento do BD Fácil entendimento do BD Boa documentação do BD Boa documentação do BD Facilidade na manutenção Facilidade na manutenção SQL de fácil entendimento SQL de fácil entendimento Redução de custos Redução de custos SQL menos complexos SQL menos complexos Sem redundância de informações Sem redundância de informações Maior qualidade no Sistema / Software Maior qualidade no Sistema / Software Códigos e lógicas mais intuitivos Códigos e lógicas mais intuitivos
  14. 14. 14 Base de dados Base de dados TabelasTabelas RestriçõesRestrições ColunasColunas ProceduresProcedures TriggersTriggers AbreviaçõesAbreviações ChavesChaves
  15. 15. 15 Base de dados Procedures Triggers nomeprojeto <NOME_PROCEDURE>.PRC  <NOME_TRIGGER>.TRG  nome_projeto NOMEPROJETO NOME_PROJETO Nome_Projeto
  16. 16. Tabelas Comum  N x N CAD_PES_PESSOAS  CAD_PES_PESSOAS  CAD_END_ENDERECOS  CAD_PES_PESSOAS_ENDERECOS (resultado) Aluno Pessoa_Fisica DEPARTAMENTO Funcionario Departamento FuncionarioDerpartamento tblPessoa TB_JOGADOR 16
  17. 17. 17 Colunas Nome do atributo Identificação Tipo de dado utilizado pes_nome CD Numérico nome_pes DT Data VL_VALOR_PARCELA DS String (caracteres) pesNome (notação húngara) NM String (caracteres) NR Numérico ST String (caracteres) VL Numérico
  18. 18. 18 Chaves / Restrições Nome da chave Identificações pessoa_id Id_pessoa PK_ID_PESSOA PESSOA_ID_PK pessoaIdPk (notação húngara) PK_ fk_funcionario_id funcionario_id_fk funcionarioIdFk (notação húngara) FK_ idxCodigoPessoa (notação húngara) idx_nome_func IDX_ UN_NUMERO_TEL UN_ (chave única) NN_ (restrição não nulo) CK_ (restrição tipo check)
  19. 19. 19 Abreviação Número de palavras Norma Exemplo 1 Palavra Utilizar as 3 primeiras letras da  palavra Nome: Pessoas Abreviatura: PES 2 Palavras Utilizar as 2 primeiras letras da  primeira palavra e a 1ª letra da  segunda palavra Nome: Pessoas Físicas Abreviatura: PEF 3 ou mais Palavras Utilizar a 1ª letra das duas  primeiras palavras e a 1ª letra  da última palavra Nome: Tipos Contrato Prestado res Abreviatura: TCP
  20. 20.  Escolha nomes sem ambiguidade, curtos, não usando mais que duas palavras.  distingue tabelas facilmente.  facilita nomear campos únicos assim como tabelas de  metadados.  Use nomes no singular, nunca plural.  promove consistência com a nomenclatura de campos de  chave primárias e tabelas de metadados.  garante ordenação alfabética de uma tabela antes de suas  tabelas de metadados ou relacionadas.  evita confusão de regras de plural do português ou inglês. 20
  21. 21.  Evite nomes com acrônimos, abreviados ou concatenados.  provê arquitetura auto-documentável.  facilita tanto para desenvolvedores quanto para não- desenvolvedores lerem e entenderem. ( Bom pra todos )  Prefixe as tabelas de metadados com o nome das tabelas a que elas se relacionam.  agrupa tabelas relacionadas (ex: activity_status,  activity_type, etc).  evita conflitos de nomes de tabelas de metadados de  diferentes entidades. 21
  22. 22.  Para uma tabela associativa (n:n), concatene o nome das duas tabelas envolvidas:  expressa o propósito de composição da tabela.  esta regra não se aplica quando houver mais de uma tabela associativa para as mesmas entidades originais  Crie comentários para a tabela e para as colunas:  facilita a compreensão do propósito da tabela.  explica o conteúdo presente em uma coluna. ( Bom pra todos ) 22
  23. 23.  A chave primária deve ter o nome da tabela com o sufixo "_id".  permite que a chave primária seja deduzida ou lembrada a partir apenas do nome da tabela. (ex: Tabela: Produto – PK: produto_id )  consistência com o nome da chave primária.  evita a necessidade de usar apelidos (alias) na programação  Chaves estrangeiras devem ter o mesmo nome das chaves primárias às quais elas se referem.  faz com que as tabelas às quais elas se referem fique óbvio. 23
  24. 24. 24 Bora definir um padrão ?
  25. 25.  Possíveis pontos a definir:  Usar nome de tabela no plural ou no singular ?  Usar um caractere identificador para registro ou tabela ?  Como lidar com nomes compostos ?  Como nomear as tabela, atributos e colunas.  Como nomear uma PK e um FK ? 25
  26. 26.  Pensar fácil.  Simplificar SEMPRE !  Ambiguidade zero  Passar a informação correta. 26
  27. 27.  http://www.guj.com.br/java/14696-nomenclatura-padrao- em-sgdb  http://www.tiespecialistas.com.br/2011/05/cmmi-nivel-2- recebendo-padronizacao/#.UaQDW0A05rM  http://brasil.pmi.org/brazil/AboutUS/WhatisPMI.aspx  http://metadata-standards.org/11179/  http://my.opera.com/maicokrause/blog/2009/04/28/padroni zacao-de-nomes-de-tabelas-e-colunas-de-banco-de-dad 27
  28. 28. 28

×