国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 關系模式(數(shù)據(jù)庫)

關系模式(數(shù)據(jù)庫)

時間:2022-12-24 04:30:01 | 來源:信息時代

時間:2022-12-24 04:30:01 來源:信息時代

    關系模式 : 對關系的邏輯結構和特征的描述。在關系數(shù)據(jù)庫中,關系是一張規(guī)范化了的二維表,一張二維表中的數(shù)據(jù)稱為一個關系實例。關系實例由表中的行組成,這些行稱為元組,列稱為屬性。由于關系操作在不斷地更新著關系中的數(shù)據(jù),關系也就是某一時刻關系模式的當前值。由此可見,關系模式是型,關系是值,關系模式是靜態(tài)的、穩(wěn)定的,而關系是動態(tài)的。關系模式對關系的描述內(nèi)容主要分為兩部分:
1. 關系的命名結構
關系是元組的集合,關系中的一個元組就是該關系所涉及屬性集的笛卡兒積的一個元素,因此,關系模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映象關系等。其次,一個關系通常是由賦予它的元組語義來確定的。元組語義實質上是一個n目謂詞(n是屬性集中屬性的個數(shù))。凡使該n目謂詞為真的笛卡兒積中的元素(或者說凡符合元組語義的那部分元素)的全體就構成了該關系模式的關系。因此,關系模式應描述這些關系名、屬性名、屬性值域。
2.數(shù)據(jù)完整性約束條件
由于現(xiàn)實世界隨著時間在不斷地變化,關系模式的關系也在不斷地被更新,現(xiàn)實世界的許多已有事實和規(guī)定,限定了關系模式中的關系必須滿足一定的完整性約束條件。這些約束或者限定了屬性的取值范圍,例如,學生的考試成績必須在0~100分之間;或者通過屬性值間的相互關聯(lián)和依賴反映出來,例如,一個學生只能有一個學號且不能為空值等。因此,關系模式應當刻畫出這些完整性約束條件,主要體現(xiàn)在: 主鍵的選擇、各種數(shù)據(jù)依賴和值的限制及各種操作的影響等。
定義一個關系模式為一個五元組,它可形式化地表示為: R(U,D,dom,I,F)。其中,R為關系名,U為組成該關系的屬性名集合,D為屬性集U中屬性所來自的域,dom為屬性向域的映象集合,I為一組完整性約束條件,F為屬性間數(shù)據(jù)的依賴關系集合。
通常關系模式也可以簡記為: R(U)或R(A1,A2,…,An)。其中,R為關系名,R(U)或R(A1,A2,…,An)為屬性名。而域名及屬性向域的映象常常直接說明為屬性的類型和長度。
例如,學生選課系統(tǒng)中,包含有實體型關系“學生”、“課程”和聯(lián)系型關系“選修”。學生關系的屬性有學號、姓名、性別、年齡和學生所在系,學號為主鍵;課程關系的屬性有課程號、課程名、開課系和任課教師,課程號為主鍵; 學生和課程之間有多對多的聯(lián)系(一個學生可選多門課程,一門課程可以被多個學生選修),這種聯(lián)系通過選修關系實現(xiàn),選修關系的屬性有學號、課程號和成績,學號和課程號為組合鍵。其實體-聯(lián)系圖如圖1所示,各關系實例如圖2所示。


圖1 學生選課系統(tǒng)實體-聯(lián)系圖


學生關系


學號姓名性別年齡學生所在系
060403王小倩20計算機
060511肖林21工商管理
060423秦軍偉20計算機
062315唐偉強21機械電子


課程關系


課程號課程名開課系開課教師
32521C語言計算機王德芳
32533操作系統(tǒng)計算機李永新
34255英語外語彭大年
35164概率物學張楠


選課關系


學號課程號成績
06040332521 
06040332533 
06040334255 
06051132521 
06051132255 
06051135164 
06042332521 
06042332533 
06042334255 
06231532521 
06231532255 
06231535164 


圖2 學生選課系統(tǒng)關系實例表


則學生選課系統(tǒng)的關系模式集為:
學生關系模式:學生(學號,姓名,性別,年齡,學生所在系);
課程關系模式:課程(課程號,課程名,開課系,任課教師);
選課關系模式: 選課(學號,課程號,成績)。
關系模式可以用關系數(shù)據(jù)庫語言中的數(shù)據(jù)定義語言(data definition language,DDL)來定義。如使用SQL中的DDL完成上述各關系模式的定義如下:
CREATE TABLE學生(
學號 INTEGER(6) NOT NULL,
姓名 CHAR(15) NOT NULL,
性別 CHAR(2),
年齡 SMALLINT,
學生所在系 CHAR(20),
CHECK 學號>0,//檢驗約束
CHECK 年齡>10,//檢驗約束
PRIMARY KEY(學號) //唯一性約束);
CREATE TABLE課程(
課程號 INTEGER(5) NOT NULL,
課程名 CHAR(30) NOT NULL,
開課系 CHAR(20),
開課教師 CHAR(20),
CHECK 課程號>0,//檢驗約束
PRIMARY KEY(課程號) //唯一性約束);
CREATE TABLE選修(
學號 INTEGER(6) NOT NULL,
課程號 INTEGER(5) NOT NULL,
成績 SMALLINT,
PRIMARY KEY(學號,課程號)//唯一性約束
FOREIGE KEY(學號) REFERENCES學生(學號)
           //引用約束
FOREIGE KEY(課程號)REFERENCES
課程(課程號),    //引用約束
CHECK成績>=0 AND成績=<100
          //檢驗約束
);
關系模式定義完成后,再用關系數(shù)據(jù)庫語言中的數(shù)據(jù)操縱語言(DML)將關系實例中的各元組插入到相應的關系表中。通常,關系數(shù)據(jù)庫系統(tǒng)僅僅只維護關系的一個版本,即關系的“當前”元組集合,這個關系實例稱為當前實例。

74
73
25
news

版權所有? 億企邦 1997-2022 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉