關聯式資料庫與UML模型

2021-09-23 22:41:54 字數 3041 閱讀 7689

關聯式資料庫管理系統(rdms)

概念:通過資料、關係和對資料的約束三者組成的資料模型來存放和管理資料。

rdms的資料儲存在被稱為表的資料庫物件中的特點:

1.資料以==**==的形式出現

2.每==行==為各種==記錄名稱==

3.每==列==為記錄名稱所對應的==資料域==

4.許多的==行和列==組成一張==表單==

5.==若干==的表單組成==資料庫==

基本結果對映

主鍵的生成

1.型別:

(1)候選鍵:是由表中某些屬性構成的屬性集,能夠唯一標示表中的記錄。組成候選鍵的屬性集是最小的,即從中去掉任何乙個屬性都將破壞其唯一性。在候選鍵中,任何屬性的值都不能為空。

(2)主鍵:是任選乙個候選鍵,它用來標示資料庫表中的記錄。

(3)外來鍵:是對候選鍵的引用。它要麼是空值,要麼包含每個屬性的相應值。外來鍵經常用來實現關聯關係和泛化關係。

2.定義主鍵的兩種方法

(1)將物件識別符號對映為主鍵

優點:主鍵只由表中的乙個屬性構成,大小相同

開發時考慮到了物件之間關係的可維護性

缺點:在資料庫維護時,很難看出基於物件識別符號的主鍵具有什麼內在含義

(2)將物件的某些屬性對映為主鍵

優點:為資料庫的除錯和維護提供了方便

缺點:修改可能要涉及到許多外來鍵的修改

3.屬性型別到域的對映(不是很懂)

(1)列舉字串

(2)為每個列舉值定義標示

(3)列舉表

(4)對列舉值進行編碼

4.屬性到列的對映

泛化關係的對映

1.所有類的對映

將所有的類都對映為資料庫中的表。

優點:

1.支援多型;

2.易於修改父類和子類;

3.針對物件可能充當每個角色,只需要在合適的表中儲存相應的記錄即可。

缺點:1.每個類都需要對映為資料庫中的表,因此導致資料庫中存放著大量的表;

2.由於資料庫中存在大量的表,因此會導致資料讀取和寫入的時間過長;

3.除非新增一些檢視來模擬所需要的表,否則資料庫的報表生成會相當困難。

2.除無屬性外類的對映

將具有屬性的類才對映為資料庫表,無屬性的類不進行對映。

缺點同所有類的對映一樣,只是表稍微減少了部分。
3.父類屬性下移

指不將父類對映為資料庫表,只對映子類。這時,每個子類對應的資料庫中不僅包含子類特有的屬性,還要包含該子類所繼承的父類的屬性。

優點:

1.減少資料庫表的數量;

2.易於生成報表(這是因為所需要的有關類的所有資料都儲存在同一張表中)。

缺點:1.當修改某個類時,必須修改與它對應的表和所有子類對應的表。

2.很難在支援多個角色的同時仍維護資料完整性,這種情況可能存在,只是比原來的要複雜一點。

4.子類屬性上移

將所有子類的屬性都存放在父類所對應的資料庫表中。

優點:

1.減少資料庫表的數量;

2.易於生成表單。

缺點: 1.增加類層次結構的耦合性。每次在類層次結構的任何地方新增乙個屬性時,都必須將乙個新屬性新增到表中;

2.浪費資料庫中許多空間。這對於單一角色的物件很有效,否則可能浪費資料庫中的許多空間。

關聯關係的對映

1.一對一關聯的對映

在這種情況下,可以在兩個類中任意選擇一方,在其所對應的類表中新增乙個外來鍵,指向另一方所對應類表中的主鍵,從而實現兩張類表之間的連線。
2.零或一對一關聯的對映

一般會在物件個數為0或1的那一方,所對應的表中新增乙個外來鍵,指向另一方類所對應的類表中的主鍵,建立兩表之間的連線。
3.一對多關聯的對映

實現一對多關聯的對映時,需要將外來鍵放置在「多」的一方。
4.多對多關聯的對映

在實現多對多關聯時,通常需要引入乙個關聯表,對映關聯物件,從而將多對多關聯轉化為兩個一對多關聯。在實現多對多關聯時,需要在新建的關聯表中設定乙個物件識別符號,即主鍵,同時增加兩個外來鍵,它們分別指向初始關聯的兩個類對應表的主鍵。如果不增加主鍵,那麼只引用表的兩個外來鍵時,會將這兩個外來鍵作為聯合主鍵。
5.聚合和組合關係的對映

1.一種是聚集關係較為緊密的情況下,可以將其對映在一張表中;

2.另一種是聚集關係較為鬆散的情況下,可以用一對多關聯的對映方法實現,需要在子類的類表中增加乙個外來鍵,指向父類的類表的主鍵;

3.組合中子類與父類的例項有相同的生命週期,因此,子類所對應的子表中的外來鍵不能為空。

6.對映時應避免的情況

1.合併

三大正規化:

第一正規化:確保每列的原子性;

第二正規化:在第一正規化的基礎上,更進一層,其目標是確保表中的每列都與主鍵相關;

第三正規化:在第二正規化的基礎上,更進一步,其目標是確保每列都與主鍵列直接相關,而不是間接相關。

2.在實現一對一關聯時將外來鍵放置在兩張表中

開發者在實現一對一關聯時,應該避免將外來鍵放在兩張表中,使兩張表中都包含外來鍵,即外來鍵出現兩次。

3.並行屬性

並行屬性是指關係平等的屬性。不能列出來,這不僅增加了程式的複雜性,也會阻礙資料庫應用程式的擴充套件性。因此,不要在資料表中實現具有並行屬性的關聯的多個角色。

資料庫 關係模型與關聯式資料庫

superkey 乙個或多個屬性的集合,用來在關係中唯一地標識乙個元組 candidate key superkey如果任意真子集都不能成為superkey primary key db設計者選擇的candidate key foreigh key 乙個關係模式在它的屬性中包含另乙個關係模式的主碼 ...

關聯式資料庫與非關聯式資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...

關聯式資料庫與非關聯式資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...