Projeto - Ateneu

Propaganda
_________________________________________________________________________
PADRÕES PARA BANCO DE DADOS
_________________________________________________________________________
Histórico de Versões
Versão
Data
1.0
1.1
23/07/2013
23/07/2013
Analistas
Notas da Revisão
Leandro
Marcel
Documento Inicial
Alteração de Identificação em Procedures
1. Objetivo
O objetivo deste documento é prover informações para formalizar a
nomenclatura dos objetos de banco de dados, bem como apresentar regras para
sua utilização evitando assim o hábito de existir diferentes nomenclaturas dentro
de uma mesma aplicação. O documento apresenta os objetos de banco de dados
com três itens: sintaxe, regras e exemplo. Isto para facilitar o entendimento do
desenvolvedor.
-1-
2. Padrão para objetos do Banco de Dados
O nome do banco de dados deverá identificar a área de negócio que está
sendo automatizado ou deverá refletir a sigla da aplicação.
Sintaxe:
{[A...Z][a...z][1...9]} Xxxxxx, onde: Xxxxxx - Indica o nome da aplicação que o
banco de dados irá atender. Para o nome utilizar 1ª Letra em maiúsculo e o
restante em minúsculo com no máximo 20 caracteres.

Consultas
Regras:
 Comandos SQL em maiúsculas
 Nomes de colunas e tabelas em minúsculas
 Sempre usar “Inner Join” explícito

Tabelas
O nome de uma tabela deverá ser sugestivo. Deve-se fazer o uso de
nomenclatura identificando claramente seu conteúdo. Evitar usar abreviações
que não sejam claras e evidentes, caso seja necessário criar um dicionário de
dados e anexar ao projeto para que todos possam compreender as
abreviações.
Sintaxe:
{[A...Z][a...z]} XxxxxxXxxxxxx, onde: XxxxxxXxxxxxx, - indica o nome da tabela;
Regras:
 Primeira letra em maiúscula, demais em minúsculas. Para cada palavra
interna, a primeira letra em maiúscula;
 Usar no máximo 30 caracteres - padrão da maioria dos bancos;
 O nome da tabela deve estar sempre no singular;
 Evite usar abreviações, se necessário use as conhecidas;
 Não utilize acentuações ou caracteres especiais;
 Tabelas de relacionamento utilizar Nomeda1atabela_x_Nomeda2atabela,
caso o nome do relacionamento não seja forte ou não seja possível
expressar claramente em uma única palavra;

Colunas
Seguindo o mesmo padrão utilizado para tabelas, deve-se identificar a
coluna da tabela de maneira clara e descritiva, somente use abreviações
quando se tratar de domínio público, exemplo FGTS, fundo de garantia por
tempo de serviço ou as definida no dicionário de dados abaixo.
-2-
Sintaxe:
{[A...Z][a...z][1...9]} XxxxxXxxxXxxxx, onde XxxxxXxxxXxxxx – indica o nome
da coluna
Regras:
 Primeira letra em maiúscula, demais em minúsculas. Para cada palavra
interna, a primeira letra em maiúscula;
 Não usar artigos e preposições na separação de palavras;
 Para siglas utilizar todas as letras em maiúsculo;
 Usar palavras no singular e sem acentuação;
 Usar nome que identifique e individualize o dado dentro do “ambiente” do
cliente;
 Dar nomes distintos para dados distintos;
 Evite utilizar abreviações, caso seja extremamente necessário utilize as de
domínio;
Abreviação
Cod

Dicionário de Dados
Descrição da Abreviação
Código
Chaves e Índices criados pelo usuário
A criação de chave primaria, chave estrangeira e índice pelos analistas
geralmente são realizadas através do SQL Enterprise Manager, com isso o
SQL encarrega-se de nomear as chaves, para manter o padrão usaremos as
seguintes nomenclaturas:
Sintaxe:
{[PK][A...Z][a...z][1...9]} PK_Xxxxxx, onde: Xxxxxx, 1ª Letra em maiúsculo e o
restante em minúsculo - indica o nome da chave primária;
{[FK][A...Z][a...z][1...9]} FK_Xxxxxx, onde: Xxxxxx 1ª Letra em maiúsculo e o
restante em minúsculo - indica o nome da chave estrangeira;
{[IX][A...Z][a...z][1...9]} IX_Xxxxxx, onde: Xxxxxx 1ª Letra em maiúsculo e o
restante em minúsculo - indica o nome do índice;

Views
Deve-se utilizar o mesmo semântica utilizada para as tabelas. Deve ser
prefixada a sigla “vi” minúsculo.
Sintaxe:
{[vi][A...Z][a...z][1...9]} viXxxxxXxxxXxxxx, onde XxxxxXxxxXxxxx - indica o
nome da view.
-3-
Regras:
 Primeira letra, após “vi” em maiúscula, demais em minúsculas. Para cada
palavra interna, a primeira letra em maiúscula;
 Não usar artigos e preposições na separação de palavras;
 Para siglas utilizar todas as letras em maiúsculo;
 Usar palavras no singular e sem acentuação;
 Usar nome que identifique e individualize o dado dentro do “ambiente” do
cliente;
 Evite utilizar abreviações, caso seja extremamente necessário utilize as de
domínio;

Stored Procedures
Deve-se utilizar a mesma semântica utilizada para as tabelas. Deve ser
prefixada a sigla “sp”, minúscula, seguida da função (Consulta, Grava, Atualiza,
Apaga) e do nome da stored procedure.
Sintaxe:
{[schema][sp][Função][A...Z][a...z][1...9]} spConsultaXxxXx, onde XxxXxx indica o nome da store procedure.
schema
Função
Client-Server
dbo
Internet
internet
Consulta; Grava; Atualiza; Apaga;
Exemplo:
dbo.spConsultaAluno
internet.spConsultaAluno
Regras:
 Primeira letra, após “sp” + FUNÇÃO em maiúscula, demais em minúsculas.
Para cada palavra interna, a primeira letra em maiúscula;
 Para procedures que executem consultas devem ser utilizadas as regras de
consultas definidas acima;
 Não usar artigos e preposições na separação de palavras;
 Para siglas utilizar todas as letras em maiúsculo;
 Usar palavras no singular e sem acentuação;
 Usar nome que identifique e individualize o dado dentro do “ambiente” do
cliente.
 Dar nomes distintos para dados distintos.
 Inserir comentários sempre que necessário. Comentários adicionais que
auxiliem o entendimento do processo;
 Não poluir o código com comentários desnecessários, que descrevam
procedimentos óbvios;
-4-



Evitar o aninhamento excessivo de comandos, o que costuma dificultar a
visualização
Utilizar identação entre os comandos;
Definir uma área de identificação geral, onde deverão existir as seguintes
informações para todas as stored procedures:
-------------

============================================================
Autor:
<nome_analista>
Data Criação: <dd/mm/aaaa>
Descrição:
<função da procedure>
Ação:
<Consulta/Altera/Grava/Apaga>
Tabelas/View: <nome das tabelas, views utilizadas>
Desenvolvimento : <Desenvolvida para X sistema >
============================================================
Alterada por: <nome_analista>
Data:
<dd/mm/aaaa>
Descrição:
<descrição da alteração realizada>
============================================================
Function (Table, Scalar Valued Function)
Deve-se utilizar a mesma semântica utilizada para as tabelas. Deve ser
prefixada a sigla “fc”, minúscula, e do nome da função.
Sintaxe:
{[fc][A...Z][a...z][1...9]} fcXxxxxXxxx, onde XxxxxXxxx - indica o nome da stored
function.
Regras:
 Primeira letra, após “fc” + FUNÇÃO em maiúscula, demais em minúsculas.
Para cada palavra interna, a primeira letra em maiúscula;
 Não usar artigos e preposições na separação de palavras;
 Para siglas utilizar todas as letras em maiúsculo;
 Usar palavras no singular e sem acentuação;
 Usar nome que identifique e individualize o dado dentro do “ambiente” do
cliente.
 Inserir comentários sempre que necessário. Comentários adicionais que
auxiliem o entendimento do processo;
 Não poluir o código com comentários desnecessários, que descrevam
procedimentos óbvios;
 Evitar o aninhamento excessivo de comandos, o que costuma dificultar a
visualização
 Utilizar identação entre os comandos;
 Definir uma área de identificação geral, onde deverão existir as seguintes
informações para todas as functions:
-5-
----------

============================================================
Autor:
<nome_analista>
Data Criação: <dd/mm/aaaa>
Descrição:
<função da procedure>
============================================================
Alterada por: <nome_analista>
Data:
<dd/mm/aaaa>
Descrição:
<descrição da alteração realizada>
============================================================
Trigger
Deve-se utilizar a mesma semântica utilizada para as tabelas. Deve ser
prefixada a sigla “tg”, minúscula, seguida da função (I = Insert, U = Update, D =
Delete)
{[tg][I | U | D][A...Z][a...z][1...9]} tgIUDXxxxxXxxx, onde XxxxxXxxx - indica o
nome da trigger.
Regras:
 Primeira letra, após “tg” + [I | U | D] em maiúscula, demais em minúsculas.
Para cada palavra interna, a primeira letra em maiúscula;
 Não usar artigos e preposições na separação de palavras;
 Para siglas utilizar todas as letras em maiúsculo;
 Usar palavras no singular e sem acentuação;
 Usar nome que identifique e individualize o dado dentro do “ambiente” do
cliente.
 Inserir comentários sempre que necessário. Comentários adicionais que
auxiliem o entendimento do processo;
 Não poluir o código com comentários desnecessários, que descrevam
procedimentos óbvios;
 Evitar o aninhamento excessivo de comandos, o que costuma dificultar a
visualização
 Utilizar identação entre os comandos;
 Definir uma área de identificação geral, onde deverão existir as seguintes
informações para todas as triggers:
------------
============================================================
Autor:
<nome_analista>
Data Criação: <dd/mm/aaaa>
Descrição:
<função da procedure>
Ação:
<Insert/Update/Delete>
Tabelas/View: <nome das tabelas, views utilizadas>
============================================================
Alterada por: <nome_analista>
Data:
<dd/mm/aaaa>
Descrição:
<descrição da alteração realizada>
============================================================
-6-
Download