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

Satu ke Banyak MySQL

MySQL tidak tahu, juga tidak perlu tahu apakah suatu hubungan 1-1, atau 1-banyak.
Tidak ada SQL yang mendukung hubungan banyak-banyak, semua memerlukan tabel perantara yang membagi hubungan banyak-banyak menjadi 2 pisahkan 1-banyak.

Perbedaannya terletak pada logika yang mengontrol hubungan, yaitu dalam kode yang Anda tulis.
Hubungan 1-1 dipertahankan dengan membuat tabel berbagi kunci utama (PK) yang sama.
Dengan tabel sekunder mendeklarasikan bahwa PK sebagai kunci asing menunjuk ke tabel PK lainnya.

Table chinese_mother (
id integer primary key,
name....
   

Table chinese_child (
id integer primary key,
name ....
....,
foreign key (id) references chinese_mother.id

Arah hubungan 1 -> many vs many <- 1 ditentukan oleh lokasi bidang tautan.

Biasanya setiap tabel memiliki id yang unik dan bidang tautan disebut tablename_id .
Tabel yang memiliki field link di dalamnya adalah many sisi hubungan, tabel lainnya ada di 1 samping.

Table user
id: primary key
name......
.....

Table location
id: primary key
user_id foreign key references (user.id)
x
y
.......

Dengan menempatkan bidang tautan di location tabel, Anda memaksa sesuatu sehingga lokasi hanya dapat memiliki 1 pengguna. Namun pengguna dapat memiliki banyak lokasi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saya ingin menyalin tabel yang terdapat dari satu database dan menyisipkan ke tabel database lain

  2. GALAT saat mengirim tabel sebagai parameter dalam prosedur penyimpanan MySQL

  3. Maksimum berdasarkan grup

  4. Cara Menambahkan Total Baris di MySQL

  5. Membandingkan Solusi Replikasi Dari Oracle dan MySQL