Saya baru mengenal DBMS dan saya masih belajar teorinya.
Saya menjadi benar-benar bingung dengan bisnis utama ini dan setelah googling saya mempersempitnya menjadi hanya 2 kunci yang tidak saya dapatkan (primer dan super key).
Saya punya beberapa pertanyaan tentang DBMS. Saya akan berterima kasih jika Anda bisa menjawabnya untuk saya.
1) Apa perbedaan antara kunci Primer dan kunci Super dalam DBMS? Sangat menghargai jika Anda dapat menggunakan contoh yang komprehensif untuk menjelaskan dengan benar
2) Dapatkah kunci Primer dan kunci Super keduanya memiliki beberapa kolom digabungkan untuk membentuk kunci Primer dan kunci Super?
3) Apakah kunci Primer merupakan subset dari kunci Super atau sebaliknya?
Jawaban:
Sebuah super Key hanyalah sebuah non-minimal Candidate Key , yang mengatakan satu dengan kolom tambahan tidak sepenuhnya diperlukan untuk memastikan keunikan baris.
Sebuah Primary Key adalah minimal Candidate Key , yang berarti semua kolom konstituen secara ketat diperlukan untuk memastikan keunikan.
Sebagai pengembang / perancang basis data yang berpengalaman selama 30 tahun, saya belum pernah mendengar istilah Super Key sampai saya melihat pertanyaan ini, dan mencarinya. Konsep Super Key tampaknya lebih erat dengan topik kinerja dan desain Skema Fisik karena langsung memetakan ke konsep indeks nonclustered yang unik dengan kolom tambahan untuk meningkatkan cakupan permintaan.
sumber
Super Keys: Super key adalah singkatan dari superset kunci. Super Key adalah sekumpulan satu atau lebih atribut yang diambil secara kolektif dan dapat mengidentifikasi semua atribut lainnya secara unik.
Sebagai Contoh, Kami memiliki meja
Jadi di tabel ini bisa kita miliki
Sebagai kunci Super kami. Setiap kunci super mampu mengidentifikasi secara unik setiap tuple (catatan).
Tombol Kandidat Kunci Kandidat adalah kunci super yang tidak memiliki atribut berlebihan. Dengan kata lain kunci kandidat adalah kunci super minimal. Misalnya, Dalam ilustrasi di atas
Dua kunci ini bisa menjadi kunci kandidat, karena kunci yang tersisa memiliki atribut yang berlebihan. Berarti dalam catatan super key (BookId, BookName) dapat diidentifikasi secara unik hanya dengan bookid dan oleh karena itu Bookname adalah atribut yang berlebihan
Kunci Utama: Ini adalah kunci kandidat yang dipilih oleh perancang basis data untuk mengidentifikasi entitas dengan dalam entitas yang ditetapkan. ATAU Kunci yang digunakan untuk mengidentifikasi secara unik setiap catatan dikenal sebagai kunci utama.
Dari kunci Kandidat di atas, siapa pun dapat menjadi kunci utama. Dan yang lain yang tidak dipilih sebagai kunci utama akan dikenal sebagai kunci Alternatif
sumber
alternative key
adalahsecondary key
sama. Jawaban bagus!Dari jawaban stackoverflow.com saya :
Dari stackoverflow.com ini, jawabanku adalah tabel yang diberikan:
(Seperti yang saya komentari di sana, "Empat kalimat tebal untuk FD, hold, superkey dan CK sudah cukup.")
(Tabel dengan CK kosong dibatasi berisi paling banyak satu baris. Set kolom yang ditentukan oleh set kosong dibatasi memiliki nilai subrow yang sama di setiap baris.)
sumber
Kunci Kunci adalah satu atau kombinasi dari beberapa bidang. Tujuannya adalah untuk mengakses atau mengambil baris data dari tabel sesuai dengan persyaratan. Kunci didefinisikan dalam tabel untuk mengakses atau mengurutkan data yang disimpan dengan cepat dan lancar. Mereka juga digunakan untuk membuat tautan di antara berbagai tabel.
Jenis Kunci Tabel atau relasi berikut akan digunakan untuk mendefinisikan berbagai jenis kunci.
Kunci Utama Atribut atau kombinasi atribut yang secara unik mengidentifikasi baris atau catatan dalam suatu relasi dikenal sebagai kunci primer.
Kunci sekunder Bidang atau kombinasi bidang yang menjadi dasar pengambilan dikenal sebagai kunci sekunder. Kunci sekunder adalah bidang yang tidak unik. Satu nilai kunci sekunder dapat merujuk ke banyak catatan.
Kandidat Key atau Alternate key Suatu relasi hanya dapat memiliki satu primary key. Mungkin berisi banyak bidang atau kombinasi bidang yang dapat digunakan sebagai kunci utama. Satu bidang atau kombinasi bidang digunakan sebagai kunci utama. Bidang atau kombinasi bidang yang tidak digunakan sebagai kunci utama dikenal sebagai kunci kandidat atau kunci alternatif.
Kunci komposit atau kunci gabungan Kunci utama yang terdiri dari dua atau lebih atribut dikenal sebagai kunci komposit.
Sortir atau tombol Kontrol Bidang atau kombinasi bidang yang digunakan untuk mengurutkan data yang disimpan secara fisik yang disebut kunci sortir. Itu juga dikenal sebagai kunci kontrol.
Sebuah superkey adalah kombinasi dari atribut yang dapat digunakan secara unik untuk mengidentifikasi catatan database. Sebuah meja mungkin memiliki banyak superkeys. Kandidat kunci adalah bagian khusus dari superkeys yang tidak memiliki informasi asing di dalamnya.
Contoh untuk kunci super: Bayangkan tabel dengan bidang Nama, Usia, SSN, dan <Ekstensi Telepon>. Tabel ini memiliki banyak kemungkinan superkeys. Tiga di antaranya adalah SSN, Ekstensi dan Nama Telepon. Dari yang terdaftar, hanya SSN yang merupakan kunci kandidat, karena yang lain berisi informasi yang tidak perlu untuk mengidentifikasi catatan secara unik.
Kunci Asing Kunci asing adalah atribut atau kombinasi atribut dalam suatu relasi yang nilainya cocok dengan kunci primer dalam relasi lain. Tabel di mana kunci asing dibuat disebut tabel dependen. Tabel yang dirujuk dengan kunci asing dikenal sebagai tabel induk.
untuk kunci Minimal Super lihat tautan ini, lebih jelas di sana http://www.answers.com/topic/superkey-1
sumber