Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kunci entitas adalah properti atau sekumpulan properti jenis entitas yang digunakan untuk menentukan identitas. Properti yang membentuk kunci entitas dipilih pada waktu desain. Nilai properti kunci entitas harus secara unik mengidentifikasi instans tipe entitas dalam entity set pada runtime. Properti yang membentuk kunci entitas harus dipilih untuk menjamin keunikan instans dalam kumpulan entitas.
Berikut ini adalah persyaratan untuk sekumpulan properti menjadi kunci entitas:
Tidak ada dua kunci entitas yang identik dalam himpunan entitas tersebut. Artinya, untuk dua entitas dalam kumpulan entitas, nilai untuk semua properti yang merupakan kunci tidak boleh sama. Namun, beberapa (tetapi tidak semua) dari nilai yang membentuk kunci entitas bisa sama.
Kunci entitas harus terdiri dari sekumpulan properti jenis yang tidak boleh null, tidak dapat diubah, primitif.
Properti yang membentuk kunci entitas untuk jenis entitas tertentu tidak dapat berubah. Anda tidak dapat mengizinkan lebih dari satu kunci entitas yang mungkin untuk jenis entitas tertentu; kunci pengganti tidak didukung.
Ketika entitas terlibat dalam hierarki pewarisan, entitas akar harus berisi semua properti yang membentuk kunci entitas, dan kunci entitas harus ditentukan pada jenis entitas akar. Untuk informasi selengkapnya, lihat Model Data Entitas: Pewarisan.
Contoh
Diagram di bawah ini menunjukkan model konseptual dengan tiga jenis entitas: Book, Publisher, dan Author. Properti dari setiap jenis entitas yang membentuk kunci entitasnya ditandai dengan "(Kunci)". Perhatikan bahwa Author jenis entitas memiliki kunci entitas yang terdiri dari dua properti, Name dan Address.
Kerangka Kerja Entitas ADO.NET menggunakan bahasa khusus domain (DSL) yang disebut bahasa definisi skema konseptual (CSDL) untuk menentukan model konseptual. CSDL di bawah ini menentukan jenis entitas yang Book ditunjukkan pada diagram di atas. Perhatikan bahwa kunci entitas ditentukan dengan mereferensikan ISBN properti jenis entitas.
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>
Properti ISBN ini adalah pilihan yang baik untuk kunci entitas karena Nomor Buku Standar Internasional (ISBN) secara unik mengidentifikasi buku.
CSDL di bawah ini menentukan jenis entitas yang Author ditunjukkan pada diagram di atas. Perhatikan bahwa kunci entitas terdiri dari dua properti, Name dan Address.
<EntityType Name="Author">
<Key>
<PropertyRef Name="Name" />
<PropertyRef Name="Address" />
</Key>
<Property Type="String" Name="Name" Nullable="false" />
<Property Type="String" Name="Address" Nullable="false" />
<NavigationProperty Name="Books" Relationship="BooksModel.WrittenBy"
FromRole="Author" ToRole="Book" />
</EntityType>
Menggunakan Name dan Address untuk kunci entitas adalah pilihan yang wajar, karena dua penulis dengan nama yang sama tidak mungkin hidup di alamat yang sama. Namun, pilihan untuk kunci entitas ini tidak benar-benar menjamin kunci entitas unik dalam kumpulan entitas. Menambahkan properti, seperti AuthorId, yang dapat digunakan untuk mengidentifikasi penulis secara unik akan direkomendasikan dalam kasus ini.
Lihat juga
- Konsep Kunci Model Data Entitas
- Model Data Entitas