“Conocimiento software>Software de base de datos

¿Cómo estructuraría su base de datos para rastrear un árbol genealógico?

2011/8/12
Aquí hay una estructura de base de datos para rastrear un árbol genealógico, junto con explicaciones y consideraciones:

Tablas:

1. personas

- id (int, clave primaria) :Identificador único para cada persona.

- First_Name (Varchar) :Nombre de la persona.

- last_name (varchar) :Apellido de la persona.

- birth_date (fecha) :Fecha de nacimiento.

- Death_date (fecha) :Fecha de muerte (anulable).

- género (enum) :Género (por ejemplo, 'masculino', 'mujer', 'otro').

- notas (texto) :Notas o información adicionales sobre la persona.

2. Relaciones

- id (int, clave primaria) :Identificador único para cada relación.

- persona_id (int) :Clave extranjera que hace referencia a la tabla de 'personas' (padre).

- Relation_person_id (int) :Clave exterior que hace referencia a la tabla de 'personas' (niño).

- relación_type (enum) :Tipo de relación (por ejemplo, 'padre', 'niño', 'cónyuge', 'hermano').

- orden (int) :Campo opcional para rastrear el orden de los niños (para varios hijos de los mismos padres).

3. Lugares

- id (int, clave primaria) :Identificador único para cada lugar.

- Nombre (Varchar) :Nombre del lugar (por ejemplo, ciudad, ciudad, país).

- tipo (enum) :Tipo de lugar (por ejemplo, 'ciudad', 'país', 'estado').

4. Eventos

- id (int, clave primaria) :Identificador único para cada evento.

- persona_id (int) :Clave exterior que hace referencia a la tabla de 'personas'.

- event_type (enum) :Tipo de evento (por ejemplo, 'nacimiento', 'matrimonio', 'muerte').

- event_date (fecha) :Fecha del evento.

- place_id (int) :Clave extranjera que hace referencia a la tabla de 'lugares'.

- notas (texto) :Notas adicionales sobre el evento.

Explicación:

* Table de la gente: La tabla central, que contiene información básica sobre cada individuo en el árbol genealógico.

* Tabla de relaciones: Define cómo están conectadas las personas. Esta tabla le permite modelar estructuras familiares complejas (por ejemplo, padrastros, niños adoptados, etc.)

* Tabla de lugares: Proporciona información sobre las ubicaciones asociadas con personas y eventos (por ejemplo, lugares de nacimiento, ubicaciones de muerte).

* Tabla de eventos: Registra eventos significativos en la vida de una persona, como el nacimiento, el matrimonio y la muerte.

Ventajas de esta estructura:

* flexible: La base de datos puede acomodar varias estructuras y relaciones familiares.

* escalable: Fácil de agregar nuevas personas y eventos a medida que crece el árbol genealógico.

* Normalizado: Reduce la redundancia de datos y mejora la eficiencia.

Consideraciones:

* Tipos de datos: Elija los tipos de datos apropiados para cada columna (por ejemplo, `int`,` varchar`, `date`,` enum`).

* Relaciones: Asegúrese de que las relaciones se apliquen correctamente utilizando claves extranjeras.

* Normalización: Considere una mayor normalización (por ejemplo, crear tablas separadas para direcciones, ocupaciones) para grandes bases de datos.

* Entrada de datos: Desarrolle una interfaz fácil de usar para ingresar datos en la base de datos.

* Visualización: Use herramientas (por ejemplo, gráficos de bibliotecas) para visualizar el árbol genealógico de la base de datos.

Consultas de ejemplo:

* Enumere a todos los niños de una persona específica:

`` `SQL

Seleccione P.First_Name, P.Last_Name

De la gente P

Unir las relaciones r en p.id =related_person_id

Donde r.person_id =

Y R.Relationship_Type ='Child';

`` `` ``

* Encuentra a todas las personas nacidas en una ciudad específica:

`` `SQL

Seleccione P.First_Name, P.Last_Name

De la gente P

Unir eventos e en p.id =E.person_id

Unir lugares PL en E.Place_id =pl.id

Donde e.event_type ='nacimiento'

Y pl.name ='Ciudad de Nueva York';

`` `` ``

nota: Este es un marco básico. Es posible que deba agregar o modificar tablas en función de sus requisitos específicos y la complejidad de su árbol genealógico.

Software de base de datos
Definir la estructura de base de datos relacional
Cómo crear un archivo delimitado espacio
Cómo introducir fracciones en Access 2007
¿Qué es un procesador de consultas
Las características de una Base de Datos Relacional
Cómo mostrar Query Acceso
Relational Database Tools Prototipos
Cómo ajustar todas las columnas en Más en Access
Conocimiento de la computadora © http://www.ordenador.online