Escolar Documentos
Profissional Documentos
Cultura Documentos
Verso 1.1
Data: 25/06/2012
Histrico da Reviso
Data
Verso
07/05/2012
1.0
Aprovao da diretriz
Prsio Mairon
20/07/2012
1.1
Prsio Mairon
MAPA/SE/SPOA/CGTI.
Descrio
Autor
Pgina 2 de 16
Verso 1.1
Data: 25/06/2012
ndice
1.
INTRODUO ............................................................................................................................................. 4
2.
DIRETRIZES ................................................................................................................................................ 4
2.1
REPOSITRIO ............................................................................................................................................ 4
2.2
NOMENCLATURA DE OBJETOS DE BANCO ................................................................................................ 5
2.2.1
Schema............................................................................................................................................. 6
2.2.2
Usurio de Conexo ........................................................................................................................ 6
2.2.3
Role .................................................................................................................................................. 6
2.2.4
Tabela/Entidade .............................................................................................................................. 6
2.2.5
Tabela AssociAtiva .......................................................................................................................... 7
2.2.6
Atributo/Coluna ............................................................................................................................... 8
2.2.7
Sequence ........................................................................................................................................ 10
2.2.8
Constraint ...................................................................................................................................... 10
2.2.9
ndice ............................................................................................................................................. 11
2.2.10
Package ......................................................................................................................................... 12
2.2.11
Synomyn......................................................................................................................................... 12
2.2.12
Procedure ...................................................................................................................................... 12
2.2.13
Function......................................................................................................................................... 12
2.2.14
Tablespace ..................................................................................................................................... 12
2.2.15
Trigger ........................................................................................................................................... 12
2.2.16
View/Materialized View ................................................................................................................. 13
2.3
TABELAS DE HISTRICO ......................................................................................................................... 14
2.3.1
Nome de tabela .............................................................................................................................. 14
2.3.2
Sequence ........................................................................................................................................ 14
2.3.3
Constraint ...................................................................................................................................... 14
2.3.4
Indice ............................................................................................................................................. 15
2.4
AUDITORIA ............................................................................................................................................. 15
2.5
MODELO DE ENTIDADE-RELACIONAMENTO ........................................................................................... 15
2.5.1
Tipo de modelo de dados ............................................................................................................... 15
2.5.2
Propriedades do modelo ................................................................................................................ 15
2.5.3
Exibio de tabelas........................................................................................................................ 15
2.5.4
Padro de cores de tabelas............................................................................................................ 15
2.5.5
Comentrios .................................................................................................................................. 15
2.5.6
Volumetria ..................................................................................................................................... 16
2.5.7
Gerao de Scripts ........................................................................................................................ 16
2.5.8
Disponibilizao de Scripts ........................................................................................................... 16
MAPA/SE/SPOA/CGTI.
Pgina 3 de 16
Verso 1.1
Data: 25/06/2012
INTRODUO
Este documento tem por objetivo definir regras de modelagem de banco de dados.
2.
DIRETRIZES
2.1 REPOSITRIO
Todos os artefatos de banco de dados devero ser armazenados e nomeados seguindo a
estrutura abaixo:
Diretrio
Tipo de
Arquivo
Padro de Nomenclatura
Descrio
MAPA/SE/SPOA/CGTI.
SIGLA_ModeloDados
Pgina 4 de 16
Verso 1.1
Data: 25/06/2012
(ou schema) ou role.
SIGLA_<ambiente>_DCL_<n
incremental com 3 dgitos
>_grant_references
Implementao ->
Banco de Dados -> DDL
Implementao ->
Banco de Dados -> DML
Implementao ->
Banco de Dados ->
Outros
Script de
Revoke
SIGLA_<ambiente>_DCL_<n
incremental com 3 dgitos >_revokes
Script de
View
Script de
Trigger
SIGLA_<ambiente>_DDL_<n
incremental com 3 dgitos >_views
SIGLA_<ambiente>_DDL_<n
incremental com 3 dgitos >_triggers
Script de
Tabela
SIGLA_<ambiente>_DDL_<n
incremental com 3 dgitos >_tabelas
Script de
Function
Script de
Procedure
Script de
Carga
Script
SIGLA_<ambiente>_DDL_<n
incremental com 3 dgitos >_functions
SIGLA_<ambiente>_DDL_<n
incremental com 3 dgitos >_procedures
SIGLA_<ambiente>_DML_<n
incremental com 3 dgitos >_carga
SIGLA_<ambiente>_<objetivo>
Observao: o campo n incremental, existente no nome dos scripts, tem por objetivo
auxiliar na ordenao e execuo destes. O incremento dever ser em relao ordem de
execuo do tipo de script.
Exemplo:
Primeiro script DDL: SIGLA_desenv_DDL_001_tabela
Segundo script DDL: SIGLA_desenv_DDL_002_view
Terceiro script DDL: SIGLA_desenv_DDL_003_tabela
Primeiro script DCL: SIGLA_desenv_DCL_001_grants
Segundo script DCL: SIGLA_desenv_DCL_002_revokes
Terceiro script DCL: SIGLA_desenv_DCL_003_grants
2.2 NOMENCLATURA DE OBJETOS DE BANCO
MAPA/SE/SPOA/CGTI.
Pgina 5 de 16
Verso 1.1
Data: 25/06/2012
2.2.1
SCHEMA
Dever ser a sigla do sistema + o sufixo _MAPA, com exceo para schemas
corporativos;
Exemplo:
SIPE_MAPA.
2.2.2
USURIO DE CONEXO
Exemplo:
SIPE_MAPA_APL.
2.2.3
ROLE
1. Usurio de Aplicao
Ser formado pelo prefixo R_ + o nome do SCHEMA + sufixo _APL.
Exemplo:
R_SIPE_MAPA_APL.
2. Gestor de Aplicao
Ser formado pelo prefixo R_ + o nome do SCHEMA + sufixo _ADM.
Exemplo:
R_SIPE_MAPA_ADM.
3. Usurio de Consulta
Ser formado pelo prefixo R_ + o nome do SCHEMA + sufixo _CONS.
Exemplo:
R_ SIPE_MAPA_CONS.
4. Usurio de Execuo
Ser formado pelo prefixo R_ + o nome do SCHEMA + sufixo _EXEC.
Exemplo:
R_ SIPE_MAPA_EXEC.
2.2.4
TABELA/ENTIDADE
O nome de uma tabela dever ser composto por prefixo, conforme descriminado
abaixo, + o qualificador da tabela.
Nomenclatura
A_%
B_%_Data
MAPA/SE/SPOA/CGTI.
Detalhe
Exemplos
Verso 1.1
Data: 25/06/2012
E_%
H_%
M_%
R_%
S_%
W_%
X_%
JN_%
GT_%
Sufixo
para
temporrias
2.2.5
tabelas
H_PESSOA_FISICA
M_ORGAO
M_PROPRIETARIO_PROPRIEDA
DE
R_ANIMAL_EXPORTADO
S_PESSOA
S_MUNICIPIO
T_%
E_MUNICIPIO
T_CARGA_ORGAO
W_PESSOA_FISICA
X_EMAIL
X_ORGAO
JN_AUDIT
globais
TABELA ASSOCIATIVA
Dever ser formado por prefixo (vide tabela acima) + _ + nome da primeira tabela
sem prefixo + _ + nome da segunda tabela sem prefixo;
Exemplo:
S_HIBRIDO_SER_VIVO.
Nos casos onde o nome ultrapassa o limite de caracteres permitidos (mximo 30),
dever ser utilizado um verbo significativo na 3 pessoa do singular.
Exemplo:
S_PESSOA_POSSUI_ENDERECO.
MAPA/SE/SPOA/CGTI.
Pgina 7 de 16
Verso 1.1
Data: 25/06/2012
2.2.6
ATRIBUTO/COLUNA
Todo atributo dever possuir um breve comentrio sobre sua relevncia;
Dever ser nico na entidade;
Nos casos onde o atributo estiver depreciado ou for obsoleto e no puder ser
excludo, dever ser inserido o seguinte comentrio, substituindo o atual: Esta coluna
ser descontinuada. Evite utiliz-la.;
Atributos que especificam a tabela devero ser NOT NULL;
Exemplo:
Tabela: S_CURSO.
Coluna: NM_CURSO.
Atributo tipo CLOB: ser permitido somente 1 por schema e quando previamente
autorizado pelo AD;
Atributo tipo CHAR: somente dever ser utilizado em casos onde o contedo for
alfanumrico e totalmente preenchido e no ultrapasse o limite de 10 caracteres;
Atributo tipo NUMBER: dever ser utilizado para atributos que envolvam
clculos, percentuais, nmeros simples e outros dados de natureza numrica;
Dever possuir sufixo identificando seu tipo, conforme tabela abaixo:
Classe
Prefixo
Cdigo
CD
Classificador
CS
Identificador
ID
Nmero
NR
Descrio
DS
Nome
NM
MAPA/SE/SPOA/CGTI.
Detalhe
Deve ser utilizado em dados que possuem
valores pr-definidos em outro sistema ou que
seja resultado de frmulas especiais que geram
um cdigo nico. necessrio informar no
comentrio da coluna a procedncia do cdigo,
se for gerado pela aplicao deve-se informar
como ele ser gerado.
Deve ser utilizada em colunas que possuem
uma lista de valores pr-definidas at 7 opes e
que podem ser alfabticas, numricas ou
alfanumricas. Os valores da lista ficam
definidos atravs de uma Check Constraint (CK)
e devem ter preenchimento obrigatrio. O tipo do
campo dever ser NOT NULL. Deve-se informar
o significado de cada opo no comentrio da
coluna. Nos casos onde as opes ultrapassem
7 criar uma tabela de sistema para especificar o
domnio.
Identificador
de
chave
primria
cujo
preenchimento ser sempre sequencial.
Atribuda aos dados de natureza numrica cuja
identificao se faz por valores absolutos.
Atribuda aos dados cujo contedo, livre e em
forma discursiva, se utiliza, em geral, para
descrever algo associado ao objeto. A sua
utilizao deve ter tamanho limitado. Dever ser
do tipo VARCHAR2.
Atribuda aos dados de natureza alfabtica ou
alfanumrica cujo contedo expressa uma
denominao por extenso e composta de
Exemplo
CD_CARGO_SIAPE
CS_DEPENDENTE
ID_PESSOA
NR_CNPJ
DS_ADITIVO_CONTRATO
DS_URL_DOCUMENTO
NM_PESSOA_FISICA
Pgina 8 de 16
Verso 1.1
Data: 25/06/2012
SG
Endereo
ED
Data_Hora
DH
Hora
HR
Ano
AN
Dia
DD
Ms
ME
Data
DT
Valor
VL
Peso
PS
Objeto
Binrio
OB
Percentual
PE
Quantidade
QT
Status
ST
MAPA/SE/SPOA/CGTI.
SG_UF
ED_PESSOA
ED_COMPLEMENTO
DH_CRIACAO_REGISTRO
HR_ABERTURA
AN_COMPETENCIA
DD_DEBITO
ME_VENCIMENTO
DT_NASCIMENTO
VL_SALARIO
PS_ITEM
OB_ASSINATURA
PE_INADIMPLENCIA
QT_ITEM
ST_CONFIRMADO
Pgina 9 de 16
Verso 1.1
Data: 25/06/2012
PZ
Observao: O campo tipo TEMPO foi descontinuado. Para tal tipo de atributo, deve-se utilizar um
dos tipos de campo data listados acima.
2.2.7
SEQUENCE
2.2.8
Dever ser formado pelo prefixo SQ_ + o nome da tabela sem prefixo.
Exemplo:
SQ_ USUARIO
CONSTRAINT
1. Chave Primria (PK)
Dever ser formado pelo prefixo PK_ + o nome da tabela sem prefixo.
Exemplo:
PK_USUARIO
2. Chave Estrangeira (FK)
Dever ser formado pelo prefixo FK_ + o nome da tabela filha sem prefixo +
_ + nome da tabela pai sem prefixo.
Exemplo:
FK_USUARIO_PERFIL
Para tabelas que possuem mais de um relacionamento com a mesma tabela,
dever ser adotado o padro FK_ + nome da tabela filha sem prefixo + _
nome da tabela pai sem prefixo + _ + texto de referncia.
Exemplo:
FK_USUARIO_UF_NATURALIDADE
FK_USUARIO_UF_RESIDENCIA
3. Unique
Dever ser formado pelo prefixo UK_ + o nome da tabela sem prefixo + _
+ nome da coluna sem prefixo.
Exemplo:
UK_USUARIO_LOGIN
Nos casos onde a unique constraint formada por mais de uma coluna,
dever ser adotado o padro UK_ + o nome da tabela sem prefixo + descrio
da unique constraint.
Exemplo:
Tabela:
S_CONTA_CORRENTE
Colunas:
CD_CONTA_CORRENTE + CD_AGENCIA
Nome da Unique:
UK _CC_CONTA_AGENCIA
4. Check
Dever ser formado pelo prefixo CK_ + o nome da tabela sem prefixo + _
MAPA/SE/SPOA/CGTI.
Pgina 10 de 16
Verso 1.1
Data: 25/06/2012
NDICE
1. Chave Secundria
Dever ser formado pelo prefixo I_ + o nome da tabela sem prefixo + _ +
nome da coluna.
Exemplo:
I_USUARIO_NM_LOGIN
2. ndice de Chave Estrangeira (FK)
Dever ser formado pelo prefixo I_ + nome da constraint.
Exemplo:
I_FK_USUARIO_PERFIL
3. ndice para Chave Primria (PK)
Dever ser utilizado o mesmo nome da Chave Primria (PK).
Exemplo:
PK_USUARIO
4. ndice criado pelo DBA para melhorar performance
Dever ser formado pelo prefixo IAD_ + nome da tabela sem prefixo + _ +
nome da coluna.
Exemplo:
IAD_PF_NM_PESSOA_FISICA
5. ndice de Unique
Dever ser formado pelo prefixo I_UK_ + nome da tabela sem prefixo + _
+ nome da coluna;
Exemplo:
I_UK_PF_NM_PESSOA_FISICA
Nos casos onde o index unique possuir mais de uma coluna, dever ser
formado pelo prefixo I_UK_ + nome da tabela sem prefixo + _ + descrio
para unique.
MAPA/SE/SPOA/CGTI.
Pgina 11 de 16
Verso 1.1
Data: 25/06/2012
Exemplo:
Tabela:
Colunas:
Nome da Unique:
2.2.10
S_CONTA_CORRENTE
CD_CONTA_CORRENTE + CD_AGENCIA
I_UK _CC_CONTA_AGENCIA
PACKAGE
1. Nome de Package
Dever ser formado pelo prefixo PA_ + nome do pacote;
Exemplo:
PA_PESSOA
2. Corpo de Package
Dever ser formado pelo prefixo PB_ + nome do pacote;
Exemplo:
PB_PESSOA
2.2.11
SYNOMYN
Est proibido a utilizao de sinnimos, salva excees devidamente justificadas
e autorizadas pela rea de banco de dados do MAPA;
Nos casos autorizados, dever ser utilizado o mesmo nome do objeto.
2.2.12
PROCEDURE
2.2.13
2.2.14
1. Para dados
Dever ser formado pelo prefixo D_ + sigla do sistema;
Exemplo:
D_GRH
2. Para ndices
Dever ser formado pelo prefixo I_ + sigla do sistema;
Exemplo:
I_GRH
2.2.15
TRIGGER
1. Regra de Negcio
a) Before
Ser executado antes da operao;
MAPA/SE/SPOA/CGTI.
Pgina 12 de 16
Verso 1.1
Data: 25/06/2012
VIEW/MATERIALIZED VIEW
1. Regras
Views que contenham somente tabelas do CORPORATIVO dever fica no
CORPORATIVO_MAPA;
No caso onde a view contenha tabelas do CORPORATIVO e de outro
MAPA/SE/SPOA/CGTI.
Pgina 13 de 16
Verso 1.1
Data: 25/06/2012
NOME DE TABELA
2.3.2
SEQUENCE
2.3.3
MAPA/SE/SPOA/CGTI.
Pgina 14 de 16
Verso 1.1
Data: 25/06/2012
2.3.4
INDICE
1. ndice criado pelo DBA para melhorar performance
Dever ser formado pelo prefixo IAD_ H_ + o nome da tabela.
Exemplo:
IAD_H_PF_USUARIO
2.4 AUDITORIA
Dever ser seguido o padro definido no Roteiro de Auditoria de Banco de Dados.
2.5 MODELO DE ENTIDADE-RELACIONAMENTO
2.5.1
2.5.2
PROPRIEDADES DO MODELO
2.5.3
EXIBIO DE TABELAS
2.5.4
Tabelas validadas pela equipe de banco de dados MAPA devero possuir a cor
amarela (linha 2 coluna 2 da tabela de cores);
Tabelas com alteraes devero ser marcadas com a cor vermelha (linha 2
coluna 1 da tabela de cores);
2.5.5
COMENTRIOS
Os objetos tabela, coluna, trigger e view devero possuir comentrios sobre suas
MAPA/SE/SPOA/CGTI.
Pgina 15 de 16
Verso 1.1
Data: 25/06/2012
definies.
VOLUMETRIA
Todas as tabelas devero possuir uma estimativa quanto ao nmero de registros
estimado por ms.
Esta opo pode ser informada/acessada atravs do clique no boto direito em
cima da tabela -> table properties -> volumetrics.
2.5.7
GERAO DE SCRIPTS
Para cada instruo SQL que importe em leitura ou escrita no banco de dados,
deve se ter um bloco de declarao (comentrios utilizando /* */) informando as
tabelas que sero lidas, quais sero escritas e objetivo geral da instruo;
Os scripts devero ser gerados de acordo com sua categoria (view, tabela,
function, procedure, carga, grants, etc) e armazenados de acordo com seu tipo
(DDL, DML, DCL e OUTROS). Dever existir somente um script para cada
categoria, salvo em caso de evolues e alteraes;
2.5.8
DISPONIBILIZAO DE SCRIPTS
Os scripts gerados devero ser disponibilizados de acordo com sua natureza os
diretrios de banco de dados, conforme item 2.1.
MAPA/SE/SPOA/CGTI.
Pgina 16 de 16