數(shù)據(jù)庫復(fù)習(xí)工程學(xué)院期末_第1頁
數(shù)據(jù)庫復(fù)習(xí)工程學(xué)院期末_第2頁
數(shù)據(jù)庫復(fù)習(xí)工程學(xué)院期末_第3頁
數(shù)據(jù)庫復(fù)習(xí)工程學(xué)院期末_第4頁
數(shù)據(jù)庫復(fù)習(xí)工程學(xué)院期末_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 CH1 緒論1. 掌握數(shù)據(jù)庫的四個基本概念:數(shù)據(jù)、數(shù)據(jù)庫以及基本特征、數(shù)據(jù)庫管理系統(tǒng)以及主要功能、數(shù)據(jù)庫系統(tǒng)及構(gòu)成。數(shù)據(jù):是數(shù)據(jù)庫中存儲的基本對象。描述事物的符號記錄。數(shù)據(jù)庫:是長期儲存在計算機、有組織的、可共享的大量數(shù)據(jù)的集合§ 數(shù)據(jù)庫的基本特征« 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存(結(jié)構(gòu)化)« 可為各種用戶共享« 冗余度較小« 數(shù)據(jù)獨立性較高« 易擴展數(shù)據(jù)庫管理系統(tǒng):位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個大型復(fù)雜的軟件系統(tǒng)??茖W(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。主要功能:l 數(shù)據(jù)定義功能l 數(shù)據(jù)組織

2、、存儲和管理l 數(shù)據(jù)操縱功能DMLl 數(shù)據(jù)庫的事務(wù)管理和運行管理l 數(shù)據(jù)庫的建立和維護功能(實用程序)l 其它功能數(shù)據(jù)庫系統(tǒng):在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成構(gòu)成:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員(DBA)2. 了解數(shù)據(jù)管理技術(shù)的三個發(fā)展階段以及特點。3. 數(shù)據(jù)模型的基本概念以及三個要素。數(shù)據(jù)模型:是現(xiàn)實世界數(shù)據(jù)特征的抽象。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)三個要素:« 數(shù)據(jù)結(jié)構(gòu) :是對系統(tǒng)靜態(tài)特性的描述。« 數(shù)據(jù)操作 :是對系統(tǒng)動態(tài)特性的描述。« 完整性約束條件:一組完整性規(guī)則的集合。4. 掌握數(shù)據(jù)兩個獨立性的含義。l 物理獨立性:指用戶的應(yīng)用程序與存儲

3、在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。l 邏輯獨立性:指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)庫的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。5. 掌握概念模型(信息模型)的基本概念(實體,屬性,碼,域,實體型,實體集,三類聯(lián)系);概念模型用于信息世界的建模。(1) 實體(Entity) « 客觀存在并可相互區(qū)別的事物稱為實體。« 可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) « 實體所具有的某一特性稱為屬性。« 一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) « 唯

4、一標(biāo)識實體的屬性集稱為碼。(4) 域(Domain) « 屬性的取值圍稱為該屬性的域。(5) 實體型(Entity Type) « 用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6) 實體集(Entity Set) « 同一類型實體的集合稱為實體集(7) 聯(lián)系(Relationship) « 現(xiàn)實世界中事物部以及事物之間的聯(lián)系在信息世界中反映為實體部的聯(lián)系和實體之間的聯(lián)系。« 實體部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系« 實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n)

5、兩個以上實體型之間的聯(lián)系§ 多個實體型間的一對一聯(lián)系§ 兩個以上實體型之間一對多聯(lián)系§ 兩個以上實體型間的多對多聯(lián)系6. 掌握概念模型的表示方式(E-R方法),能夠根據(jù)描述畫出對應(yīng)的E-R圖;7. 掌握數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu);數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性的關(guān)系;三級模式結(jié)構(gòu):l 模式(Schema)l 外模式(External Schema)也稱子模式或用戶模式。介于模式與應(yīng)用之間。l 模式(Internal Schema)(也稱存儲模式)一個數(shù)據(jù)庫只有一個模式。數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性的關(guān)系:« 外模式模式映像:保證數(shù)據(jù)的邏輯獨立性

6、71; 模式模式映像:保證數(shù)據(jù)的物理獨立性CH2關(guān)系數(shù)據(jù)庫1. 掌握關(guān)系模型、關(guān)系的基本概念(笛卡爾積、關(guān)系、候選碼、主碼、主屬性、非碼屬性、全碼、外部碼);關(guān)系模型:用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型笛卡爾積:域上的一種集合運算,所有域的所有取值的一個組合。笛卡爾積可以表示為一個二維表。關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一表。現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系來表示。候選碼(Candidate key): 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選碼l 簡單的情況:候選碼只包含一個屬性l 最極端的情況:關(guān)系模式的所有屬性組是這個關(guān)系模式的候

7、選碼,稱為全碼。主碼:若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primary key)主屬性:候選碼的諸屬性稱為主屬性(Prime attribute)非主屬性:不包含在任何侯選碼中的屬性稱為非主屬性,也稱非碼屬性域是一組具有相同數(shù)據(jù)類型的值的集合。2. 掌握三類完整性約束l 實體完整性l 參照完整性l 用戶定義的完整性3. 掌握關(guān)系代數(shù)語言五種基本操作:選擇、投影、并、差、笛卡爾積。1)集合運算:交、并、差和笛卡爾積,能夠根據(jù)要求進行集合運算2)關(guān)系運算:選擇、投影、連接和除,能夠根據(jù)要求寫出對應(yīng)的關(guān)系代數(shù)式例如:設(shè)有如下所示的關(guān)系S(S#,SNAME,AGE,SEX)、C(C#,AM

8、E,TEACHER)和SC(S#,C#,GRADE),試用關(guān)系代數(shù)表達(dá)式表示下列查詢語句: (1) 檢索“程軍”老師所授課程的課程號(C#)和課程名(AME)。   (2) 檢索年齡大于21的男學(xué)生學(xué)號(S#)和(SNAME)。     (3) 檢索”強”同學(xué)不學(xué)課程的課程號(C#)。     (4) 檢索至少選修兩門課程的學(xué)生學(xué)號(S#)。 (5) 檢索選修課程包含“程軍”老師所授課程之一的學(xué)生學(xué)號(S#)。   

9、  (6) 檢索選修課程名為“C語言”的學(xué)生學(xué)號(S#)和(SNAME)。     解:本題各個查詢語句對應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下: (1). C#,AME(TEACHER=程軍(C)    (2). S#,SNAME(AGE>21SEX=”男”(C)    (3). C#(C)- C#(SNAME=強(S) wv SC)    

10、 (4). S#(1=425 (SC × SC)     (5). S#(SCwv C#(TEACHER=程軍(C)  (6). S#,SNAMEswv S#(SCwv AME=C語言(C)Ch3關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQLCh5 數(shù)據(jù)庫的完整性 ch8 數(shù)據(jù)庫編程1. 掌握SQL的9個核心動詞。數(shù)據(jù)查詢:SELECT (查詢出數(shù)據(jù),也可用于變量賦值) 數(shù)據(jù)定義(表/視圖/查詢/存儲過程/自定義函數(shù)/索引/觸發(fā)器等):C

11、REATE (創(chuàng)建)、DROP(刪除)、ALTER(修改) 數(shù)據(jù)操作:INSERT(插入)、UPDATE(更新)、DELETE(刪除) 數(shù)據(jù)控制:Grant(授權(quán))、revoke(回收權(quán)限)2. 掌握SQL SERVER的命令,能夠根據(jù)要求寫出對應(yīng)的SQL語言1)創(chuàng)建數(shù)據(jù)庫(create database)的命令。CREATE DATABASE stuDB2ON PRIMARY -默認(rèn)就屬于PRIMARY主文件組,可省略( NAME='stuDB_data', -主數(shù)據(jù)文件的邏輯名 FILENAME='D:projectstuDB_data.mdf', -主數(shù)據(jù)

12、文件的物理名 SIZE=5mb, -主數(shù)據(jù)文件初始大小 MAXSIZE=100mb, -主數(shù)據(jù)文件增長的最大值 FILEGROWTH=15% -主數(shù)據(jù)文件的增長率)LOG ON( NAME='stuDB_log', FILENAME='D:projectstuDB_log.ldf', SIZE=2mb, FILEGROWTH=1MB)GO DROP DATABASE employees2)基本表的創(chuàng)建、修改與刪除,能夠根據(jù)要求進行適當(dāng)?shù)耐暾远x。CREATE TABLE SC( Sno CHAR(9), o CHAR(4), Grade SMALLINT, P

13、RIMARY KEY (Sno,o), /* 主碼由兩個屬性構(gòu)成,必須作為表級完整性進行定義*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /* 表級完整性約束條件,Sno是外碼,被參照表是Student */ FOREIGN KEY (o) REFERENCES Course(o) /* 表級完整性約束條件, o是外碼,被參照表是Course*/); l ALTER TABLE 表名 ALTER COLUMN 列名 類型 NULL/NOT NULLl ALTER TABLE 表名 ADD 列名 類型 列級約束l ALTER TABLE 表名 ADD

14、 CONSTRAINT 約束名 約束Eg:ALTER TABLE Course ADD CONSTRAINT UK_C_AME UNIQUE(ame);l ALTER TABLE 表名 DROP COLUMN 列名l ALTER TABLE 表名 DROP CONSTRAINT 約束名 DROP TABLE Student CASCADE ;3)索引的創(chuàng)建與刪除一個聚簇索引:CREATE CLUSTERED INDEX Stusname ON Student(Sname);一個唯一索引:CREATE UNIQUE INDEX Stusno ON Student(Sno);-Student表按學(xué)

15、號升序建唯一索引例15 刪除Student表的Stusname索引 DROP INDEX student.Stusname;4)查詢1、查詢語句的一般格式: select all/distinct<*/選擇列表> from <基表名> where<條件表達(dá)式> group by <列名1>having<條件表達(dá)式> order by <列名2> asc/desc *說明:distinct為去掉重

16、復(fù)的關(guān)鍵字;表示條件表達(dá)式用where子句;分組用group by 子句,如果要求分組滿足某個條件才查詢用having子句來限定分組 ;排序用order by 子句 2、用于條件表達(dá)式中幾個特殊運算符的意義和使用方法 (1)BETWEEN:字段的容在指定圍。 用法:<字段>BETWEEN <圍初值>AND<圍終值> 相當(dāng)于:字段>=圍初值 AND 字段<=圍終值 (2)LIKE:對字符型數(shù)據(jù)進行字符串比較,提供兩種通配

17、符,“_”、“%” 用法:<字段>LIKE<字符表達(dá)式> 如:LIKE “%” (3)IN:字段容是結(jié)果集合或者子查詢中的容 用法:<字段>IN(<子查詢>) 例6:對學(xué)生管理數(shù)據(jù)庫,列出選修“數(shù)據(jù)庫原理”或“軟件工程”的所有學(xué)生的學(xué)號。 *SELECT 學(xué)號 FROM 選課 WHERE 課程號 IN; (SELECT 課程號 FROM 課程 WHERE 課程

18、名=“數(shù)據(jù)庫原理” OR 課程名=“軟件工程”) (4)ALL:滿足子查詢中所有值的記錄 用法:<字段> <比較符> ALL (<子查詢>) 例7:SELECT DISTINCT 系號 FROM 教師 WHERE 工資>=ALL(SELECT 工資 FROM 教師 WHERE 系號=“02”)表示從教師表中查詢工資大于02號系中最高工資的系號。也可以寫為:SELEC

19、T DISTINCT 系號 FROM 教師 WHERE 工資>=(SELECT  MAX(工資) FROM 教師 WHERE 系=“02”) (5)ANY:滿足子查詢中任意一個值的記錄。 用法:<字段><比較符> ALL (<子查詢>) (6)NULL:空值 用法:IS NULL或IS NOT NULL 例8:查詢選課表中,成績?yōu)榭罩档?/p>

20、記錄。 SELECT * FROM 選課 WHERE 成績 IS NULL 3、常用的函數(shù) (1)SUM(<字段名>):給出一列數(shù)據(jù)的和 (2)AVG( <字段名>):求一列數(shù)據(jù)的平均值 (3)COUNT(*):輸出查詢的行數(shù) 例9:計算教師中工資合計。 SELECT SUM(工資) FROM 教師 4、多表查詢 from后面可以同時打開多個表,select后面可以取來自不

21、同表的字段,只需在字段名前用來源表名“.”來標(biāo)注,where后面寫出各表之間的聯(lián)接條件。 例10:對學(xué)生管理數(shù)據(jù)庫,列出少數(shù)民族學(xué)生的學(xué)號、課程號和成績。 SELECT 學(xué)生.學(xué)號,學(xué)生.,選課.課程號,選課.成績 FROM 學(xué)生,選課; WHERE 學(xué)生.學(xué)號=選課.學(xué)號 AND 少數(shù)民族否 用部聯(lián)接的方法可寫為: SELECT 學(xué)生.學(xué)號,學(xué)生.,選課.課程號,選課.成績 FROM 學(xué)生 INNER JOIN 選課

22、0;ON 學(xué)生.學(xué)號=選課.學(xué)號;    WHERE 少數(shù)民族否 部聯(lián)接(INNER JOIN): <表名1>INNER JOIN <表名2> ON <聯(lián)接條件> 5、查詢結(jié)果處理 INTO CURSOR將查詢結(jié)果存放在臨時表中;INTO TABLE <表>存放在一個表中;TO FILE <文件名>存放在文本文件中。WHERE Sname

23、 LIKE '%';WHERE Sname LIKE '歐陽_';查詢以"DB_"開頭,且倒數(shù)第3個字符為 i的課程的詳細(xì)情況。WHERE ame LIKE 'DB_%i_ _' ESCAPE ' ;按分?jǐn)?shù)降序排列WHERE o= ' 3 ' ORDER BY Grade DESC5)更新UPDATE  agents SET  percent = 1.1 * percent WHERE 

24、0;city = New York6)視圖§ 建立信息系學(xué)生的視圖。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS';§ 語句的格式:DROP VIEW <視圖名> CASCADE;DROP VIEW IS_S1 CASCADE; 3. 掌握ANY、ALL、聚集函數(shù)、IN之間的等價轉(zhuǎn)換關(guān)系4. 掌握SQL中的保留字及其含義(ALL、DISTINCT、GROUP BY、HAVING等)查詢選修了3門以上課程的學(xué)

25、生學(xué)號。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) >3;例35查詢每一門課的間接先修課(即先修課的先修課)SELECT FIRST.o,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno = SECOND.o;注意:1、使用GROUP BY 子句時,SELECT 列表中的非匯總列必須為GROUP BY 列表中的項。2、分組時,所有的NULL值分為一組。3、GROUP BY 列表中一般不允許出現(xiàn)復(fù)雜的表達(dá)試、顯示標(biāo)題以及SELECT列表中的位置標(biāo)號。注意事

26、項:HAVING后的條件不能用別名COUNT>3 必須使用COUNT(*) >3,否則報:列名 'COUNT' 無效。having 子句中的每一個元素并不一定要出現(xiàn)在select列表中-如果指定了SELECT DISTINCT,那么ORDER BY 子句中的項就必須出現(xiàn)在選擇列表中。例如:SELECT DISTINCT BOOKID,BOOKNAME FROM BOOK ORDER BY BOOKNAMESELECT DISTINCT BOOKID,BOOKNAME FROM BOOKSELECT BOOKID,BOOKNAME FROM BOOK GROUP BY

27、 BOOKID,BOOKNAME以上兩句查詢結(jié)果是一致的,DISTINCT的語句其實完全可以等效的轉(zhuǎn)換為GROUP BY語句5. 掌握視圖的特點。l 視圖能夠簡化用戶的操作l 視圖使用戶能以多種角度看待同一數(shù)據(jù) l 視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性 l 視圖能夠?qū)?shù)據(jù)提供安全保護l 適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢6. 掌握觸發(fā)器的三種類型以及兩個臨時表inserted、deleted的作用l DELETE 觸發(fā)器l INSERT 觸發(fā)器l UPDATE 觸發(fā)器創(chuàng)建觸發(fā)器的語法CREATE TRIGGER trigger_name ON table_name WITH ENCRYP

28、TION FOR/AFTER/INSTEAD OF DELETE, INSERT, UPDATE AS T-SQL語句GO注意:WITH ENCRYPTION表示加密觸發(fā)器定義的SQL文本DELETE, INSERT, UPDATE指定觸發(fā)器的類型7. 能夠進行游標(biāo)的使用。DECLARE 游標(biāo)名稱CURSOR FOR SELECT 字段,字段,字段,. FROM 表名WHERE .OPEN 游標(biāo)名稱FETCH NEXT FROM 游標(biāo)名稱INTO 變量名,變量名,變量名,.WHILE FETCH_STATUS=0BEGINSQL語句執(zhí)行過程. .FETCH NEXT FROM 游標(biāo)名稱INTO

29、 變量名,變量名,變量名,.ENDCLOSE 游標(biāo)名稱DEALLOCATE 游標(biāo)名稱-使用游標(biāo)打印輸出學(xué)生學(xué)號DECLARE XH VARCHAR(10)DECLARE STUCUR CURSOR FOR SELECT SNO FROM STUDENT OPEN STUCURFETCH NEXT FROM STUCUR INTO XHWHILE FETCH_STATUS=0 BEGIN PRINT XH FETCH NEXT FROM STUCUR INTO XHENDCLOSE STUCURDEALLOCATE STUCURFetch函數(shù)的參數(shù)表§ Next 移至下一行§

30、 Prior 移至上一行§ First 移至第一行§ Last 移至末行§ Absolute n 絕對位移第n行§ Relative n 從當(dāng)前位置移n行-使用嵌套游標(biāo)打印輸出學(xué)生成績單DECLARE XH VARCHAR(10),XM VARCHAR(10)DECLARE STUCUR CURSOR FOR SELECT SNO,SNAME FROM STUDENT OPEN STUCURFETCH NEXT FROM STUCUR INTO XH,XMWHILE FETCH_STATUS=0 BEGIN PRINT '學(xué)號:'+XH+

31、' '+XM+'的成績單' 打印該同學(xué)的成績單 FETCH NEXT FROM STUCUR INTO XH,XMENDCLOSE STUCURDEALLOCATE STUCUR打印該同學(xué)的成績單 DECLARE KCM VARCHAR(20),CJ INT DECLARE SCCUR CURSOR FOR SELECT AME,GRADE FROM SC,COURSE WHERE SC.O=COURSE.O AND SC.SNO=XH OPEN SCCUR FETCH NEXT FROM SCCUR INTO KCM,CJ IF FETCH_STATUS<

32、;>0 PRINT ' 沒有選課記錄' WHILE FETCH_STATUS=0 BEGIN PRINT ' '+KCM+' '+CAST(CJ AS CHAR(8) FETCH NEXT FROM SCCUR INTO KCM,CJ END CLOSE SCCUR DEALLOCATE SCCUR 8. 能夠根據(jù)要求編寫存儲過程、函數(shù)和觸發(fā)器標(biāo)量函數(shù)創(chuàng)建語法CREATE FUNCTION function_name (參數(shù)名參數(shù)類型 =默認(rèn)值 ,.n ) RETURNS 返回值類型 WITH < function_opti

33、on> , .n AS BEGIN    function_body    RETURN 表達(dá)式END標(biāo)量用戶定義函數(shù)示例創(chuàng)建函數(shù)USE NorthwindCREATE FUNCTION fn_DateFormat (indate datetime, separator char(1)RETURNS Nchar(20)ASBEGIN RETURN CONVERT(Nvarchar(20), datepart(mm,indate) + separator + CONVERT(Nvarchar(20), date

34、part(dd, indate) + separator + CONVERT(Nvarchar(20), datepart(yy, indate)END標(biāo)量用戶定義函數(shù)示例調(diào)用函數(shù)SELECT dbo.fn_DateFormat(GETDATE(), ':')多語句表值函數(shù)CREATE FUNCTION function_name (參數(shù)名 參數(shù)類型 =默認(rèn)值 ,.n ) RETURNS return_variable TABLE <表定義> WITH < function_option> , .n AS BEGIN  &#

35、160; function_body    RETURNEND多語句表值函數(shù)示例USE NorthwindGOCREATE FUNCTION fn_Employees (length nvarchar(9)RETURNS fn_Employees table (EmployeeID int PRIMARY KEY NOT NULL, EmployeeName nvarchar(61) NOT NULL)ASBEGIN IF length = 'ShortName' INSERT fn_Employees SELECT Emplo

36、yeeID, LastName FROM Employees ELSE IF length = 'LongName' INSERT fn_Employees SELECT EmployeeID, (FirstName + ' ' + LastName) FROM EmployeesRETURNEND SELECT * FROM dbo.fn_Employees('LongName')或SELECT * FROM dbo.fn_Employees('ShortName') 嵌表值函數(shù)CREATE FUNCTION function_

37、name (參數(shù)名參數(shù)類型 =默認(rèn)值 ,.n ) RETURNS TABLE WITH < function_option> , .n AS RETURN ( select-stmt ) 嵌表值函數(shù)示例USE NorthwindGOCREATE FUNCTION fn_CustomerNamesInRegion ( RegionParameter nvarchar(30) )RETURNS tableASRETURN ( SELECT CustomerID, panyName FROM Northwind.dbo.Customers WHERE Region = Regi

38、onParameter )SELECT * FROM fn_CustomerNamesInRegion('WA') § 更改函數(shù)語法:ALTER FUNCTION « 使用新的函數(shù)定義代替原來的函數(shù)定義« 保留所有已分配的權(quán)限§ 刪除函數(shù)語法:DROP FUNCTION « 刪除一個用戶定義函數(shù)Ch6關(guān)系數(shù)據(jù)庫理論1. 幾個基本概念:1)函數(shù)依賴(FD):完全函數(shù)依賴,部分函數(shù)依賴,傳遞函數(shù)依賴,多值函數(shù)依賴; XY邏輯蘊涵于F;兩個函數(shù)依賴集等價2)最小依賴集2. 理解關(guān)系模式分解的理論,何謂無損連接分解?何謂保持函數(shù)依賴的分

39、解?(提醒:關(guān)系模式的分解并不惟一)。3. 能夠根據(jù)給定的關(guān)系模式求閉包。4. 根據(jù)描述給出函數(shù)依賴,給定的關(guān)系模式判斷候選碼,判別R是否達(dá)到2NF、3NF、BF,并說明理由,并能夠進行分解到3NF例如:現(xiàn)有如下關(guān)系模式: R(A,B,C,D,E) 其中:AB組合為碼 R上存在的函數(shù)依賴有ABE,BC,CD 1.該關(guān)系模式滿足2NF嗎?為什么?   2.如果將關(guān)系模式R分解為:     R1(A,B,E)     R2(B,C

40、,D) 指出關(guān)系模式R2的碼,并說明該關(guān)系模式最高滿足第幾式?(在1NFBF之)。Ch7數(shù)據(jù)庫設(shè)計1. 在視圖的集成中,各分E-R圖之間的沖突有哪幾類?各分E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。屬性沖突 (1) 屬性域沖突,即屬性值的類型、取值圍或取值集合不同。 (2) 屬性取值單位沖突。命名沖突 (1) 同名異義。 (2) 異名同義(一義多名)。結(jié)構(gòu)沖突 (1) 同一對象在不同應(yīng)用中具有不同的抽象。例如“課程”在某一局部應(yīng)用中被當(dāng)作實體,而在另一局部應(yīng)用中則被當(dāng)作屬性。 (2) 同一實體在不同局部視圖

41、中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 (3) 實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型。例如實體E1與E2在局部應(yīng)用A中是多對多聯(lián)系,而在局部應(yīng)用B中是一對多聯(lián)系;又如在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。解決方法是根據(jù)應(yīng)用的語義對實體聯(lián)系的類型進行綜合或調(diào)整。2. 掌握數(shù)據(jù)庫的設(shè)計過程:1)需求分析:DFD圖+數(shù)據(jù)字典2)概念結(jié)構(gòu)設(shè)計:ER圖/與具體的DBMS無關(guān)3)邏輯結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫模式、用戶子模式/與DBMS有關(guān)4)物理設(shè)計:物理設(shè)備上的存儲結(jié)構(gòu)與方法5)數(shù)據(jù)庫實施6)實施和維護3. 能夠根據(jù)規(guī)則將E-R圖中的實體和聯(lián)系轉(zhuǎn)換為關(guān)系模式1)每個實體轉(zhuǎn)換為一個關(guān)系2)1:1與一端實體合并3)1:n與與n端對應(yīng)的關(guān)系模式合并4)m:n轉(zhuǎn)換為一個關(guān)系模式例如:假設(shè)教學(xué)管理規(guī)定: 1. 一個學(xué)生可選修多門課程,一門課程有若干學(xué)生選修 2. 一個教室可講授多門課程,一門課程只有一個老師講授 3. 一個學(xué)生選修一門課,僅有一個成績 學(xué)生的屬性學(xué)號、學(xué)生;教師的屬性教師編號教師;課程的屬性有課程號、課程名 要求:

溫馨提示

  • 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

提交評論