【正文】
算機(jī) 學(xué)生( 學(xué)號(hào) ,姓名,性別,專業(yè)號(hào),年齡) 專業(yè)( 專業(yè)號(hào) ,專業(yè)名) An Introduction to Database System 關(guān)系間的引用 (續(xù) ) 例 2 學(xué)生 、 課程 、 學(xué)生與課程之間的多對(duì) 多聯(lián)系 學(xué)生 ( 學(xué)號(hào) , 姓名 , 性別 , 專業(yè)號(hào) , 年齡 ) 課程 ( 課程號(hào) , 課程名 , 學(xué)分 ) 選修 ( 學(xué)號(hào) , 課程號(hào) , 成績(jī) ) An Introduction to Database System 課程號(hào) 課程名 學(xué)分01 數(shù)據(jù)庫(kù) 402 數(shù)據(jù)結(jié)構(gòu) 403 編譯 404 P ASC AL 2學(xué)號(hào) 姓名 性別 專業(yè)號(hào) 年齡801 張三 女 01 19802 李四 男 01 20803 王五 男 01 20804 趙六 女 02 20805 錢七 男 02 19學(xué)號(hào) 課程號(hào) 成績(jī)801 04 92801 03 78801 02 85802 03 82802 04 90803 04 88學(xué)生 學(xué)生選課 課程 An Introduction to Database System 關(guān)系間的引用 (續(xù) ) 例 3 學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系 (一對(duì)多 ) 學(xué)生 ( 學(xué)號(hào) , 姓名 , 性別 , 專業(yè)號(hào) , 年齡 , 班長(zhǎng) ) 學(xué)號(hào) 姓名 性別 專業(yè)號(hào) 年齡 班長(zhǎng)801 張三 女 01 19 802802 李四 男 01 20803 王五 男 01 20 802804 趙六 女 02 20 805805 錢七 男 02 19An Introduction to Database System 2.外碼( Foreign Key) 設(shè) F是基本關(guān)系 R的一個(gè)或一組屬性 , 但不 是關(guān)系 R的碼 。 這是規(guī)范條件中最基本的一條 表 2 . 3 非規(guī)范化關(guān)系P OS T GR A D U A T ES U P E R V IS ORS P E C I A L IT YP G1 P G2張清玫 信息專業(yè) 李勇 劉晨劉逸 信息專業(yè) 王敏An Introduction to Database System 4. 關(guān)系模式 ? 關(guān)系模式是型 ? 關(guān)系是值 關(guān)系模式是對(duì)關(guān)系的描述 ? 關(guān)系名 ? 屬性構(gòu)成 ? 屬性來自的域 ? 屬性與域之間的映象關(guān)系 ? 屬性間的數(shù)據(jù)依賴關(guān)系集合 An Introduction to Database System 關(guān)系模式可以形式化地表示為: R( U, D, dom, F) R 關(guān)系名 U 組成該關(guān)系的屬性名集合 D 屬性組 U中屬性所來自的域 dom 屬性向域的映象集合 F 屬性間的數(shù)據(jù)依賴關(guān)系集合 An Introduction to Database System 關(guān)系模式通??梢院?jiǎn)記為 R (U) 或 R (A1, A2, … , An) R 關(guān)系名 A1, A2, … , An 屬性名 An Introduction to Database System 關(guān)系模式與關(guān)系 關(guān)系模式 對(duì)關(guān)系的描述 靜態(tài)的 、 穩(wěn)定的 關(guān)系 關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容 動(dòng)態(tài)的 、 隨時(shí)間不斷變化的 關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系 通過上下文加以區(qū)別 An Introduction to Database System 關(guān)系的完整性 一、實(shí)體完整性 二、參照完整性 三、用戶定義的完整性 An Introduction to Database System 一、實(shí)體完整性 實(shí)體完整性規(guī)則 ( Entity Integrity) ? 若屬性 A是基本關(guān)系 R的主屬性 , 則屬性 A不能取空值 An Introduction to Database System 實(shí)體完整性 (續(xù) ) 注意 實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有 主屬性都不能取空值 例 選修(學(xué)號(hào),課程號(hào),成績(jī)) “學(xué)號(hào) +課程號(hào)”為主碼,則兩個(gè)屬性都不能取空值。 不包含在任何侯選碼中的屬性稱為 非碼屬性 ( Nonkey attribute) An Introduction to Database System 關(guān)系的性質(zhì) ① 列是同質(zhì) 的( Homogeneous) 每一列中的分量是同一類型的數(shù)據(jù) , 來自同 一個(gè)域 ② 不同的列可出自同一個(gè)域 其中的每一列稱為一個(gè)屬性 不同的屬性要給予不同的屬性名 An Introduction to Database System 上例中也可以只給出兩個(gè)域: 人 ( PERSON) ={張清玫 , 劉逸 , 李勇 , 劉晨 , 王敏 } 專業(yè) ( SPECIALITY) ={計(jì)算機(jī)專業(yè) , 信息專業(yè) } SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從 PERSON域中取值 為了避免混淆 , 必須給這兩個(gè)屬性取不同的屬性名 , 而不能直接使 用域名 。 An Introduction to Database System 關(guān)系(續(xù)) 6) 碼 候選碼 ( Candidate key) 若關(guān)系中的某屬性 (組 )的值能唯一地標(biāo)識(shí) 一個(gè)元組,則稱該屬性組為候選碼 在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。 表 2 . 2 S A P 關(guān)系S U PE R V I S O R S PE C I A L I T Y PO S T G R A D U A T E張清玫 信息專業(yè) 李勇張清玫 信息專業(yè) 劉晨劉逸 信息專業(yè) 王敏An Introduction to Database System 關(guān)系(續(xù)) 5) 屬性 對(duì)每列起一個(gè)名字 , 稱為屬性 ( Attribute) 。 當(dāng) n=2 時(shí) , 稱該 關(guān) 系 為 二元 關(guān)系 ( Binary relation) 。 在上例中 , 12個(gè)元組可列成一張二維表 An Introduction to Database System 表 2 . 1 D1, D2, D3的笛卡爾積S U P E R V I S OR S P E C I A L IT Y P OS T GR A D U A T E張清玫 計(jì)算機(jī)專業(yè) 李勇張清玫 計(jì)算機(jī)專業(yè) 劉晨張清玫 計(jì)算機(jī)專業(yè) 王敏張清玫 信息專業(yè) 李勇張清玫 信息專業(yè) 劉晨張清玫 信息專業(yè) 王敏劉逸 計(jì)算機(jī)專業(yè) 李勇劉逸 計(jì)算機(jī)專業(yè) 劉晨劉逸 計(jì)算機(jī)專業(yè) 王敏劉逸 信息專業(yè) 李勇劉逸 信息專業(yè) 劉晨劉逸 信息專業(yè) 王敏An Introduction to Database System 3. 關(guān)系( Relation) 1) 關(guān)系 D1 D2 … Dn的子集叫作在域 D1, D2, … ,Dn上的 關(guān)系 , 表示為 R( D1, D2, … , Dn) R: 關(guān)系名 n: 關(guān)系的 目 或 度 ( Degree) An Introduction to Database System 關(guān)系(續(xù)) 例 在表 的笛卡爾積中取出有實(shí)際意義的元組 來構(gòu)造關(guān)系 關(guān)系: SAP(SUPERVISOR, SPECIALITY, POSTGRADUATE) ? 關(guān)系名 , 屬性名 假設(shè): 專業(yè)與導(dǎo)師: 1:n, 導(dǎo)師與研究生: 1:n 于是: SAP關(guān)系可以包含三個(gè)元組 { (張清玫 , 信息專業(yè) , 李勇 ), (張清玫,信息專業(yè),劉晨 ), (劉逸,信息專業(yè),王敏 ) } An Introduction to Database System 關(guān)系(續(xù)) 2) 元組 關(guān)系中的每個(gè)元素是關(guān)系中的元組 , 通常用 t表示 。 An Introduction to Database System 笛卡爾積(續(xù) ) ? 4) 基數(shù) ( Cardinal number) ? 若 Di( i= 1, 2, … , n) 為有限集 , 其基數(shù)為 mi ( i = 1 , 2 , … , n ) , 則D1 D2 … Dn的基數(shù) M