資源描述:
《關(guān)系模型基本概念》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、2.1.1二維表格的基本術(shù)語 考核要求:達到“識記” 層次知識點:主要是一些基本概念 (1)二維表格在關(guān)系模型中,一張二維表格對應(yīng)一個關(guān)系。 ?。?)元組(tuple)表中的一行(即一個記錄),表示一個實體;關(guān)系是由元組組成的。 ?。?)關(guān)系:是一個元數(shù)為K(K>=1)的元組的集合。一張二維表格對應(yīng)一個關(guān)系。表中的一行稱為關(guān)系的一個元組;表中的一列稱為關(guān)系的一個屬性?! ≡陉P(guān)系模型中,對關(guān)系作了下列規(guī)范性的限制:關(guān)系中每一個屬性值都是不可分解的; 關(guān)系中不允許出現(xiàn)相同的元組(沒有重復(fù)元組); 不考慮元組間的順序,即沒有行序;在理論上,屬性間的順序(即列序)也
2、是不存在的; 但在使用時按習慣考慮列的順序?! 。?)超鍵(SuperKey):在關(guān)系中能唯一標識元組的屬性集稱為關(guān)系模式的超鍵; (5)候選鍵(CandidateKey):不含有多余屬性的超鍵稱為候選鍵; ?。?)主鍵(PrimaryKey):用戶選作元組標識的一個候選鍵?! ≡谝陨细拍钪?,主鍵一定可作候選鍵,候選鍵一定可作超鍵;反之,則不成立。 比如,在學生表中,如果有“學號”、“姓名”、“出生年月”等字段,其中學號是唯一的,那么(學號)屬于超鍵,(學號,姓名)的組合也是超鍵。同時,(學號)是候選鍵,而(學號,姓名)由于含有多余屬性,所以不是候選鍵。在這三個
3、概念中,主鍵的概念最為重要,它是用戶選作元組標識的一個關(guān)鍵字。如果一個關(guān)系中有兩個或兩個以上候選鍵,用戶就選其中之一作為主鍵?! ?.1.2關(guān)系模式、關(guān)系子模式和存儲模式 考核要求:達到“識記” 層次知識點:三種模式的理解 (1)關(guān)系模式:關(guān)系模型的定義包括:模式名,屬性名,值域名以及模式的主鍵。它僅僅是對數(shù)據(jù)特性的描述,不涉及到物理存儲方面的描述?! 。?)子模式:子模式是用戶所用到的那部分數(shù)據(jù)的描述。除了指出用戶數(shù)據(jù)外,還應(yīng)指出模式和子模式之間的對應(yīng)性。 ?。?)存儲模式:關(guān)系存儲時的基本組織方式是文件,元組是文件中的記錄。 幾個模式的理解(教材30頁的例
4、子): 在教學模型中,有實體類型“學生”,其屬性有學號S#、SNAME、AGE、SEX分別表示學生的學號、姓名、年齡、性別;實體類型“課程”的屬性C#、CNAME、TEACHER分別表示課程號、課程名和任課教師名。學生用S表示,課程用C表示,S和C之間有M:N聯(lián)系,聯(lián)系類型SC的屬性是GRADE. 關(guān)系模式為: 學生關(guān)系S(S#、SNAME、AGE、SEX) 課程關(guān)系C(C#、CNAME、TEACHER) 學習關(guān)系SC(S#、C#、GRADE) 以下則為關(guān)系子模式: 成績關(guān)系子模式G(S#、SNAME、C#、GRADE,GRADE),它對應(yīng)的數(shù)據(jù)來自關(guān)系
5、S和SC. 2.1.3關(guān)系模型的三類完整性規(guī)則 考核要求:達到“領(lǐng)會” 層次知識點:三類完整性規(guī)則的理解 (1)實體完整性規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標識元組的作用。(對關(guān)系主鍵的約束) ?。?)參照完整性規(guī)則要求外鍵值必須是另一個關(guān)系的主鍵的有效值,或者是空值。(對關(guān)系外鍵的約束)外鍵:(外來關(guān)鍵字)將一個關(guān)系的主鍵(比如學生關(guān)系S中的S#)放到另一個關(guān)系(比如SC)中,此時稱S#是關(guān)系SC的外鍵?! ∽⒁馐马棧骸 ⊥怄I和相應(yīng)的主鍵可以不同名,只要定義在相同值于域上即可; 兩個關(guān)系可以是同一個關(guān)系模式
6、,表示了屬性之間的聯(lián)系?! ⊥怄I值是否允許空,應(yīng)視具體情況而定 假設(shè)數(shù)據(jù)庫有如下關(guān)系: 學生關(guān)系S(S#、SNAME、AGE、SEX) 課程關(guān)系C(C#、CNAME、TEACHER) 學習關(guān)系SC(S#、C#、GRADE) 那么(1)S#是關(guān)系S的主鍵,因此在關(guān)系S中不能為空;(實體完整性規(guī)則) ?。?)C#是關(guān)系C的主鍵,因此在關(guān)系C中不能為空;(實體完整性規(guī)則) 關(guān)系SC中: S#、C#的組合為主鍵,因此S#、C#不能為空;(實體完整性規(guī)則) S#是來自S的外鍵,因此它必須和關(guān)系S中某個元組的S#相同。(參照完整性規(guī)則) C#是來自C的外鍵,因此
7、它必須和關(guān)系C中某個元組的C#相同。(參照完整性規(guī)則) ?。?)用戶定義的完整性規(guī)則:這是針對某一具體數(shù)據(jù)的約束條件,由應(yīng)用環(huán)境決定,例如,學生的年齡限制為15~30周歲。用戶定義的完整性規(guī)則反映某一具體應(yīng)用涉及的數(shù)據(jù)必須滿足的語義要求。系統(tǒng)提供定義和檢驗這類完整性的機制?! ?.1.4關(guān)系模型的形式定義 考核要求:達到“識記” 層次知識點:三個組成部分的了解 關(guān)系模型有三個組成部分: 數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則關(guān)系模型的的數(shù)據(jù)結(jié)構(gòu)是關(guān)系; 關(guān)系模型提供一組完備的高級關(guān)系運算(關(guān)系代數(shù)+關(guān)系演算),支持數(shù)據(jù)庫的各種操作; 關(guān)系模型包括