phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Hubungan basis data menggunakan phpmyAdmin (kunci gabungan)

Nilai NULL

Ini juga berarti item akan memiliki 5 id termasuk miliknya sendiri. Ini semua menyebabkan nilai nol (tampaknya tidak, tidak, yang dapat saya pahami) karena jika tempat dan harga bersifat opsional dan tidak digunakan pada satu entri ke tabel item, saya akan memiliki nilai nol di sana

Secara pribadi saya pikir ini adalah satu situasi di mana NULL nilainya sempurna, dan saya pasti tidak akan ragu untuk memasukkan ini ke dalam desain basis data saya.

Salah satu cara saya melihat orang lain mencapai hal yang sama tanpa NULL nilai adalah membuat catatan di tabel opsional (tempat dan harga dalam contoh Anda) dengan ID 0 yang menandakan tidak ada catatan terkait - tetapi ini hanya membuat 10 kali lebih banyak pekerjaan bagi pengembang aplikasi untuk memfilter catatan ini - JAUH lebih mudah untuk melakukan penggabungan dan jika Anda tidak mendapatkan catatan apa pun kembali, tidak ada catatan terkait di tabel opsional.

Ingatlah untuk melakukan LEFT atau RIGHT OUTER bergabunglah jika Anda ingin mengembalikan Item s terlepas dari apakah mereka memiliki Place atau Price terkait (Anda akan mendapatkan NULL nilai di kolom tabel opsional untuk Item s yang tidak memiliki catatan terkait) dan INNER bergabunglah jika Anda hanya ingin Item s yang lakukan memiliki catatan opsional terkait.

Kunci Gabungan

Kunci komposit adalah kunci dalam tabel yang terdiri dari lebih dari satu kolom. Jika masing-masing Person . Anda , Item , Place dan Price semua memiliki ID (meskipun itu hanya angka yang bertambah secara otomatis), Anda tidak memerlukan kunci komposit - hanya kolom kunci utama di setiap tabel, dan kolom kunci asing di Item tabel untuk setiap tabel terkait - mis. item_id , person_id , place_id , price_id . Anda menyatakan bahwa Item memiliki ID sendiri, jadi Anda tidak memerlukan kunci komposit - cukup kunci utama pada item_id kolom.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. bagaimana saya bisa mengenkripsi seluruh kolom?

  2. Bagaimana cara mencari database MySQL untuk nama kolom tertentu?

  3. phpMyAdmin tidak menampilkan semua baris - jumlah total catatan yang ditampilkan salah

  4. Perbarui 1 kolom dari file cadangan sql

  5. Kesalahan #1064 konstan pada semua yang saya lakukan di mySQL melalui phpMyAdmin