資料庫中,關係模型與關係模式有什麼區別

2021-03-04 08:49:06 字數 4515 閱讀 2582

1樓:匿名使用者

關係模型。關係模型主要是用二維**結構表達實體集,用外來鍵表示實體間聯絡。;關係模型是由若干個關係模式組成的集合。

關係模式相當於記錄型別。

資料庫關係模式有哪些型別?

2樓:北京理工大學出版社

在關聯式資料庫中有型和值兩種型別結構。關係模式是型,關係是值,關係模式是對關係的描述。

描述乙個關係需要從以下兩個方面來定義:第一方面,關係實質上是乙個二維表,表的每一行為乙個元組,每一列為乙個屬性。乙個元組就是該關係所涉及的屬性集的笛卡兒積的乙個元素。

關係是元組的集合,因此關係模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映象關係。

第二方面,乙個關係通常是由賦予它的元組語義來確定的。元組語義實質上是乙個n目謂詞(n是屬性集中屬性的個數)。凡使該n目謂詞為真的笛卡兒積中的元素(或者說凡符合元組語義的那部分元素)的全體就構成了該關係模式的關係。

1.3.1關聯式資料庫基本概念關係資料中,關係模式涉及眾多概念、術語,初學者對這方面不容易把握與理解,以下用通俗易懂的語言來對這些概念及術語作簡單的介紹。

1.關係關係(relation)是指資料庫中實體的資訊,也就是資料庫中二維表的資料。乙個關係就是乙個資料庫表的值,表中的內容是對應關係模式在某個時刻的值,稱為乙個關係。

例如,關係a表示資料庫有一張名字為a的資料表所記錄的所有資料。關聯式資料庫中每乙個關係都具有以下六方面的性質:((1)列是同質的。

即每一列中的分量為同一型別的資料,來自同乙個域。

(2)不同的列可出自同乙個域,稱其中的每列為乙個屬性,不同的屬性要給予不同的屬性名。

(3)列的順序無所謂。即列的次序可以任意交換。

(4)任意兩個元組不能完全相同。

(5)行的順序無所謂。即行的次序可以任意交換。

(6)分量必須取原子值。即每乙個分量都必須是不可分的資料庫屬性。

2.模式模式(schema)是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視,也稱邏輯模式。有以下幾方面性質:((1)乙個資料庫只有乙個模式。

(2)模式是資料在邏輯級上的檢視。

(3)以某一種資料模型為基礎。

定義模式時不僅要定義資料的邏輯結構,包括資料項的構成、名字、型別、取值範圍等,而且要定義與資料有關的安全性、完整性要求,定義這些資料之間的聯絡。

3.關係模式關係模式(relationschema)描述的是與關係相對應的二維表的表結構,即關係中包含哪些屬性,屬性來自哪些域,以及與域之間的映象關係。

關係模式與關係的區別:((1)關係模式描述了關係資料結構和語義,是關係的型。而關係是乙個資料集合,是關係模式的值,是關係模式的乙個例項。

(2)關係實際上就是關係模式在某一時刻的狀態或內容。關係模式是靜態的、穩定的,而關係是動態的、隨時間不斷變化的,因為資料庫操作會不斷地更新資料庫中的資料。

4.元組元組(tuple)是關聯式資料庫中的基本概念,乙個關係表中的每行就是乙個元組。也就是說資料庫表中的每條記錄都是乙個元組,表結構的每列就是乙個屬性,在二維表裡,元組也稱為記錄。

元組可表示乙個關係或關係之間的聯絡。

一般情況下,乙個關係資料表中的每條記錄均有乙個唯一的編號(記錄號),這個編號也叫元組號。

5.碼碼(key)是關係資料庫系統中的基本概念。所謂碼,就是能唯一標識實體的屬性集,是整個屬性集,而不是單個屬性。在關聯式資料庫中,碼包括多種型別,如超碼、候選碼和主碼。

((1)超碼(superkey)。超碼是乙個或多個屬性的集合,這些屬性可以在乙個實體集中唯一地標識乙個實體。如果k是乙個超碼,那麼k的任意超集也是超碼,也就是說如果k是超碼,那麼所有包含k的集合也是超碼。

例如,學生是乙個實體,則學生的集合是乙個實體集,而超碼用來在學生的集合中區分不同的學生。假設學生(實體)具有多個屬性:學號,身份證號,姓名,性別。

因為通過學號可以找到唯一乙個學生,所以是乙個超碼,同理、、、、、也是超碼。在這裡,因為不同的學生可能擁有相同的姓名,所以姓名不可以區別乙個學生,即不是乙個超碼,、也不是。

(2)候選碼(candidatekey)。候選碼是可以唯一標識乙個元組的最少的屬性集合。候選碼是從超碼中選出的,因此候選碼也是乙個或多個屬性的集合。

因為超碼的範圍太廣,很多是無用的,所以候選碼是最小超碼,它們的任意真子集都不能成為超碼。例如,如果k是超碼,那麼所有包含k的集合都不能是候選碼;如果k,j都不是超碼,那麼k和j組成的集合有可能是候選碼。

雖然超碼可以唯一標識乙個實體,但是可能大多數超碼中含有多餘的屬性,所以需要候選碼。

例如學生表,學生(學號,姓名,年齡,性別,專業),其中的學號是可以唯一標識乙個元組,所以學號可以作為候選碼。既然學號都可以作候選碼,那麼學號和姓名這兩個屬性的組合就可以唯一區別乙個元組。此時的學號可以成為碼,學號和姓名的組合也可以成為碼,但是學號和姓名的組合不能成為候選碼,因為即使去掉姓名屬性,剩下的學號屬性也完全可以唯一地標識乙個元組。

也就是說,候選碼中的所有屬性都是必需的,缺少任何乙個屬性,都不能唯一標識乙個元組。

(3)主碼(primarykey)。主碼是從多個候選碼中任意選出乙個作為主鍵,這個被選中的候選碼就稱為主碼。如果候選碼只有乙個,那麼候選碼就是主碼。

雖然說主碼的選擇是比較隨意的,但在實際開發中還是需要一定的經驗,不然開發出來的系統會出現問題。一般來說,主碼都應該選擇那些從不或者極少變化的屬性。

例如,在乙個職工實體中,職工(職工號,姓名,入職時間,部門,崗位,工資,職級,工齡,**),職工號可以用來唯一確定實體中的乙個元組,所以職工號是乙個候選碼。如果實體屬性——姓名、入職時間、部門三者組合也能唯一地確定乙個元組,則(姓名,入職時間,部門)也是乙個候選碼。在上述兩個候選碼中任選乙個均可作為職工實體的主碼,一般來說直接選擇職工號作為實體的主碼是最為簡單方便的。

1.3.2關係模式的定義關係是資料庫二維表中的資料記錄,關係模式是資料庫二維表的表結構,關係是動態的,關係模式是靜態的。

關係模式可由六個元素來描述,分別是r、u、d、dom、i、f。其中,r為關係的名稱;

u為組成該關係的屬性名的集合;d為u集合中屬性的域集合;dom為屬性集u向域集d的對映;i為完整約束集合;f為屬性間資料的依賴關係集合。

乙個關係模式通常表示為r(u,d,dom,i,f),也可以忽略其他元素,直接簡化為r(u)或r(a1,a2,a3,…,an),其中a1,a2,a3,…,an為屬性名。

例如,在乙個選課模組中,包含「學生」「課程」「選修」等關係實體。「學生」實體的屬性有sno(學號)、sname(姓名)、age(年齡)、***(性別)、sdept(系部),其中「學號」為主鍵;「課程」實體的屬性有**o(課程號)、**ame(課程名稱)、cdept(系部)、tname(教師),其中「課程號」為主鍵;「選修」實體的屬性有grade(成績)、sno(學號)、**o(課程號),其中「學號」和「課程號」為聯合主鍵。學生和課程之間是多對多的關聯關係,即乙個學生可以同時選修多門課程,一門課程也可以同時被多個學生選修。

這種多對多的關聯關係可以通過「選修」關係實體作為中間橋接實體,變成兩個一對多的實體關聯關係,如圖所示。

圖學生選課實體

從圖的實體關係圖中可以得到選課模組的實體關係模式集——學生關係、課程關係、選修關係,具體關係模式如下:學生關係模式student(sno,sname,age,***,sdept);

課程關係模式course(**o,**ame,cdept,tname);

選修關係模式studentcourse(sno,**o,grade)。

對以上定義的三個關係模式例項化,插入初始化資料後,可得到學生、課程、選修三個關係的例項,如圖所示。圖中矩形框圈住部分為選課模組中的關係模式(表結構);橢圓框圈住部分為選課模組中的關係(資料)。整個選課模組的表環境由關係模式與關係兩部分共同組成,缺一不可。

關係模式的分解標準關係模式的規範化過程實際上就是關係模式的「分解」過程,即把邏輯上獨立的資訊放在獨立的關係模式中。分解是解決資料冗餘的主要方法,也是規範化的一條原則——關係模式有冗餘問題就要分解。

資料庫設計者在進行關聯式資料庫設計時,應參照模式規範化理論,盡可能使資料庫模式保持高的標準。一般盡量把關聯式資料庫設計成巴斯−科德正規化(b**f)的模式集,如果設計成巴斯−科德正規化(b**f)模式集時達不到保持函式依賴的標準,那麼只能降低要求,設計成第三正規化(3nf)的模式集,以達到保持函式依賴和無損分解的基本要求。

學生、課程、選修三個關係的例項

1.分解的定義乙個關係模式可以分解成眾多子關係模式,分解方式不同,得到的子關係模式也不同。

關係模式的分解是指把某乙個關係模式按照某一種方式進行分解得到的所有子關係模式。

如關係模式r按照某一種方式分解,可以得到乙個關係集ρ=。其中屬性集u=u1∪u2∪…∪un,並且不能存在ui⊆uj,1≤i,j≤n。

函式依賴關係集f=f1∪f2∪…∪fn,其中f1,f2,…,fn是f在u1,u2,…,un上的投影。

2.分解的標準把低階的關係模式分解成高階的關係模式的方法不是唯一的,只要能夠保證分解後的關係模式與原關係模式等價,就是乙個完整、標準的分解方法。關係模式的標準分解方法應同時達到以下兩方面的要求:

((1)分解具有無損連線性。

(2)分解要保持函式依賴性。

具有無損連線性的分解保證資訊不會丟失,但無損連線不一定能解決插入異常、刪除異常、修改複雜、資料冗餘等問題,如要解決這些問題,則要考慮更高的關係資料正規化理論原則。

資料庫原理關係模式分解,資料庫關係的分解原則是什麼

一,由關係r得出碼為 sno,group 二,關係r滿足第一正規化,因為關係模式中存在部分函式依賴,和傳遞函式依賴.三,看圖 這個問題很難一言以蔽之,我給你舉乙個我常用的例子,希望對你有幫助 設關係模式r u,f 中,u f r的乙個分解 試判斷 具有無損連線性。解 首先構造初始表,如圖 a 所示。...

資料庫關係代數問題,資料庫的關係代數問題

這個提問不具體,無關聯提示,是指每個要求出具sql還是綜合6條出具sql 資料庫的關係代數問題 例 設教學資料庫中有3個關係 學生關係s sno,sname,age,學習關係sc sno,o,grade 課程關係c o,ame,teacher 下面用關係代數表示式表達每個查詢語句。1 檢索學習課程號...

資料庫關係代數運算試題及答案,資料庫,關係代數習題

var basetext3 null function srsd 資料庫,關係代數習題 failed to create directorycclog asset anagerex can not create directory s n fullpath.c str unzclose zipfil...