[firebase-br] SQL Elegante
Francisco Thiago
jeandeadlucky em yahoo.com.br
Qui Jul 20 17:49:43 -03 2006
Já que a questão é sobre padrões, vou colocar resumidamente o que eu uso.
Tabelas com nomes significativos (não importa se plural ou não.. mas é
interessante);
Chaves primárias sempre com um único campo. A questao de chaves compostas é
que caso você queria fazer um "Mestre-detalhe" o filho vai ter que ter a
mesma PK composta do pai... o que pode não ser necessário. E se você usa um
campo auto-inc pra chave, pra quê vai usar composto? Vai repetir nunca
mesmo!
campos. Eles devem ser precedidos de uma sigla que diga o nome da tabela a
qual eles pertencem. A tabela caixa, por exemplo tem os campos CAIX_CODIGO,
CAIX_Abertura_Data (...). Campos FK devem ter o mesmo nome do campo na
tabela de origem. Na tabela pessoa CAixa temos: CAIX_CODIGO, PESS_CODIGO
(Chave estrangeira para a tabela pessoa).
Caso a tabela tenha mais de uma referência a uma segunda tabela, o início do
nome segue a mesma nomenclatura (o mesmo nome na tabela de origem) seguida
de um _Particularidade.
Constraint devem começar com o PK_, UQ_, FK_ ou qqr outra que diga a função
da constraint Mais o seu nome. O índice criado pra ela deverá conter
IDX_[NOME DA CONSTRAINT].
Constraint de Foreign Key deve ser nomeado FK_[SIGLA DA TABELA]_[SIGLA DA
TABELA ESTRANGEIRA]
Índices avulsos devem ser IDX_[FUNÇÃO (PK_, UQ_, FK_, SH_ (search))]_nome_do
campo
As trigger seguem o padrão que o IBEXpertinho já usa
Stored Procedure deve ter um nome significativo. as variáveis podem ser
IN_Nome (entrada), OUT_Nome (saída) e VAR_NOME (variaveis internas)
Views devem ter seus nomes precedidos de VW_ e um nome significativo.
Dessa forma, eu sempre vou saber de onde está vindo o campo, pra onde ele
está indo e o que ele tá fazendo ali :D
basicamente é isso.
Mas uma coisa é certa. Ninguém vai postar os seus sql's do jeitinho que eles
estão no programa aqui. sempre vai ter alguma modificação pra que todo mundo
saiba do que se está falando
[]'s
Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
http://enterplug.no-ip.com/sistema_ctrc/
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
Mais detalhes sobre a lista de discussão lista