Software  
 
Rede de conhecimento computador >> Software >> Software de banco de dados >> Content
Como você estruturaria seu banco de dados para rastrear uma árvore genealógica?
Aqui está uma estrutura de banco de dados para rastrear uma árvore genealógica, juntamente com explicações e considerações:

Tabelas:

1. pessoas
- id (int, chave primária) :Identificador único para cada pessoa.
- primeiro_name (varchar) :Primeiro nome da pessoa.
- last_name (varchar) :Sobrenome da pessoa.
- birth_date (data) :Data de nascimento.
- Death_date (data) :Data da morte (anulável).
- gênero (enum) :Gênero (por exemplo, 'masculino', 'feminino', 'outro').
- Notas (texto) :Notas ou informações adicionais sobre a pessoa.

2. relacionamentos
- id (int, chave primária) :Identificador exclusivo para cada relacionamento.
- Person_id (int) :Chave estrangeira Referenciando a tabela 'People' (pai).
- relacionado_person_id (int) :Chave estrangeira referenciando a tabela 'pessoas' (criança).
- relacionamento_type (enum) :Tipo de relacionamento (por exemplo, 'pai', 'filho', 'cônjuge', 'irmão').
- order (int) :Campo opcional para rastrear a ordem das crianças (para vários filhos dos mesmos pais).

3. lugares
- id (int, chave primária) :Identificador exclusivo para cada lugar.
- nome (varchar) :Nome do local (por exemplo, cidade, cidade, país).
- tipo (enum) :Tipo de lugar (por exemplo, 'cidade', 'país', 'estado').

4. eventos
- id (int, chave primária) :Identificador exclusivo para cada evento.
- Person_id (int) :Chave estrangeira Referenciando a tabela de 'pessoas'.
- event_type (enum) :Tipo de evento (por exemplo, 'nascimento', 'casamento', 'morte').
- event_date (data) :Data do evento.
- place_id (int) :Chave estrangeira Referenciando a tabela de 'lugares'.
- Notas (texto) :Notas adicionais sobre o evento.

Explicação:

* Tabela de pessoas: A tabela principal, mantendo informações básicas sobre cada indivíduo na árvore genealógica.
* Tabela de relacionamentos: Define como as pessoas estão conectadas. Esta tabela permite que você modele estruturas familiares complexas (por exemplo, pais de etapas, crianças adotadas, etc.)
* Locais tabela: Fornece informações sobre os locais associados a pessoas e eventos (por exemplo, locais de nascimento, locais de morte).
* Tabela de eventos: Registra eventos significativos na vida de uma pessoa, como nascimento, casamento e morte.

Vantagens desta estrutura:

* flexível: O banco de dados pode acomodar várias estruturas e relacionamentos familiares.
* escalável: Fácil de adicionar novos indivíduos e eventos à medida que a árvore genealógica cresce.
* Normalizado: Reduz a redundância de dados e melhora a eficiência.

Considerações:

* Tipos de dados: Escolha tipos de dados apropriados para cada coluna (por exemplo, `int`,` varchar`, `date`,` enum`).
* Relacionamentos : Certifique -se de que os relacionamentos sejam aplicados corretamente usando chaves estrangeiras.
* Normalização: Considere uma normalização adicional (por exemplo, criando tabelas separadas para endereços, ocupações) para grandes bancos de dados.
* Entrada de dados: Desenvolva uma interface amigável para inserir dados no banco de dados.
* Visualização: Use ferramentas (por exemplo, bibliotecas gráficas) para visualizar a árvore genealógica no banco de dados.

Consultas de exemplo:

* Liste todas as crianças de uma pessoa específica:
`` `SQL
Selecione P.First_Name, P.Last_Name
De pessoas p
Junte -se relacionamentos r em p.id =r.related_person_id
Onde r.person_id =
E R.RelationShip_Type ='Child';
`` `
* Encontre todas as pessoas nascidas em uma cidade específica:
`` `SQL
Selecione P.First_Name, P.Last_Name
De pessoas p
Junte -se a eventos e em p.id =e.person_id
Junte -se a lugares PL em E.Place_Id =PL.ID
Onde e.event_type ='nascimento'
E pl.name ='Nova York';
`` `

Nota: Esta é uma estrutura básica. Pode ser necessário adicionar ou modificar tabelas com base em seus requisitos específicos e na complexidade da sua árvore genealógica.

Anterior :

Próximo :
  Os artigos relacionados
·Como aparar todos os dados no lado esquerdo do Valor 
·Como copiar uma tabela sem dados em MS SQL 
·Como montar um arquivo ISO em Vista 
·Como acessar Consulta Mesclar Colunas com base em crité…
·Quais são as responsabilidades do responsável pelo tr…
·O que é um banco de dados acessível por muitos usuár…
·FileMaker Pro Instruções 
·Como configurar Livros sobre QuickBooks 
·Como criar um mapa de imagem para Microsoft 
·Como adicionar cor para listas de valores em FileMaker …
  Artigos em destaque
·Como usar o Microsoft SQL com Sharepoint 
·Especificações Skype 
·Shrek PC Games 
·Como fazer Dados de Vídeo Discos reproduzíveis em um …
·Como converter arquivos do AutoCAD em PDF Usando Demo 
·Como inserir colunas em Word 
·O que o lançador da caixa de diálogo no Excel faz? 
·O microfone Sennheiser é compatível com Windows? 
·Como remover uma coroa no Discord 
·Como editar um trabalho agendado Usando Microsoft Backu…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados