Upload
alan-james-james
View
5.146
Download
8
Embed Size (px)
Citation preview
Padronização de Nomenclatura para
Alan James
2
3
Será que realmente é
precisopadronizar ?
Será que realmente é
precisopadronizar ?
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 complicad
o
Código complicad
o
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ção
Desorganizaçã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 dadosBase 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
TabelasComum N x N
CAD_PES_PESSOAS CAD_PES_PESSOAS CAD_END_ENDERECOS
CAD_PES_PESSOAS_ENDERECOS (resultado)
Aluno Pessoa_Fisica
DEPARTAMENTO
FuncionarioDepartamento
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çõesNome da chave Identificações
pessoa_idId_pessoa
PK_ID_PESSOAPESSOA_ID_PK
pessoaIdPk (notação húngara)
PK_
fk_funcionario_idfuncionario_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: PessoasAbreviatura: PES
2 Palavras Utilizar as 2 primeiras letras da primeira palavra e a 1ª letra da segunda
palavra
Nome: Pessoas FísicasAbreviatura: PEF
3 ou mais Palavras Utilizar a 1ª letra das duas primeiras palavras e
a 1ª letra da última palavra
Nome: Tipos Contrato Prestadores
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/padronizacao-de-nomes-de-tabelas-e-colunas-de-banco-de-dad
27
28