sql >> Databáze >  >> RDS >> Mysql

Strom vztahů (rodinného) obchodu MySQL

Nápad, který pochází ze schéma Geneapro a RootsMagic .

person
------
person_id
name (etc)

life_event_types
----------------
life_event_type_id
life_event_type_description (divorce, marriage, birth, death)

life_events
-----------
life_event_id
life_event_type_id
life_event_description
life_event_date

life_event_roles
----------------
life_event_role_id
life_event_role (mother, father, child)

person_event_role
-----------------
person_id - who
life_event_id - what happened
life_event_role_id - what this person did

Takže můžete mít životní událost typu „narození“ a role_id vám řekne, kdo byli rodiče a kdo bylo dítě. To lze rozšířit na sňatky, úmrtí, rozvody, pěstouny, náhradní rodiče (kde můžete mít 3 nebo 4 rodiče s velmi komplikovaným vztahem) atd.

Co se týče ukládání vzdálenějších vztahů, ty si můžete spočítat. Můžete například vypočítat otce kohokoli tak, že osobě, která má roli „otce“, získáte odpovídající event_id. Pak můžete získat otce této osoby a máte dědečka původní osoby. Kdekoli, kde je někdo neznámý, vytvořte osobu s neznámými daty.



  1. Oracle SqlPlus – ukládání výstupu do souboru, ale nezobrazování na obrazovce

  2. Odstranění databázového poštovního účtu v SQL Server (T-SQL)

  3. přesměrovat 404 na podobné adresy URL

  4. Jak znovu vytvořit nekonzistentní MySQL Slave?