batasan integritas referensial
Batasan integritas referensial dalam Model Data Entitas (EDM) mirip dengan batasan integritas referensial dalam database hubungan. Dengan cara yang sama seperti kolom (atau kolom-kolom) dari tabel database dapat mereferensikan kunci primer tabel lain, properti (atau properti-properti) dari jenis entitas dapat mereferensikan kunci entitas dari jenis entitas lain. Jenis entitas yang direferensikan disebut akhir prinsipal batasan. Jenis entitas yang mereferensikan akhir prinsipal disebut akhir dependen dari batasan.
Batasan integritas referensial didefinisikan sebagai bagian dari asosiasi antara dua jenis entitas. Definisi untuk batasan integritas referensial menentukan informasi berikut:
Akhir prinsipal batasan. (Jenis entitas yang kunci entitasnya dirujuk oleh akhir dependen.)
Kunci entitas dari akhir prinsipal.
Akhir dependen dari batasan. (Jenis entitas yang memiliki properti atau properti-properti yang mereferensikan kunci entitas dari akhir prinsipal.)
Properti atau properti-properti referensi dari akhir dependen.
Tujuan dari batasan integritas referensial dalam EDM adalah untuk memastikan bahwa asosiasi yang valid selalu ada. Untuk informasi selengkapnya, lihat properti kunci asing.
Contoh
Diagram di bawah menunjukkan model konseptual dengan dua asosiasi: WrittenBy
dan PublishedBy
. Jenis entitas Book
memiliki properti, PublisherId
, yang mereferensikan kunci entitas dari jenis entitas Publisher
saat Anda menentukan batasan integritas referensial pada asosiasi PublishedBy
.
ADO.NET Entity Framework menggunakan bahasa khusus domain (DSL) yang disebut bahasa definisi skema konseptual (CSDL) untuk mendefinisikan model konseptual. CSDL berikut mendefinisikan batasan integritas referensial pada asosiasi PublishedBy
yang ditunjukkan dalam model konseptual di atas.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
</End>
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
<ReferentialConstraint>
<Principal Role="Publisher">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="Book">
<PropertyRef Name="PublisherId" />
</Dependent>
</ReferentialConstraint>
</Association>