Padronização de Nomenclatura para Banco de Dados

Post on 26-May-2015

259 views 0 download

Transcript of Padronização de Nomenclatura para Banco de Dados

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