Buku teks saya memberikan definisi kunci primer berikut dalam basis data relasional, yang saya tidak sepenuhnya mengerti. Bantuan akan sangat dihargai.
Biarkan menjadi relasi. Kemudian kunci utama untuk adalah himpunan bagian dari set atribut , katakan , memenuhi dua sifat berikut:
Keunikan Properti: Tidak ada dua tupel yang berbeda dari memiliki nilai yang sama untuk .
Properti yang Tidak Dapat Ditarik: Tidak ada subset tepat yang memiliki properti keunikan.
Saya tersesat oleh properti Irreducibility.
database-theory
FutureSci
sumber
sumber
Jawaban:
Pertimbangkan tabel berikut:
Kunci adalah serangkaian atribut apa pun: subset apa pun dari {FirstName, LastName, Pet, FavColour}. Properti keunikan mengatakan bahwa tidak ada dua catatan yang dapat memiliki nilai yang sama untuk atribut dalam kunci. Jadi, misalnya, {FavColour} adalah kunci yang memiliki properti keunikan: tidak ada dua catatan yang memiliki nilai yang sama untuk itu. {Firstname, Lastname} juga unik: tidak ada dua catatan yang memiliki nama depan dan belakang yang sama. {Pet}, di sisi lain, tidak unik, karena catatan pertama dan kedua memiliki nilai yang sama untuk atribut itu.
Sekarang, {FirstName, LastName, Pet, FavColour} juga merupakan kunci unik: tidak ada dua catatan yang memiliki nilai yang sama untuk semua atribut. Tapi itu semacam kunci konyol, kan? Irreducibility mengatakan bahwa, jika Anda menghapus salah satu atribut dari kunci Anda, itu berhenti menjadi unik. Jadi {Firstname, LastName, Pet, FavColour} tidak dapat direduksi karena, jika Anda menghapus FavColour, Anda mendapatkan kunci {FirstName, LastName, Pet}, yang masih memiliki keunikan. Dan itu tidak dapat direduksi karena Anda dapat membuang Pet dan mendapatkan {FirstName, LastName}, yang masih unik. Namun, {FirstName, LastName} tidak dapat direduksi karena {FirstName} maupun {LastName} tidak unik: ada dua orang dengan nama depan yang sama dan dua orang dengan nama belakang yang sama.
sumber
Perhatikan bagaimana dapat menjadi kumpulan kolom. Irreducibility artinya Anda harus memilih kumpulan kolom minimal .K
Catatan: Mereka harus meminta .K≠ ∅
Sebagai contoh, pertimbangkan hubungan ini.
Mari kita selidiki semua kunci yang mungkin.
A
- unik dan tidak dapat direduksi.B
-- tidak unik.C
-- tidak unik.A,B
- dapat direduksi menjadiA
.A,C
- dapat direduksi menjadiA
.B,C
- unik dan tidak dapat direduksi.A,B,C
- dapat direduksi menjadiA
.Oleh karena itu, ada dua pilihan untuk kunci primare di sini:
A
danB,C
.sumber
Irreducibility hanya mengacu pada sekumpulan atribut minimum yang tidak bisa kita masuki tanpa kehilangan keunikan. Misalnya, dalam tabel orang, kita mungkin menemukan (Nama Belakang, Nama Depan) unik sedangkan (Nama Belakang) dan (Nama Depan) tidak.
Setelah kami memiliki keunikan, kami dapat terus menambahkan atribut tanpa kehilangannya, jadi alamat dapat mengatasi masalah tersebut.
sumber