Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pohon Hubungan Toko MySQL (Keluarga)

Ide yang berasal dari skema Geneapro dan 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

Jadi Anda dapat memiliki peristiwa kehidupan dengan tipe "kelahiran", dan role_id memberi tahu Anda siapa orang tuanya, dan siapa anaknya. Ini dapat diperluas ke pernikahan, kematian, perceraian, orang tua angkat, orang tua pengganti (di mana Anda mungkin memiliki 3 atau 4 orang tua dengan hubungan yang sangat rumit), dll.

Adapun untuk menyimpan hubungan yang lebih jauh, Anda dapat menghitung ini. Misalnya, Anda dapat menghitung Ayah dari siapa pun dengan mendapatkan orang yang memiliki peran 'ayah' dengan event_id yang cocok. Anda kemudian bisa mendapatkan ayah dari orang itu, dan Anda memiliki kakek dari orang aslinya. Di mana pun seseorang tidak dikenal, buat orang tersebut dengan data yang tidak diketahui.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan GROUP_CONCAT pada subquery di MySQL

  2. Menggunakan bidang SQLAlchemy Integer untuk membuat objek timedelta untuk pemfilteran

  3. SQLAlchemy dan UnicodeDecodeError

  4. Batas SQL PILIH tetapi tidak GABUNG

  5. Cara Menampilkan Collation Database di MySQL