Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Drzewo relacji (rodzinne) MySQL Store

Pomysł wywodzący się ze schematu Geneapro i 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

Możesz więc mieć wydarzenie życiowe typu „narodziny”, a identyfikator roli mówi ci, kim byli rodzice, a kim było dziecko. Może to zostać rozszerzone na małżeństwa, zgony, rozwody, rodziców zastępczych, rodziców zastępczych (gdzie możesz mieć 3 lub 4 rodziców w bardzo skomplikowanym związku) itp.

Jeśli chodzi o przechowywanie bardziej odległych relacji, możesz je obliczyć. Na przykład możesz obliczyć ojca kogokolwiek, pobierając osobę pełniącą rolę „ojca” z pasującym identyfikatorem zdarzenia. Możesz wtedy uzyskać ojca tej osoby i dziadka oryginalnej osoby. Wszędzie tam, gdzie ktoś jest nieznany, stwórz osobę z nieznanymi danymi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql wyszukiwanie słów kluczowych

  2. Generator niestandardowego klucza podstawowego MySQL

  3. Po aktualizacji systemu Windows 10 1803 mój program nie może otworzyć gniazda podczas pracy z udziału sieciowego

  4. łączenie miesięcznych danych dotyczących kontraktów terminowych z szeregami czasowymi z pierwszego miesiąca w MySQL

  5. Jak zastąpić string innym stringiem i zachować wielkość liter w php i mysql?