Tentang SQL (Komputasi / Database):
Ketika kita memiliki dua atau lebih bidang dalam tabel yang, bersama-sama, mengidentifikasi catatannya secara unik, apa cara yang tepat untuk menyebutnya? Kunci komposit atau gabungan?
Saya telah melihat di web keduanya menggunakan jadi saya tidak begitu yakin.
database-design
terminology
kartu igord
sumber
sumber
Jawaban:
Kedua kunci komposit dan kunci majemuk menggambarkan kunci kandidat dengan lebih dari satu atribut. Menurut Kamus Database Relasional (CJDate), mereka memiliki arti yang sama.
Dalam pemodelan ER istilah "kunci majemuk" juga memiliki makna yang lebih spesifik. Ini berarti kunci yang atribut penyusunnya adalah referensi untuk kunci di entitas lain - yaitu kunci majemuk membentuk hubungan yang mengidentifikasi. Untuk sebagian besar tujuan, ini bukan konsep yang sangat berguna atau penting sehingga istilah komposit / senyawa sering diperlakukan sebagai dipertukarkan. Mungkin yang terbaik adalah tetap menggunakan "kunci komposit" kecuali Anda merujuk secara khusus pada konsep pemodelan ER dari kunci majemuk.
sumber
Saya masih tidak yakin mengapa http://en.wikipedia.org/wiki/Compound_key tidak dikonsultasikan. Ini sangat jelas menyatakan (dan benar):
Kunci komposit terdiri dari elemen yang mungkin atau mungkin bukan kunci asing. Contoh: Dalam tabel detail Transaksi, kuncinya adalah (TransactionId, ItemNumber). Detail transaksi adalah sejumlah transaksi. TransactionId adalah kunci asing, merujuk pada tabel Transaksi. ItemNumber bukanlah kunci dalam dan dari dirinya sendiri. Ini hanya mengidentifikasi item secara unik dalam konteks satu transaksi.
Kunci majemuk adalah kunci di mana bagian mana pun dari kunci itu adalah kunci asing. Contoh: dalam sistem reservasi hotel, reservasi memiliki kunci majemuk, (GuestId, HotelId, ArrivalDate). GuestId mengidentifikasi Tamu, dan referensi tabel Tamu. HotelId mengidentifikasi Hotel, dan referensi tabel Hotel. ArrivalDate mengidentifikasi Tanggal. Mungkin ada atau tidak ada tabel Tanggal yang direferensikan, tetapi mengidentifikasi Entitas (Tanggal) dengan cara apa pun.
Yang juga perlu diperhatikan adalah fakta ini: Kunci sederhana adalah kunci yang terdiri dari satu kolom, sedangkan kunci komposit terdiri dari dua atau lebih kolom.
sumber
Dalam bahasa Inggris itu adalah "kunci komposit". Misalnya, lihat situs web MSDN (pencarian apa pun yang mengandung "kunci komposit sql" akan dilakukan).
http://www.google.com/search?q=sql+composite+key+site:msdn.microsoft.com
Dengan asumsi bahwa pertanyaannya mengenai Basis Data Relasional, saya mencari definisi "netral" di Wikipedia :
sumber
Kunci komposit terdiri dari lebih dari satu atribut untuk secara unik mengidentifikasi kejadian entitas. Ini berbeda dari kunci majemuk di mana satu atau lebih atribut, yang membentuk kunci, bukan kunci sederhana dalam hak mereka sendiri.
Misalnya, Anda memiliki database yang menyimpan koleksi CD Anda. Salah satu entitas disebut trek, yang menyimpan rincian trek pada CD. Ini memiliki kunci komposit nama CD, nomor trek.
sumber
Kedengarannya bagi saya seperti kunci komposit adalah superset yang mencakup kunci majemuk. Jika kami menerima bahwa kunci komposit dibuat lebih dari satu atribut (apa pun jenisnya), dan kunci majemuk dibuat lebih dari satu kunci sederhana. Kunci majemuk adalah jenis kunci komposit dengan makna yang lebih spesifik, tetapi istilah kunci "komposit" selalu tepat untuk digunakan.
sumber