|
||
|
|
Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Banco de dados e SQL » Modelagem de Dados: Chaves Simples e Chaves Compostas
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 02/10/2006Modelagem de Dados: Chaves Simples e Chaves Compostas
Gustavo Maia Aguiar é administrador de Empresas pela Universidade de Brasília (UnB) e pós-graduado em bancos de dados pela Universidade Católica de Brasília (UCB), atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MOS, MCDBA, MCAD, MCTS (SQL 2005), MCITP (DB Dev), MCITP (DB Admin), MCT e Itil Certified Professional) e suas áreas de interesse incluem .NET, XML, SQL Server, banco de dados em geral e Business Intelligence. É membro ativo dos fóruns MSDN e TechNet além de moderador da comunidade SQL Server Brasil (Orkut).
O processo de modelagem de dados é guiado por normas técnicas, convenções e boas práticas, mas em determinados momentos ele é influenciado pela subjetividade do modelador. O modelador possui experiências próprias, situações vivenciadas e conhecimentos específicos de negócios. Essas características variam de modelador para modelador e têm grande influência no processo de modelagem de dados. Vários aspectos decorrem dessas características e estes podem influenciar o processo de modelagem introduzindo alguns conflitos potenciais como chaves simples e chaves compostas, representação de supertipos, representação de hierarquias, etc. Uma das questões mais freqüentes é a presença de chaves compostas em contraposição às chaves simples. Para explicar as vantagens e desvantagens de uma abordagem ou de outra será proposta a seguinte situação:
O maior foco de pesquisa no banco de dados será de clientes por cidade Todos esses campos dizem respeito ao endereço mas foi identificada uma hierarquia disposta da seguinte forma: região, estado, cidade, bairro e o endereço. Assim sendo uma região possui vários estados, um estado possui várias cidades, etc. Todas as entidades possuem códigos internos. O desenho abaixo representa essa hierarquia. MARCUS VINICIUS VIANA DE OLIVEIRA <marcusvvo@yahoo.com.br>
EXCELENTE EXPLICAÇÃO MAS NO SITE OS ARTIGOS SOBRE CHAVES ESTÃO SEM AS ILUSTRÃÇÕES PODERIAM CORRIGIR E DEPOIS ENVIAR-ME UM EMAIL PARA EU RETOMAR A LEITURA
![]() ![]() ![]() ![]() ![]() LSouza <lilian.net@gmail.com>
Suponha uma modelo para: região, estado, município, distrito etc.
Imaginei utilizar chaves compostas pelo id da tabela pai como chave estrangeira e o id da tabela em questão. Ambas formariam a chave primária Detalhe: Gostaria que o id da tabela em questão fosse auto incrementável. Até aí tudo bem. Ocorre que ao tentar criar desta forma no MYSQL(banco que estou usando) deu erro. As tabelas do tipo InnoDb não permitem de jeito nenhum esta construção: Uma chave Primary composta por uma estrangeira e outra auto incrementável. Dúvida: conceitualmente falando, esta solução não costuma ser adotada? Não é a mais indicada? Qual seria a melhor solução? Li seus artigos sobre hierarquia e chaves compostas x chaves simples. Excelentes por sinal. Ocorre que nos quatro artigos relacionado à hierarquia não consegui identificar plenamente em qual dos modelos esta minha leitura se enquadraria. Vi semelhanças com o modelo dos caminhos materializados porém não totalmente. Neste modelo a Pk continua sendo simples e não composta. Poderia me esclarecer esta dúvida? Mostrar o caminho? Acha viável utilizar chaves compostas com uma estrangeira e a outra auto incrementável ou sugeriria outra solução? ![]() ![]() ![]() ![]() ![]() ![]() |
|
|