Nomeando os bancos, tabelas e campos
De Wiki.Softwell
Na definição do nome das tabelas e campos no banco de dados devemos seguir um padrão razoável de nomenclatura dos objetos, abaixo segue uma lista de recomendações para o correto e total aproveitamento do Maker. Essas recomendações devem ser seguidas para que não precisemos intervir no processo de inferência do Maker, permitindo um total aproveitamento da ferramenta.
Tabela de conteúdo |
O que não se deve fazer
- Usar palavras reservadas para nomear tabelas ou campos - Apesar de permitido por alguns SGDBs a utilização de palavras reservadas ou keywords cria restrições à utilização de certos recursos do banco de dados, e obriga a utilização de caracteres de escape ao referenciar a tabela ou campo no SQL.
- Uso de espaços nos nomes de campo e/ou tabelas - Mais uma vez a utilização de espaços força o desenvolvedor a utilizar caracteres de escape para referências a tabelas e campos.
- Uso de caracteres especiais: Acentos, Aspas, Cedilhas - Incorre nos mesmos problemas listados acima.
Recomendações
- Prefixe as tabelas com a sigla do seu sistema;
- Utilize chaves primárias e extrangeiras na definição do banco de dados - O Maker dispões de mecanismos para interpretação das definições do banco de dados, o uso do PK e FK será "entedido" pelo software que utilizará essas informações para inferir as interfaces;
Contornando os problemas
- Uso de campos com acento, cedilha e outros caracteres especiais - Para referênciar esses campos utilize caracteres de escape, por exemplo para criar um formulário sobre a tabela abaixo (PostgreSQL):
create table ENDERECO (
"Código" SERIAL not null,
"Endereço" varchar(30),
logradouro varchar(60),
"Número" varchar(7),
CONSTRAINT ENDERECO_pkey PRIMARY KEY ("Código")
)
Você recebrá uma mensagem como está ao selecionar a tabela endereço:
Quantidade de descrições e quantidade de campos não coincidem
Nestes casos utilize o "Assistente de Consulta" para adicionar caracteres de escape (aspas duplas (")) aos nomes dos campos. Em seguida, será possível executar o assistente de SQL. O select ficará parecido com o listado abaixo:
Select endereco."Código", endereco."Endereço", endereco.logradouro, endereco."Número" From endereco
