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

Apakah ada manfaat memiliki kunci utama yang bertambah secara otomatis di tabel pivot MySQL?

Pos dan kategori mungkin banyak-ke-banyak, bukan satu-ke-banyak.

Tabel hubungan banyak-ke-banyak paling baik dilakukan seperti

CREATE TABLE a_b (
a_id ... NOT NULL,
b_id ... NOT NULL,
PRIMARY KEY (a_id, b_id),
INDEX(b_id, a_id) -- include this if you need to go both directions
) ENGINE = InnoDB;

Dengan itu, Anda secara otomatis mendapatkan pencarian "berkelompok" di kedua arah, dan Anda menghindari id buatan yang tidak perlu untuk tabel.

(Omong-omong, N.B., PK implisit adalah 6 byte, bukan 8. Ada posting panjang oleh Jeremy Cole tentang topik tersebut.)

Hubungan satu-ke-banyak tidak memerlukan tabel tambahan ini. Sebagai gantinya, miliki satu id di dalam tabel lainnya. Misalnya, tabel Kota akan memiliki id untuk Negara di dalamnya.



  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 DATEDIFF() vs TIMEDIFF():Apa Bedanya?

  2. Apakah ada kemungkinan untuk mendengarkan di tabel/bidang sql dengan unta?

  3. Bagaimana cara membuat kueri lintas basis data di PHP?

  4. Hibernate penguncian optimis..bagaimana cara kerjanya?

  5. hitungan lambat (*) di innoDB