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

Peningkatan otomatis MySQL antar tabel

Sepertinya Anda ingin membedakan kategori dan topik dalam dua tabel terpisah, tetapi id keduanya dirujuk di tabel lain likes untuk memfasilitasi pengguna menyukai kategori atau topik.

Yang dapat Anda lakukan adalah membuat tabel entitas super dengan subtipe categories dan topics . Kunci yang bertambah secara otomatis akan dibuat di tabel entitas super dan dimasukkan hanya ke salah satu dari dua tabel subtipe (berdasarkan apakah itu kategori atau topik).

Tabel subtipe merujuk entitas super ini melalui bidang yang bertambah secara otomatis dalam hubungan 1:1.

Dengan cara ini, Anda cukup menautkan tabel entitas super ke likes tabel hanya berdasarkan satu kolom (yang dapat mewakili kategori atau topik), dan tanpa id di tabel subtipe akan ada di keduanya.

Berikut adalah contoh sederhana tentang bagaimana Anda dapat membuat model ini:

Model ini akan memungkinkan Anda untuk mempertahankan hubungan antara kategori dan topik, tetapi membuat kedua entitas digeneralisasikan dalam superentity tabel.

Keuntungan lain dari model ini adalah Anda dapat mengabstraksi bidang umum dalam tabel subtipe ke dalam tabel superentitas. Katakan misalnya bahwa categories dan topics keduanya berisi bidang title dan url :Anda dapat meletakkan bidang ini di superentity tabel karena mereka adalah atribut umum dari subtipenya. Hanya letakkan bidang yang khusus untuk tabel subtipe DI tabel subtipe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Adakah alasan untuk tetap menggunakan kasing ular untuk tabel dan kolom basis data?

  2. Bagaimana saya melakukan hitungan MySQL (*) di Doctrine2?

  3. Konektor MySQL ODBC odbc.ini nilai bendera 'Opsi'

  4. MyCLI – Klien MySQL/MariaDB dengan Pelengkapan Otomatis dan Penyorotan Sintaks

  5. perbarui kolom dengan mengurangi nilai