解釋泛化和特化(DBMS)的設計約束。


在資料庫管理系統 (DBMS) 中設計泛化和特化時,我們需要考慮的不同型別如下:

  • 條件定義

  • 屬性定義

  • 使用者定義

  • 不相交定義

  • 重疊約束

  • 完整性約束

讓我們逐一瞭解它們。

條件定義

建立一個數據庫,並在一個屬性(例如出勤率)上設定條件。這種約束定義在單個屬性上,該屬性進一步將實體劃分為兩個子實體集,這些子實體集將提供關於給定屬性的資訊。

示例

以下是條件定義資料庫的示例:

屬性定義

這是指在多個屬性上指定條件。

示例

考慮一個關於分數和出勤率的資料庫。

這種約束定義在給定實體的兩個或多個屬性上,該實體進一步被劃分為子類實體。

此處可以在兩個以上屬性上指定條件。

例如,賬戶型別——儲蓄賬戶和活期賬戶。

對於儲蓄賬戶和活期賬戶,我們可以執行餘額查詢、取款和存款等相同操作,但型別不同。

使用者定義

在這種約束中,決定權留給超類,由超類決定有多少超類例項將參與子類。

在上面的例子中,團隊領導決定哪些團隊根據技能加入。

不相交約束

不相交就是交集,為給定超類指定的例項數只能參與一個子類。

賬戶使用者可以參與儲蓄賬戶和活期賬戶,但兩者不同,因此一次只能參與一個。

它就像一個減法,如下所示:

重疊約束

如果超類的兩個或多個例項參與兩個或多個子類,則稱為重疊約束。

示例

瞭解 Java 和 PHP 的人可以同時參與這兩個團隊。

完整性約束

每個例項都參與一個關係。超類的所有例項都必須參與一個關係或子類。

更新於:2021年7月6日

7000+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告