Olá, pessoal! Gostaria da opinião de vocês para as boas práticas de modo a melhorar o desempenho do BD trabalhando com as Tabelas.
Por exemplo, o que seria melhor indicado para registrar os documentos relacionados a uma tabela de imóveis:
1 - Criar uma única tabela para todo tipo de documento, contendo o campo de nome do documento, os poucos campos comuns a todos os tipos de documentos (ex: Número, validade) e mais os diversos campos específicos de cada documento (ex: Área, Número de Funcionários, processo, endereço, proprietários, hipoteca, valor venal, etc), que variam de documento pra documento,
OU
2 - Criar diversas tabelas, uma para cada tipo de documento, contendo seus campos específicos. Ex: Para a tabela de Impostos, cria-se os campos de número do imposto, validade, área do terreno, área da construção, valor do imposto, valor venal, etc. Para tabela de Registro dos Imóveis em Cartório, cria-se os campos de número do registro, área, endereço, proprietários, hipoteca, etc. Para a tabela de Licença de Construção, cria-se os campos de número da licença, processo, validade, descrição, órgão emissor, etc.
Na solução 1, existe uma única tabela, mas que fica pesada, com muitos campos inúteis a diversos tipos de documentos, que ficarão em branco. Porém, é mais prático criar consultas que busquem todos os documentos de um determinado imóvel
Na solução 2, ficaremos com inúmeras tabelas, pois são muitos os tipos de documentos. Ficam mais leves. Mas a questão das consultas fica um pouquinho mais burocrática, pois teremos que fazer diversas consultas se quisermos listar todos os documentos pertencentes a um imóvel.
Este é só um exemplo, mas me deparo com o mesmo tipo de dúvida em diversos tipos de aplicação.
A experiência de cada um pode dar um "norte" para a criação de bancos de dados mais eficientes.
E aí, o que acham?
Por exemplo, o que seria melhor indicado para registrar os documentos relacionados a uma tabela de imóveis:
1 - Criar uma única tabela para todo tipo de documento, contendo o campo de nome do documento, os poucos campos comuns a todos os tipos de documentos (ex: Número, validade) e mais os diversos campos específicos de cada documento (ex: Área, Número de Funcionários, processo, endereço, proprietários, hipoteca, valor venal, etc), que variam de documento pra documento,
OU
2 - Criar diversas tabelas, uma para cada tipo de documento, contendo seus campos específicos. Ex: Para a tabela de Impostos, cria-se os campos de número do imposto, validade, área do terreno, área da construção, valor do imposto, valor venal, etc. Para tabela de Registro dos Imóveis em Cartório, cria-se os campos de número do registro, área, endereço, proprietários, hipoteca, etc. Para a tabela de Licença de Construção, cria-se os campos de número da licença, processo, validade, descrição, órgão emissor, etc.
Na solução 1, existe uma única tabela, mas que fica pesada, com muitos campos inúteis a diversos tipos de documentos, que ficarão em branco. Porém, é mais prático criar consultas que busquem todos os documentos de um determinado imóvel
Na solução 2, ficaremos com inúmeras tabelas, pois são muitos os tipos de documentos. Ficam mais leves. Mas a questão das consultas fica um pouquinho mais burocrática, pois teremos que fazer diversas consultas se quisermos listar todos os documentos pertencentes a um imóvel.
Este é só um exemplo, mas me deparo com o mesmo tipo de dúvida em diversos tipos de aplicação.
A experiência de cada um pode dar um "norte" para a criação de bancos de dados mais eficientes.
E aí, o que acham?