Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cây quan hệ cửa hàng MySQL (Gia đình)

Ý tưởng đến từ lược đồ Geneapro 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

Vì vậy, bạn có thể có một sự kiện trong đời thuộc loại "sinh" và role_id cho bạn biết ai là cha mẹ và ai là con. Điều này có thể được mở rộng cho các cuộc hôn nhân, qua đời, ly hôn, cha mẹ nuôi, cha mẹ thay thế (nơi bạn có thể có 3 hoặc 4 cha mẹ với mối quan hệ rất phức tạp), v.v.

Còn để lưu trữ những mối quan hệ xa hơn, bạn có thể tính toán những điều này. Ví dụ:bạn có thể tính Cha của bất kỳ ai bằng cách lấy người có vai trò 'cha' với event_id phù hợp. Sau đó, bạn có thể lấy cha của người đó, và bạn có ông nội của người ban đầu. Bất kỳ nơi nào mà ai đó không xác định, hãy tạo người đó với dữ liệu không xác định.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định dạng ngày cụ thể trong mysql

  2. MySQL index_length có tính bằng byte không?

  3. XÓA bằng cách sử dụng LEFT JOIN với LIMIT trong MySQL

  4. Độ dài cột JSON tối đa trong MySQL

  5. MySQL thêm các trường vào Enum