SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Criando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCriando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCentro Paula Souza
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Leinylson Fontinele
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Leinylson Fontinele
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...Leinylson Fontinele
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Leinylson Fontinele
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Gustavo Zimmermann
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 

Mais procurados (20)

Criando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCriando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL Workbench
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...
Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamen...
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 

Destaque

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
 

Destaque (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
 

Semelhante a Padronização traz benefícios para projetos

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
 

Semelhante a Padronização traz benefícios para projetos (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
 

Mais de 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
 

Mais de 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 traz benefícios para projetos

  • 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