Padronizando Nomes de Objeto - Banco de Dados
by Gilberto C. Andrade on 08 maio 2009
Tagged as: Database, nomear-objeto, padrão,
Primeiro definimos a extensão dos arquivos que conterão as sentenças de criação dos objetos do banco de dados:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para Tabelas | Descrição | Exemplo |
---|---|---|
| onde | ger_pessoa |
Para Sequências | Descrição | Exemplo |
---|---|---|
| onde | ger_funcionario_sequence |
Para Colunas | Descrição | Exemplo |
---|---|---|
| para coluna representando a chave primaria da tabela. | cd_pessoa |
| para coluna(s) representando a presença de chave estrangeira. | cd_municipio |
| para coluna(s) representando a presença de chave estrangeira. | cd_municipionaturalidade |
| para coluna representando campo lógico(verdadeiro ou falso). | fl_dependente, fl_encerrado |
| para coluna representando campo data. | dt_nascimento |
_ | para coluna representando campo tempo. | hr_saida |
| para coluna representando campo numerico. | nu_leicriacao |
Para nomear constraints, devemos usar um padrão porque não pode haver repetição de nomes dos mesmos (limitado a 30 caracteres - limitação do oracle).
Para Constraints | Descrição | Exemplo |
---|---|---|
| para chave primaria. | constraint sys_usuario_pk primary key (cd_usuario) enable |
| para indice unico. | constraint sys_usuario_uk unique (login, email) enable |
| para coluna(s) representando a presença de chave estrangeira. | constraint entidade_to_subentidade_fk foreign key (id_entidade) references kira.sys_entidade (id_entidade) enable |
| para check. | create table ergon.ergon_regras_compara_ff |
(
regra number(6,0) constraint regras_compara_ff_regra_ck_0 not null enable,
fl_ativa_1 char(1 byte) default ‘n’ constraint rg_cp_ff_fl_ativa_1_ck_0 not null enable,
fl_ativa_2 char(1 byte) default ‘n’ constraint rg_cp_ff_fl_ativa_2_ck_0 not null enable,
fl_ativa_3 char(1 byte) default ‘n’ constraint rg_cp_ff_fl_ativa_3_ck_0 not null enable,
limite_diferenca number(11,2),
constraint ergon_regras_compara_ff_pk primary key (regra) enable,
constraint rg_cp_ff_fl_ativa_1_ck_1 check (fl_ativa_1 in (‘s’, ‘n’)) enable novalidate,
constraint rg_cp_ff_fl_ativa_2_ck_2 check (fl_ativa_2 in (‘s’, ‘n’)) enable novalidate,
constraint rg_cp_ff_fl_ativa_3_ck_3 check (fl_ativa_3 in (‘s’, ‘n’)) enable novalidate
) ; |
Nota: em todos os casos acima, sendo o nome do objeto grande, devemos abreviar o nome do mesmo.
ex.:
aplicacoes = apli (4)
aplicacao_funcoes = apfu (2:2)
aplicacao_funcao_papeis = apfp (2:1:1)
aplicacao_funcao_papel_bananas = afpb (1:1:1:1)
aplicacao_funcao_papel_banana_macas = (Seja criativo!)
REFERENCIA: NamingConventions.php
Uso essa estratégia há algum tempo e fica muito fácil de trabalhar e manter.
Você adota uma notação?
Qual notação você usa?