SlideShare a Scribd company logo
1 of 28
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 meu Deus dú
céu ? ? ? ! ! !
6
Ôpá ! É Simples, para
obter uma maior
produtividade e
desempenho no
projeto.
Ôpá ! É Simples, para
obter uma maior
produtividade e
desempenho no
projeto.
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 !
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
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
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
Base de
dados
Base de
dados
TabelasTabelas
RestriçõesRestrições
ColunasColunas ProceduresProcedures
TriggersTriggers AbreviaçõesAbreviações
ChavesChaves
15
Base de dados Procedures Triggers
nomeprojeto <NOME_PROCEDURE>.PRC  <NOME_TRIGGER>.TRG 
nome_projeto
NOMEPROJETO
NOME_PROJETO
Nome_Projeto
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
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
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
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
 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
 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
 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
 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
Bora definir um padrão ?
 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
 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-
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

More Related Content

What's hot

Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQLArley Rodrigues
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL BásicoIgor Alves
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoHelder Lopes
 

What's hot (20)

Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 

Viewers also liked

Nomenclatura para Banco de Dados
Nomenclatura para Banco de DadosNomenclatura para Banco de Dados
Nomenclatura para Banco de DadosAlan James James
 
Melhores práticas em gerenciamento de projetos
Melhores práticas em gerenciamento de projetosMelhores práticas em gerenciamento de projetos
Melhores práticas em gerenciamento de projetosElderclei Reami
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetosStefan Horochovec
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosJuliano Atanazio
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Rafael Barbolo
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Claudio Martins
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetoseneck
 

Viewers also liked (9)

Nomenclatura para Banco de Dados
Nomenclatura para Banco de DadosNomenclatura para Banco de Dados
Nomenclatura para Banco de Dados
 
Melhores práticas em gerenciamento de projetos
Melhores práticas em gerenciamento de projetosMelhores práticas em gerenciamento de projetos
Melhores práticas em gerenciamento de projetos
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetos
 
In-Docx documentos padronizados
In-Docx documentos padronizadosIn-Docx documentos padronizados
In-Docx documentos padronizados
 
Boas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de DadosBoas praticas em um Projeto de Banco de Dados
Boas praticas em um Projeto de Banco de Dados
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetos
 

Similar to Padronização de Nomenclatura para Banco de Dados

TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring DatabasesIsmael
 
Melhorias na interface do Management Studio
Melhorias na interface do Management StudioMelhorias na interface do Management Studio
Melhorias na interface do Management Studiopichiliani
 
Html+para+iniciantes
Html+para+iniciantesHtml+para+iniciantes
Html+para+iniciantesbradock1964
 
Dicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg adminDicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg adminEp Forp
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Emiliano Barbosa
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
7869510 109domine-o-excel-2007[1]
7869510 109domine-o-excel-2007[1]7869510 109domine-o-excel-2007[1]
7869510 109domine-o-excel-2007[1]Paula Ferreira
 
Introdução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxIntrodução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxEuclidesDala2
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_serverArt IT
 

Similar to Padronização de Nomenclatura para Banco de Dados (20)

TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring Databases
 
Melhorias na interface do Management Studio
Melhorias na interface do Management StudioMelhorias na interface do Management Studio
Melhorias na interface do Management Studio
 
Db2
Db2Db2
Db2
 
HyperText Markup Language
HyperText Markup LanguageHyperText Markup Language
HyperText Markup Language
 
HTML
HTMLHTML
HTML
 
Html+para+iniciantes
Html+para+iniciantesHtml+para+iniciantes
Html+para+iniciantes
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Dojo banco de dados
Dojo   banco de dadosDojo   banco de dados
Dojo banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016Otimizando a performance com in memory no sql 2016
Otimizando a performance com in memory no sql 2016
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Dicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg adminDicas importantes do postgre sql pg admin
Dicas importantes do postgre sql pg admin
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Agbd aula4 sql_ddl
Agbd aula4 sql_ddlAgbd aula4 sql_ddl
Agbd aula4 sql_ddl
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
7869510 109domine-o-excel-2007[1]
7869510 109domine-o-excel-2007[1]7869510 109domine-o-excel-2007[1]
7869510 109domine-o-excel-2007[1]
 
Introdução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptxIntrodução ao MySQL - EuDala SF 2023.pptx
Introdução ao MySQL - EuDala SF 2023.pptx
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 

More from Samuelson Brito

Metodologia do trabalho cientifico 2013
Metodologia do trabalho cientifico   2013Metodologia do trabalho cientifico   2013
Metodologia do trabalho cientifico 2013Samuelson Brito
 
Slide de inglês - Inglaterra
Slide de inglês - InglaterraSlide de inglês - Inglaterra
Slide de inglês - InglaterraSamuelson Brito
 

More from Samuelson Brito (6)

Java + Banco de Dados
Java + Banco de Dados Java + Banco de Dados
Java + Banco de Dados
 
Arduino - Introdução
Arduino - IntroduçãoArduino - Introdução
Arduino - Introdução
 
Metodologia do trabalho cientifico 2013
Metodologia do trabalho cientifico   2013Metodologia do trabalho cientifico   2013
Metodologia do trabalho cientifico 2013
 
Ciclo do carbono
Ciclo do carbonoCiclo do carbono
Ciclo do carbono
 
Ciclo do oxigênio
Ciclo do oxigênioCiclo do oxigênio
Ciclo do oxigênio
 
Slide de inglês - Inglaterra
Slide de inglês - InglaterraSlide de inglês - Inglaterra
Slide de inglês - Inglaterra
 

Padronização de Nomenclatura para Banco de Dados

  • 2. 2
  • 3. 3 Será que realmente é preciso padronizar ? Será que realmente é preciso padronizar ?
  • 4. 4 E
  • 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 Ôpá ! É Simples, para obter uma maior produtividade e desempenho no projeto. Ôpá ! É Simples, para obter uma maior produtividade e desempenho no projeto.
  • 7. 7 Hmmm, legal ! Mas qual padrão devo seguir ? Hmmm, legal ! Mas qual padrão devo seguir ? Não “existe” nenhum !
  • 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
  • 11. 11
  • 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 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 Base de dados Base de dados TabelasTabelas RestriçõesRestrições ColunasColunas ProceduresProcedures TriggersTriggers AbreviaçõesAbreviações ChavesChaves
  • 15. 15 Base de dados Procedures Triggers nomeprojeto <NOME_PROCEDURE>.PRC  <NOME_TRIGGER>.TRG  nome_projeto NOMEPROJETO NOME_PROJETO Nome_Projeto
  • 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 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 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.  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.  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.  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.  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 Bora definir um padrão ?
  • 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.  Pensar fácil.  Simplificar SEMPRE !  Ambiguidade zero  Passar a informação correta. 26
  • 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