數(shù)據(jù)庫應(yīng)用技術(shù)3-1課件_第1頁
數(shù)據(jù)庫應(yīng)用技術(shù)3-1課件_第2頁
數(shù)據(jù)庫應(yīng)用技術(shù)3-1課件_第3頁
數(shù)據(jù)庫應(yīng)用技術(shù)3-1課件_第4頁
數(shù)據(jù)庫應(yīng)用技術(shù)3-1課件_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、單元3_1 數(shù)據(jù)庫的邏輯設(shè)計 (案例1)數(shù)據(jù)庫技術(shù)及應(yīng)用(SQL Server 2008 R2)數(shù)據(jù)庫開發(fā)與維護-數(shù)據(jù)庫邏輯設(shè)計2工作任務(wù)概念模型 關(guān)系數(shù)據(jù)模型將概念設(shè)計中所設(shè)計的ER模型轉(zhuǎn)換為關(guān)系模型根據(jù)需求分析的要求進行完整性設(shè)計和規(guī)范化處理教務(wù)管理信息系統(tǒng)數(shù)據(jù)庫的邏輯設(shè)計3單元目標(biāo)能力目標(biāo)1.能夠運用關(guān)系數(shù)據(jù)模型的基本知識將概念模型轉(zhuǎn)換為關(guān)系模型。2.能夠根據(jù)完整性規(guī)則對關(guān)系模型進行實體完整性、參照完整性和用戶定義完整性的設(shè)計。3.能夠應(yīng)用關(guān)系規(guī)范化方法對關(guān)系模型進行規(guī)范化和優(yōu)化。4.培養(yǎng)用英文單詞或英文縮寫描述和識別屬性的習(xí)慣。知識目標(biāo)1.關(guān)系數(shù)據(jù)模型的組成要素和特點。2.關(guān)系數(shù)據(jù)結(jié)構(gòu)

2、3.關(guān)系的集合運算(并、交、差和笛卡兒積)。4.關(guān)系的專門運算(投影、選擇和連接)與應(yīng)用。5.關(guān)系數(shù)據(jù)實體完整性、參照完整性、用戶定義完整性的概念及應(yīng)用。6.概念模型(聯(lián)系方式1:1,1:n,n:m)到關(guān)系模型轉(zhuǎn)換的方法。7.關(guān)系規(guī)范化的基本概念和關(guān)系規(guī)范化的基本方法。8.數(shù)據(jù)庫邏輯設(shè)計有關(guān)英文術(shù)語。素質(zhì)目標(biāo)1.培養(yǎng)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和工作作風(fēng)。2.培養(yǎng)較強的邏輯思維和抽象思維能力。4學(xué)習(xí)內(nèi)容知識框架5一、關(guān)系模型概述 關(guān)系模型組成要素1關(guān)系模型的特點26(一)關(guān)系模型組成要素關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系對象類型集合系統(tǒng)靜態(tài)特征DDL實現(xiàn)數(shù)據(jù)定義關(guān)系數(shù)據(jù)操作關(guān)系對象操作集合系統(tǒng)動態(tài)特征DML實現(xiàn)數(shù)據(jù)操作關(guān)系數(shù)

3、據(jù)完整性實體完整性約束域完整性約束參照完整性約束用戶定義完整性約束DDL/DCL實現(xiàn)約束檢查三個組成要素7(二)關(guān)系模型的特點實體用關(guān)系表示實體之間的聯(lián)系用關(guān)系表示關(guān)系的定義用關(guān)系表示關(guān)系的運算對象是關(guān)系關(guān)系的運算結(jié)果是關(guān)系概念單一只需告訴系統(tǒng)“做什么”不需告訴系統(tǒng)“怎么做”程序和數(shù)據(jù)各自獨立數(shù)據(jù)獨立關(guān)系是元組的集合關(guān)系的運算是集合運算關(guān)系的運算對象是集合關(guān)系的運算結(jié)果是集合集合運算集合論數(shù)理邏輯嚴(yán)格定義、運算、規(guī)范化理論支持8二、關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系的定義1關(guān)系的術(shù)語29(一)關(guān)系的定義關(guān)系(Relation)是滿足一定條件的二維表,在關(guān)系模型中,無論概念世界中的實體還是實體之間的聯(lián)系均由關(guān)系(

4、二維表)來表示,并且滿足以下特性:關(guān)系(二維表)的每一元組(行)定義實體集的一個實體,每一列定義實體的一個屬性。每一列表示一個屬性,且列名不能重復(fù)。關(guān)系必須有一個主鍵(關(guān)鍵字),用來唯一標(biāo)識一個元組(行),即實體。列的每個值必須與對應(yīng)屬性的類型相同。列是不可分割的最小數(shù)據(jù)項。行、列的順序無關(guān)緊要關(guān)系的基本定義10(一)關(guān)系的定義學(xué)生實體關(guān)系Student (學(xué)生情況表)SIDSnameSexBirthdateSpecialty2011216001趙成剛男1992-05-05計算機應(yīng)用技術(shù)2011216002李敬女1992-01-06計算機應(yīng)用技術(shù)2011216003郭洪亮男1992-04-12

5、計算機應(yīng)用技術(shù)2011216004呂珊珊女1993-10-11計算機信息管理2011216005高全英女1993-07-05計算機信息管理2011216006郝莎女1991-08-03計算機信息管理2011216007張峰男1992-09-03軟件技術(shù)2011216111吳秋娟女1992-08-05軟件技術(shù)11(一)關(guān)系的定義課程實體關(guān)系Course(課程情況表)CIDCnameCredit16020010微機組裝與維護2.016020011操作系統(tǒng)安裝與使用2.016020012軟件文檔編輯與制作3.5(一)關(guān)系的定義學(xué)生選課關(guān)系SC(學(xué)生選課表) SIDCIDScores201121600

6、11602001096.020112160011602001180.020112160011602001296.020112160021602001067.020112160021602001190.020112160021602001288.013二、關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系的術(shù)語1關(guān)系的定義214(二)關(guān)系的術(shù)語關(guān)系:每個二維表稱為一個關(guān)系,每個關(guān)系有一個關(guān)系名 例如:學(xué)生情況表Student關(guān)系型:表的所有列標(biāo)題,描述實體或聯(lián)系的型 例如:(SID,Sname,Sex,Birthdate,Specialty)關(guān)系值:表的所有列對應(yīng)的數(shù)據(jù),描述實體或聯(lián)系的值 例如:2011216003 ,郭洪亮,

7、男,1992年4月,計算機應(yīng)用技術(shù) 2011216004 ,呂珊珊,女,1993年10月,計算機信息管理元組:表中的一行,描述一個實體或聯(lián)系 例如:201216004,呂珊珊,女,1987年10月,計算機網(wǎng)絡(luò)15(二)關(guān)系的術(shù)語屬性:表中各列的標(biāo)題,每一個屬性起一個名字,即屬性名 例如:SID,Sname屬性值:表中各列對應(yīng)的數(shù)據(jù),描述實體或聯(lián)系的特征 例如:2011216003,郭洪亮域:屬性的取值范圍 例如:屬性SID的取值范圍是10個長度的字符 屬性Birthdate的取值是合法的日期16(二)關(guān)系的術(shù)語候選鍵(Candidate Key):若關(guān)系中的某一屬性或?qū)傩越M的值能唯一的標(biāo)識一個

8、元組,則稱該屬性或?qū)傩越M為候選鍵,候選鍵可以有多個。 例如:關(guān)系Student中的屬性SID,若再增加一個屬性身份證號碼IDNumber,則屬性SID和屬性IDNumber都是候選鍵。 主鍵(Primary Key,PK) :關(guān)系中的某個屬性或?qū)傩越M,能唯一確定一個元組,即確定一個實體,一個關(guān)系中的主鍵只能有一個,主鍵也被稱為碼或關(guān)鍵字。 例如:SID,關(guān)系SC中的屬性組(SID,CID),關(guān)系Course中的CID。外鍵(Foreign Key,F(xiàn)K):一個關(guān)系中的屬性或?qū)傩越M不是本關(guān)系的主鍵,而是另一關(guān)系的主鍵,則稱該屬性或?qū)傩越M是該關(guān)系的外鍵,也稱為外關(guān)鍵字。 例如:關(guān)系SC中的屬性SI

9、D和CID17(二)關(guān)系術(shù)語主屬性:能作為候選鍵的屬性。 例如:關(guān)系Student中的屬性SID 和IDNumber ,關(guān)系SC中的屬性SID和CID非主屬性:除了主屬性的其他屬性。 例如:關(guān)系Student中的屬性Sname ,Sex,Birthdate,Specialty,關(guān)系SC中的屬性Scores,關(guān)系Course中的屬性Cname和Credit。關(guān)系模式:關(guān)系名(屬性1,屬性2, 屬性n) 例如:教務(wù)管理系統(tǒng)學(xué)生選課部分的三個關(guān)系模式 Student(SID,Sname,Sex,Birthdate,Specialty) PK:SID Course(CID, Cname,Credit)

10、 PK:CID SC( SID, CID ,Scores) PK:SID,CID FK:SID和CID 注:PK代表主鍵,F(xiàn)K代表外鍵18三、關(guān)系數(shù)據(jù)操作傳統(tǒng)的集合運算(并、交、差、笛卡兒積)1專門的關(guān)系運算(投影、選擇、連接)23綜合運算19(一)傳統(tǒng)的集合運算假設(shè)有兩個關(guān)系R和S,具有相同的結(jié)構(gòu),t是元組變量,關(guān)系R為喜歡跳舞的學(xué)生,關(guān)系S為喜歡唱歌的學(xué)生。表1 喜歡跳舞的學(xué)生關(guān)系R Sname Sex 李敬 女 高全英 女 吳秋娟 女 穆金華 男 張欣欣 女 王婷 女表2 喜歡唱歌的學(xué)生關(guān)系S Sname Sex 趙成剛 男 張峰 男 吳秋娟 女 穆金華 男 孫政先 男 王婷 女 呂文昆

11、 男 孫煒 女(一)傳統(tǒng)的集合運算并(Union)公式:RS=ttR t S 語義:t 元組屬于R或者屬于S。 例1:喜歡跳舞或喜歡唱歌的學(xué)生, RS的關(guān)系如表3所示。表3 RSSnameSex李敬女高全英女吳秋娟女穆金華男張欣欣女王婷女趙成剛男張峰男孫政先男呂文昆男孫煒女21(一)傳統(tǒng)的集合運算差(Difference)公式:RS=ttR t S 語義:t 元組屬于R,但不屬于S。例2:喜歡跳舞但是不喜歡唱歌的學(xué)生,RS的關(guān)系如表4所示。 表4 R-SSnameSex李敬女高全英女張欣欣女22(一)傳統(tǒng)的集合運算交(Intersection)公式:RS=ttR t S 語義:t 元組屬于R并

12、且屬于S。例3:既喜歡跳舞也喜歡唱歌的學(xué)生,RS的關(guān)系如表5所示。 表5 RSSnameSex吳秋娟女穆金華男王婷女23(一)傳統(tǒng)的集合運算笛卡兒積(Cartesian Product)假設(shè)關(guān)系R為m列( m 個屬性),k1行(k1個元組);關(guān)系S為n列(n個屬性),k2行(k2個元組)。公式:RS=tRtS tR R tS S 語義:笛卡兒積仍是一個關(guān)系,該關(guān)系的結(jié)構(gòu)是R和S結(jié)構(gòu)之連接,即前m 個屬性來自R,后n個屬性來自S,該關(guān)系的值是由R中的每個元組連接S中的每個元組所構(gòu)成元組的集合。注意:新關(guān)系的屬性個數(shù)等于m+n ,元組個數(shù)等于k1*k2。24(一)傳統(tǒng)的集合運算例4 :設(shè)關(guān)系R和S

13、如表6和表7所示,RS如表8所示。 表6 學(xué)生關(guān)系RSIDSname201216001趙成剛2011216002李敬 表7 選課關(guān)系SSIDCIDScores201121600116020010902011216001160200118520112160021602001085表8 笛卡兒積 RSSIDSnameSIDCIDScores2011216001趙成剛201121600116020010902011216001趙成剛201121600116020011852011216001趙成剛201121600216020010852011216002李敬20112160011602001090

14、2011216002李敬201121600116020011852011216002李敬20112160021602001085三、關(guān)系數(shù)據(jù)操作專門的關(guān)系運算(投影、選擇、連接)1傳統(tǒng)的集合運算(并、交、差、笛卡兒積)23綜合運算26(二)專門的關(guān)系運算投影(Projection)設(shè):t是關(guān)系R中的一個元組,A是要從R中投影出的屬性子集。公式:A(R)= t.At R 語義:從關(guān)系R中按所需順序選取若干個屬性構(gòu)成新關(guān)系。注意:新關(guān)系的元組數(shù)小于等于原關(guān)系的元組數(shù),新關(guān)系的屬性數(shù)不多于原關(guān)系中的屬性數(shù)。27(二)專門的集合運算表9 關(guān)系RSIDSnameSexBirthdateSpecialty

15、2011216001趙成剛男1992-05-05計算機應(yīng)用2011216002李敬女1992-01-06軟件技術(shù)2011216003郭洪亮男1992-04-12計算機應(yīng)用技術(shù)2011216004呂珊珊女1993-10-11計算機信息管理2011216005高全英女1993-07-05計算機信息管理2011216006郝莎女1991-08-03計算機信息管理2011216007張峰男1992-09-03軟件技術(shù)2011216111吳秋娟女1992-08-05軟件技術(shù)表10 Sname,Sex (R)SnameSex趙成剛男李敬女郭洪亮男呂珊珊女高全英女郝莎女張峰男吳秋娟女例5:學(xué)生情況表R(表9

16、)的學(xué)生姓名和性別的情況,投影運算結(jié)果如表10所示。28(二)專門的集合運算表11 Sex=男(R)SIDSnameSexBirthdateSpecialty2011216001趙成剛男1992-05-05計算機應(yīng)用2011216003郭洪亮男1992-04-12計算機應(yīng)用技術(shù)2011216007張峰男1992-09-03軟件技術(shù)選擇(Selection)設(shè):t是關(guān)系R中的一個元組,F(xiàn)(t)為元組邏輯表達式。公式:F(t)(R)= ttR F(t)=true語義:從關(guān)系中找出滿足條件的那些元組稱為選擇。注意:運算結(jié)果的元組數(shù)不多于原關(guān)系中的元組數(shù)。例6:在學(xué)生情況表9 R中選擇出男生,如表11

17、所示。(二)專門的集合運算連接(Join)設(shè):A,B分別是關(guān)系R和S中的屬性,t是連接關(guān)系中的一個元組。公式:語義:兩個關(guān)系R和S按相應(yīng)屬性值的比較條件連接起來,生成一個新關(guān)系,也稱為連接。等值連接 RS選擇(為)按照兩關(guān)系中對應(yīng)屬性值相等的條件所進行的連接自然連接 等值連接去重復(fù)屬性記作:R S30(二)專門的集合運算例7:設(shè)學(xué)生、選課和課程表如表12、表13、表14所示,學(xué)生選課的情況為S SC C的結(jié)果,如表15所示。 表12SSIDSname2011216111吳秋娟2011216112穆金華2011216115張欣欣表13 SCSIDCID2011216111160200102011

18、21611116020013201121611216020014201121611216020010201121611516020011201121611516020014表14 CCIDCname16020010微機組裝與維護16020011操作系統(tǒng)安裝與使用16020012軟件文檔編輯與制作16020013面向過程程序設(shè)計16020014數(shù)據(jù)庫開發(fā)與維護16020015面向?qū)ο蟪绦蛟O(shè)計16020016數(shù)字媒體采集與處理16020017靜態(tài)網(wǎng)頁設(shè)計與制作16020018Web標(biāo)準(zhǔn)設(shè)計(二)專門的集合運算自然連接結(jié)果如下:表15 S SC C SIDSnameCIDCname201121611

19、1吳秋娟16020010微機組裝與維護2011216111吳秋娟16020013面向過程程序設(shè)計2011216112穆金華16020014數(shù)據(jù)庫開發(fā)與維護2011216112穆金華16020010微機組裝與維護2011216115張欣欣16020011操作系統(tǒng)安裝與使用2011216115張欣欣16020014數(shù)據(jù)庫開發(fā)與維護32三、關(guān)系數(shù)據(jù)操作綜合運算1傳統(tǒng)的集合運算(并、交、差、笛卡兒積)23專門的關(guān)系運算(投影、選擇、連接)33(三)綜合運算 例8:運算出趙成剛的學(xué)號、姓名、所選課程號和成績。 SID,Sname,CID,Scores(Sname= 趙成剛 (S SC) 運算結(jié)果如下表所

20、示: SIDSnameCIDScores2011216001趙成剛1602001096.02011216001趙成剛1602001180.02011216001趙成剛1602001296.0注意:按照選擇 投影 連接的運算順序可以減少運算時間,避免增加時間復(fù)雜性。34(三)綜合運算例9:運算出學(xué)號為2011216002的學(xué)生的學(xué)號、姓名、所選課程名及成績。SID,Sname,Cname,Scores( SID =2011216002 (S SC C)運算結(jié)果如下表所示: SIDSnameCnameScores2011216002李敬微機組裝與維護67.02011216002李敬操作系統(tǒng)安裝與使

21、用90.02011216002李敬軟件文檔編輯與制作88.0注意:按照選擇 投影 連接的運算順序可以減少運算時間,避免增加時間復(fù)性。35四、關(guān)系數(shù)據(jù)完整性實體完整性規(guī)則:PK檢查: DBMS域完整性規(guī)則:類型、默認(rèn)值、是否允許空等檢查:DBMS用戶定義完整性規(guī)則:自定義約束、存儲過程、函數(shù)等檢查: DBMS三個方面+用戶自定義參照完整性規(guī)則:FK檢查:DBMS36(一)實體完整性約束 (Entity Integrity)規(guī)則:關(guān)系的主鍵不能取空值,或者說任何關(guān)系中每個元組的主鍵不能為空。 檢查:用戶只要標(biāo)明一個關(guān)系的主鍵,在輸入或更新數(shù)據(jù)時,DBMS將自動對該關(guān)系中的每個元組的主鍵進行檢查,若

22、發(fā)現(xiàn)主鍵值為空或已有相同主鍵值存在,將給出錯誤信息并要求用戶糾正以保證數(shù)據(jù)的完整性。 例如:建立一個課程情況表Course,屬性學(xué)號CID為主鍵,唯一且不能為空值。 CREATE TABLE Course ( CID char(8) NOT NULL PRIMARY KEY, -實體完整性約束 Cname nchar(30) NULL,Credit decimal(3,1) NULL ) 37(二)域完整性約束 ( Domain Integrity)規(guī)則:關(guān)系的列的值域必須滿足某種特定數(shù)據(jù)類型或某種約束,如數(shù)據(jù)類型、格式、值域范圍、默認(rèn)值、是否允許空值等。 檢查:用戶只要定義了一個關(guān)系的各屬性

23、的域完整性約束,在輸入或更新某屬性值時,DBMS將自動對該屬性值進行檢查,若屬性值不符合域完整性約束規(guī)定的取值范圍,將給出錯誤信息并要求用戶糾正以保證數(shù)據(jù)的有效性。 例如:建立一個表“Student”(學(xué)生關(guān)系)。 CREATE TABLE Student (SID char(10) PRIMARY KEY, -10個長度的字符類型,域完整性約束 Sname char(8) NOT NULL, -8個長度的字符類型和不允許空,域完整性約束 Sex nchar(1) NULL, -1個長度的雙字節(jié)字符類型,域完整性約束 Birthdate date NULL, -日期類型和允許空,域完整性約束

24、Specialty varchar(26) NULL) -26個長度的字符類型和允許空,域完整性約束38(三)參照完整性約束(Reference Integrity) 規(guī)則:參照關(guān)系(子關(guān)系)的外鍵取值不能超出被參照關(guān)系(父關(guān)系)的主鍵取值檢查:用戶只要給出一對參照關(guān)系和被參照關(guān)系,并給出參照關(guān)系中的外鍵,則DBMS會自動進行參照完整性規(guī)則的檢查,當(dāng)發(fā)現(xiàn)違反該規(guī)則的外鍵取值時將顯示錯誤信息,要求用戶予以糾正。 例如:建立一個學(xué)生選課表“SC”。SC是參照關(guān)系,Student和Course是被參照關(guān)系。SC中外鍵“SID”的取值不能超出Student中主鍵“SID”的取值,SC中外鍵“CID”的

25、值不能超出Course中主鍵“CID”的值。 CREATE TABLE SC (SID char(10) NOT NULL, CID char(8) NOT NULL, Scores decimal(4,1) NULL, PRIMARY KEY(SID,CID), FOREIGN KEY(SID) REFERENCES Student(SID), -定義外鍵 FOREIGN KEY(CID) REFERENCES Course(CID) ), -定義外鍵 39(三)參照完整性約束檢查為了維護數(shù)據(jù)庫中數(shù)據(jù)的完整性,在對關(guān)系數(shù)據(jù)庫執(zhí)行插入、刪除和修改操作時,要檢查是否滿足完整性規(guī)則。 向參照關(guān)系(

26、子)插入,檢查外鍵屬性上的值是否在被參照關(guān)系(父)的主鍵屬性值中存在。若存在,可以執(zhí)行插入操作,否則不能執(zhí)行插入操作。插入(子)有其父才能有其子!40(三)參照完整性約束檢查刪除(父)刪除被參照關(guān)系(父)中的元組時,檢查其主鍵是否被參照關(guān)系(子)的外鍵引用?若沒被引用:刪除若被引用:拒絕刪除 空值刪除(外鍵改為空值) 級聯(lián)刪除(參照關(guān)系中的相應(yīng)元組一起刪除)更新等價:先刪除元組,后插入元組(以上兩種情況的綜合) 刪父要看有沒有子!41(三)參照完整性約束檢查關(guān)系Course(課程情況表)CIDCname16020010微機組裝與維護16020011操作系統(tǒng)安裝與使用16020012軟件文檔編輯

27、與制作關(guān)系SC(學(xué)生選課表)SIDCID(外鍵)Scores20112160011602001096.020112160011602001185.020112160011602001296.020112160021602001067.020112160021602001190.020112160021602001288.0關(guān)系SC(學(xué)生選課表)SIDCID(外鍵)Scores20112160011602001096.02011216001NULL85.020112160011602001296.020112160021602001067.02011216002NULL90.0201121600

28、21602001288.016020011操作系統(tǒng)安裝與使用空值刪除:刪除被參照關(guān)系中的行(操作系統(tǒng)安裝與使用),檢查其主鍵是否被參照關(guān)系的外鍵引用,若被引用:外鍵(CID)改為空值(三)參照完整性約束檢查關(guān)系Course(課程情況表)CIDCname16020010C語言程序設(shè)計16020011操作系統(tǒng)安裝與使用16020012網(wǎng)頁設(shè)計關(guān)系SC(學(xué)生選課表)SIDCID(外鍵)Scores20112160011602001096.020112160011602001180.020112160011602001296.020112160021602001067.0201121600216020

29、01190.020112160021602001288.0關(guān)系SC(學(xué)生選課表)SIDCID(外鍵)Scores20112160011602001096.020112160011602001180.020112160011602001296.020112160021602001067.020112160021602001190.02005216002160200128816020011操作系統(tǒng)安裝與使用級聯(lián)刪除:刪除被參照關(guān)系中的行(操作系統(tǒng)安裝與使用),檢查其主鍵是否被參照關(guān)系的外鍵引用,若被引用:參照關(guān)系中的相應(yīng)行一起刪除(四)用戶定義完整性約束規(guī)則:屬性取值滿足某種條件或函數(shù)要求,包括對

30、每個關(guān)系的取值限制(或稱約束)的具體定義。檢查:用戶定義完整性約束的規(guī)則同其他完整性規(guī)則一樣被記錄在DBMS的數(shù)據(jù)字典中。在對數(shù)據(jù)庫操作時,DBMS會自動根據(jù)所定義的完整性規(guī)則進行操作監(jiān)控,拒絕不符合要求的數(shù)據(jù)進入數(shù)據(jù)庫。例如:建立一個學(xué)生情況表(Student),屬性性別Sex的取值必須滿足為男或女 CREATE TABLE Student (SID char(10) PRIMARY KEY, Sname char(8) NOT NULL, Sex nchar(1) NULL, Birthday date NULL, Specialty varchar(26) NULL, CONSTRAIN

31、T CK_Student_1 CHECK(Sex=男 OR Sex=女) -CHECK檢查,用戶定義完整性約束 ) 說明:DBMS通常提供一些工具來幫助用戶自定義數(shù)據(jù)完整性SQL Server 2008 R2中主要提供:用戶自定義約束(CONSTRAINT)、類型(TYPE)、存儲過程(PROCEDURE)、觸發(fā)器(TRIGGER)和函數(shù)(FUNCTION)等。44五、 ER模型到關(guān)系模型的轉(zhuǎn)換45五、 ER模型到關(guān)系模型的轉(zhuǎn)換 實體(E)轉(zhuǎn)換為關(guān)系模式12聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式信息世界 機器世界(概念模型:ER圖) (數(shù)據(jù)模型:關(guān)系模型) 46(一)實體(E)轉(zhuǎn)換為關(guān)系模式的方法 一個實體

32、轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的主鍵就是關(guān)系的主鍵。 例如:學(xué)生實體轉(zhuǎn)換為關(guān)系模式 實體學(xué)生(學(xué)號,姓名,性別,出生日期,專業(yè))關(guān)系Student(SID,Sname,Sex,Birthday,Specialty)47(二)聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法一對一 將聯(lián)系與任意端實體所對應(yīng)的關(guān)系模式合并,加入另一端實體的主鍵和聯(lián)系的屬性。例如:實體學(xué)校(學(xué)校編號,名稱) 校長(編號,姓名) 任職聯(lián)系是1:1實體“學(xué)?!盨chool(SchoolCode,SchoolName) PK:SchoolCode實體“校長”SchoolMaster(MasterCode,MasterNa

33、me,SchoolCode,EmployedDate) PK:MasterCode FK:SchoolCode48(二)聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法一對一 將聯(lián)系與任意端實體所對應(yīng)的關(guān)系模式合并,加入另一端實體的主鍵和聯(lián)系的屬性。例如:實體學(xué)校(學(xué)校編號,名稱) 校長(編號,姓名) 任職聯(lián)系是1:1實體“學(xué)?!盨chool(SchoolCode,SchoolName,MasterCode,EmployedDate) PK:SchoolCode FK:MasterCode 實體“校長”SchoolMaster(MasterCode,MasterName) PK:MasterCode49(二)聯(lián)

34、系(R)轉(zhuǎn)換為關(guān)系模式的方法一對多將聯(lián)系與n端實體所對應(yīng)的關(guān)系模式合并,加入1端實體的主鍵和聯(lián)系的屬性。例如:在商品進銷存管理系統(tǒng)中,供應(yīng)商實體和訂單實體的聯(lián)系是1:n的實體“訂 單”O(jiān)rder(OrderNo,VendorCode,MaterialNo,Quantity,Price,OrderTime) PK:OrderNo, FK:VendorCode 實體“供應(yīng)商”Vendor(VendorCode,VName,Address,Telephone,AccountNumber) PK:VendorCode50(二)聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法多對多將聯(lián)系轉(zhuǎn)換成一個關(guān)系。該聯(lián)系相連的各實體

35、的主鍵和聯(lián)系本身的屬性轉(zhuǎn)換為關(guān)系的屬性。例如:在教務(wù)管理系統(tǒng)中,實體“教師”和實體“課程”的聯(lián)系是多對多的。51(二)聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式的方法多對多將聯(lián)系轉(zhuǎn)換成一個關(guān)系。該聯(lián)系相連的各實體的主鍵和聯(lián)系本身的屬性轉(zhuǎn)換為關(guān)系的屬性。例如:在教務(wù)管理系統(tǒng)中,實體“教師”和實體“課程”的聯(lián)系是多對多的。實體“教師”Teacher(EID,Ename,Sex,Birthdate,Title) PK:EID聯(lián)系“授課”TC(EID,CID, Evaluation) PK:EID+CID FK:EID,CID實體“課程”Course(CID,Cname,Credit) PK:CID52六、 教務(wù)管理數(shù)據(jù)庫邏輯設(shè)計 實體(E)轉(zhuǎn)換為關(guān)系模式12聯(lián)系(R)轉(zhuǎn)換為關(guān)系模式信息世界 機器世界(概念模型:ER圖) (數(shù)據(jù)模型:關(guān)系模型) 53六、 教務(wù)管理數(shù)據(jù)庫邏輯設(shè)計信息世界 機器世界(概念模型:ER圖) (數(shù)據(jù)模型:關(guān)系模型) 54

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論