




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 CH1 緒論1. 掌握數(shù)據(jù)庫(kù)的四個(gè)基本概念:數(shù)據(jù)、數(shù)據(jù)庫(kù)以及基本特征、數(shù)據(jù)庫(kù)管理系統(tǒng)以及主要功能、數(shù)據(jù)庫(kù)系統(tǒng)及構(gòu)成。數(shù)據(jù):是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。描述事物的符號(hào)記錄。數(shù)據(jù)庫(kù):是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)、有組織的、可共享的大量數(shù)據(jù)的集合§ 數(shù)據(jù)庫(kù)的基本特征« 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存(結(jié)構(gòu)化)« 可為各種用戶(hù)共享« 冗余度較小« 數(shù)據(jù)獨(dú)立性較高« 易擴(kuò)展數(shù)據(jù)庫(kù)管理系統(tǒng):位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)??茖W(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。主要功能:l 數(shù)據(jù)定義功能l 數(shù)據(jù)組織
2、、存儲(chǔ)和管理l 數(shù)據(jù)操縱功能DMLl 數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理l 數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序)l 其它功能數(shù)據(jù)庫(kù)系統(tǒng):在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成構(gòu)成:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員(DBA)2. 了解數(shù)據(jù)管理技術(shù)的三個(gè)發(fā)展階段以及特點(diǎn)。3. 數(shù)據(jù)模型的基本概念以及三個(gè)要素。數(shù)據(jù)模型:是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)三個(gè)要素:« 數(shù)據(jù)結(jié)構(gòu) :是對(duì)系統(tǒng)靜態(tài)特性的描述。« 數(shù)據(jù)操作 :是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。« 完整性約束條件:一組完整性規(guī)則的集合。4. 掌握數(shù)據(jù)兩個(gè)獨(dú)立性的含義。l 物理獨(dú)立性:指用戶(hù)的應(yīng)用程序與存儲(chǔ)
3、在磁盤(pán)上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。l 邏輯獨(dú)立性:指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)改變了,用戶(hù)程序也可以不變。5. 掌握概念模型(信息模型)的基本概念(實(shí)體,屬性,碼,域,實(shí)體型,實(shí)體集,三類(lèi)聯(lián)系);概念模型用于信息世界的建模。(1) 實(shí)體(Entity) « 客觀存在并可相互區(qū)別的事物稱(chēng)為實(shí)體。« 可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) « 實(shí)體所具有的某一特性稱(chēng)為屬性。« 一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。 (3) 碼(Key) « 唯
4、一標(biāo)識(shí)實(shí)體的屬性集稱(chēng)為碼。(4) 域(Domain) « 屬性的取值圍稱(chēng)為該屬性的域。(5) 實(shí)體型(Entity Type) « 用實(shí)體名及其屬性名集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體稱(chēng)為實(shí)體型(6) 實(shí)體集(Entity Set) « 同一類(lèi)型實(shí)體的集合稱(chēng)為實(shí)體集(7) 聯(lián)系(Relationship) « 現(xiàn)實(shí)世界中事物部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體部的聯(lián)系和實(shí)體之間的聯(lián)系。« 實(shí)體部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系« 實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:n)多對(duì)多聯(lián)系(m:n)
5、兩個(gè)以上實(shí)體型之間的聯(lián)系§ 多個(gè)實(shí)體型間的一對(duì)一聯(lián)系§ 兩個(gè)以上實(shí)體型之間一對(duì)多聯(lián)系§ 兩個(gè)以上實(shí)體型間的多對(duì)多聯(lián)系6. 掌握概念模型的表示方式(E-R方法),能夠根據(jù)描述畫(huà)出對(duì)應(yīng)的E-R圖;7. 掌握數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu);數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性的關(guān)系;三級(jí)模式結(jié)構(gòu):l 模式(Schema)l 外模式(External Schema)也稱(chēng)子模式或用戶(hù)模式。介于模式與應(yīng)用之間。l 模式(Internal Schema)(也稱(chēng)存儲(chǔ)模式)一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性的關(guān)系:« 外模式模式映像:保證數(shù)據(jù)的邏輯獨(dú)立性
6、71; 模式模式映像:保證數(shù)據(jù)的物理獨(dú)立性CH2關(guān)系數(shù)據(jù)庫(kù)1. 掌握關(guān)系模型、關(guān)系的基本概念(笛卡爾積、關(guān)系、候選碼、主碼、主屬性、非碼屬性、全碼、外部碼);關(guān)系模型:用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型笛卡爾積:域上的一種集合運(yùn)算,所有域的所有取值的一個(gè)組合。笛卡爾積可以表示為一個(gè)二維表。關(guān)系(Relation):一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一表?,F(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。候選碼(Candidate key): 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選碼l 簡(jiǎn)單的情況:候選碼只包含一個(gè)屬性l 最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候
7、選碼,稱(chēng)為全碼。主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key)主屬性:候選碼的諸屬性稱(chēng)為主屬性(Prime attribute)非主屬性:不包含在任何侯選碼中的屬性稱(chēng)為非主屬性,也稱(chēng)非碼屬性域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。2. 掌握三類(lèi)完整性約束l 實(shí)體完整性l 參照完整性l 用戶(hù)定義的完整性3. 掌握關(guān)系代數(shù)語(yǔ)言五種基本操作:選擇、投影、并、差、笛卡爾積。1)集合運(yùn)算:交、并、差和笛卡爾積,能夠根據(jù)要求進(jìn)行集合運(yùn)算2)關(guān)系運(yùn)算:選擇、投影、連接和除,能夠根據(jù)要求寫(xiě)出對(duì)應(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á)式表示下列查詢(xún)語(yǔ)句: (1) 檢索“程軍”老師所授課程的課程號(hào)(C#)和課程名(AME)。 (2) 檢索年齡大于21的男學(xué)生學(xué)號(hào)(S#)和(SNAME)。 (3) 檢索”強(qiáng)”同學(xué)不學(xué)課程的課程號(hào)(C#)。 (4) 檢索至少選修兩門(mén)課程的學(xué)生學(xué)號(hào)(S#)。 (5) 檢索選修課程包含“程軍”老師所授課程之一的學(xué)生學(xué)號(hào)(S#)。
9、 (6) 檢索選修課程名為“C語(yǔ)言”的學(xué)生學(xué)號(hào)(S#)和(SNAME)。 解:本題各個(gè)查詢(xún)語(yǔ)句對(duì)應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下: (1). C#,AME(TEACHER=程軍(C) (2). S#,SNAME(AGE>21SEX=”男”(C) (3). C#(C)- C#(SNAME=強(qiáng)(S) wv SC)
10、 (4). S#(1=425 (SC × SC) (5). S#(SCwv C#(TEACHER=程軍(C) (6). S#,SNAMEswv S#(SCwv AME=C語(yǔ)言(C)Ch3關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQLCh5 數(shù)據(jù)庫(kù)的完整性 ch8 數(shù)據(jù)庫(kù)編程1. 掌握SQL的9個(gè)核心動(dòng)詞。數(shù)據(jù)查詢(xún):SELECT (查詢(xún)出數(shù)據(jù),也可用于變量賦值) 數(shù)據(jù)定義(表/視圖/查詢(xún)/存儲(chǔ)過(guò)程/自定義函數(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ù)要求寫(xiě)出對(duì)應(yīng)的SQL語(yǔ)言1)創(chuàng)建數(shù)據(jù)庫(kù)(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ù)文件增長(zhǎng)的最大值 FILEGROWTH=15% -主數(shù)據(jù)文件的增長(zhǎng)率)LOG ON( NAME='stuDB_log', FILENAME='D:projectstuDB_log.ldf', SIZE=2mb, FILEGROWTH=1MB)GO DROP DATABASE employees2)基本表的創(chuàng)建、修改與刪除,能夠根據(jù)要求進(jìn)行適當(dāng)?shù)耐暾远x。CREATE TABLE SC( Sno CHAR(9), o CHAR(4), Grade SMALLINT, P
13、RIMARY KEY (Sno,o), /* 主碼由兩個(gè)屬性構(gòu)成,必須作為表級(jí)完整性進(jìn)行定義*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /* 表級(jí)完整性約束條件,Sno是外碼,被參照表是Student */ FOREIGN KEY (o) REFERENCES Course(o) /* 表級(jí)完整性約束條件, o是外碼,被參照表是Course*/); l ALTER TABLE 表名 ALTER COLUMN 列名 類(lèi)型 NULL/NOT NULLl ALTER TABLE 表名 ADD 列名 類(lèi)型 列級(jí)約束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)建與刪除一個(gè)聚簇索引:CREATE CLUSTERED INDEX Stusname ON Student(Sname);一個(gè)唯一索引:CREATE UNIQUE INDEX Stusno ON Student(Sno);-Student表按學(xué)
15、號(hào)升序建唯一索引例15 刪除Student表的Stusname索引 DROP INDEX student.Stusname;4)查詢(xún)1、查詢(xún)語(yǔ)句的一般格式: select all/distinct<*/選擇列表> from <基表名> where<條件表達(dá)式> group by <列名1>having<條件表達(dá)式> order by <列名2> asc/desc *說(shuō)明:distinct為去掉重
16、復(fù)的關(guān)鍵字;表示條件表達(dá)式用where子句;分組用group by 子句,如果要求分組滿(mǎn)足某個(gè)條件才查詢(xún)用having子句來(lái)限定分組 ;排序用order by 子句 2、用于條件表達(dá)式中幾個(gè)特殊運(yùn)算符的意義和使用方法 (1)BETWEEN:字段的容在指定圍。 用法:<字段>BETWEEN <圍初值>AND<圍終值> 相當(dāng)于:字段>=圍初值 AND 字段<=圍終值 (2)LIKE:對(duì)字符型數(shù)據(jù)進(jìn)行字符串比較,提供兩種通配
17、符,“_”、“%” 用法:<字段>LIKE<字符表達(dá)式> 如:LIKE “%” (3)IN:字段容是結(jié)果集合或者子查詢(xún)中的容 用法:<字段>IN(<子查詢(xún)>) 例6:對(duì)學(xué)生管理數(shù)據(jù)庫(kù),列出選修“數(shù)據(jù)庫(kù)原理”或“軟件工程”的所有學(xué)生的學(xué)號(hào)。 *SELECT 學(xué)號(hào) FROM 選課 WHERE 課程號(hào) IN; (SELECT 課程號(hào) FROM 課程 WHERE 課程
18、名=“數(shù)據(jù)庫(kù)原理” OR 課程名=“軟件工程”) (4)ALL:滿(mǎn)足子查詢(xún)中所有值的記錄 用法:<字段> <比較符> ALL (<子查詢(xún)>) 例7:SELECT DISTINCT 系號(hào) FROM 教師 WHERE 工資>=ALL(SELECT 工資 FROM 教師 WHERE 系號(hào)=“02”)表示從教師表中查詢(xún)工資大于02號(hào)系中最高工資的系號(hào)。也可以寫(xiě)為:SELEC
19、T DISTINCT 系號(hào) FROM 教師 WHERE 工資>=(SELECT MAX(工資) FROM 教師 WHERE 系=“02”) (5)ANY:滿(mǎn)足子查詢(xún)中任意一個(gè)值的記錄。 用法:<字段><比較符> ALL (<子查詢(xún)>) (6)NULL:空值 用法:IS NULL或IS NOT NULL 例8:查詢(xún)選課表中,成績(jī)?yōu)榭罩档?/p>
20、記錄。 SELECT * FROM 選課 WHERE 成績(jī) IS NULL 3、常用的函數(shù) (1)SUM(<字段名>):給出一列數(shù)據(jù)的和 (2)AVG( <字段名>):求一列數(shù)據(jù)的平均值 (3)COUNT(*):輸出查詢(xún)的行數(shù) 例9:計(jì)算教師中工資合計(jì)。 SELECT SUM(工資) FROM 教師 4、多表查詢(xún) from后面可以同時(shí)打開(kāi)多個(gè)表,select后面可以取來(lái)自不
21、同表的字段,只需在字段名前用來(lái)源表名“.”來(lái)標(biāo)注,where后面寫(xiě)出各表之間的聯(lián)接條件。 例10:對(duì)學(xué)生管理數(shù)據(jù)庫(kù),列出少數(shù)民族學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī)。 SELECT 學(xué)生.學(xué)號(hào),學(xué)生.,選課.課程號(hào),選課.成績(jī) FROM 學(xué)生,選課; WHERE 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào) AND 少數(shù)民族否 用部聯(lián)接的方法可寫(xiě)為: SELECT 學(xué)生.學(xué)號(hào),學(xué)生.,選課.課程號(hào),選課.成績(jī) FROM 學(xué)生 INNER JOIN 選課
22、0;ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào); WHERE 少數(shù)民族否 部聯(lián)接(INNER JOIN): <表名1>INNER JOIN <表名2> ON <聯(lián)接條件> 5、查詢(xún)結(jié)果處理 INTO CURSOR將查詢(xún)結(jié)果存放在臨時(shí)表中;INTO TABLE <表>存放在一個(gè)表中;TO FILE <文件名>存放在文本文件中。WHERE Sname
23、 LIKE '%';WHERE Sname LIKE '歐陽(yáng)_';查詢(xún)以"DB_"開(kāi)頭,且倒數(shù)第3個(gè)字符為 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';§ 語(yǔ)句的格式:DROP VIEW <視圖名> CASCADE;DROP VIEW IS_S1 CASCADE; 3. 掌握ANY、ALL、聚集函數(shù)、IN之間的等價(jià)轉(zhuǎn)換關(guān)系4. 掌握SQL中的保留字及其含義(ALL、DISTINCT、GROUP BY、HAVING等)查詢(xún)選修了3門(mén)以上課程的學(xué)
25、生學(xué)號(hào)。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) >3;例35查詢(xún)每一門(mén)課的間接先修課(即先修課的先修課)SELECT FIRST.o,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno = SECOND.o;注意:1、使用GROUP BY 子句時(shí),SELECT 列表中的非匯總列必須為GROUP BY 列表中的項(xiàng)。2、分組時(shí),所有的NULL值分為一組。3、GROUP BY 列表中一般不允許出現(xiàn)復(fù)雜的表達(dá)試、顯示標(biāo)題以及SELECT列表中的位置標(biāo)號(hào)。注意事
26、項(xiàng):HAVING后的條件不能用別名COUNT>3 必須使用COUNT(*) >3,否則報(bào):列名 'COUNT' 無(wú)效。having 子句中的每一個(gè)元素并不一定要出現(xiàn)在select列表中-如果指定了SELECT DISTINCT,那么ORDER BY 子句中的項(xiàng)就必須出現(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以上兩句查詢(xún)結(jié)果是一致的,DISTINCT的語(yǔ)句其實(shí)完全可以等效的轉(zhuǎn)換為GROUP BY語(yǔ)句5. 掌握視圖的特點(diǎn)。l 視圖能夠簡(jiǎn)化用戶(hù)的操作l 視圖使用戶(hù)能以多種角度看待同一數(shù)據(jù) l 視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性 l 視圖能夠?qū)?shù)據(jù)提供安全保護(hù)l 適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢(xún)6. 掌握觸發(fā)器的三種類(lèi)型以及兩個(gè)臨時(shí)表inserted、deleted的作用l DELETE 觸發(fā)器l INSERT 觸發(fā)器l UPDATE 觸發(fā)器創(chuàng)建觸發(fā)器的語(yǔ)法CREATE TRIGGER trigger_name ON table_name WITH ENCRYP
28、TION FOR/AFTER/INSTEAD OF DELETE, INSERT, UPDATE AS T-SQL語(yǔ)句GO注意:WITH ENCRYPTION表示加密觸發(fā)器定義的SQL文本DELETE, INSERT, UPDATE指定觸發(fā)器的類(lèi)型7. 能夠進(jìn)行游標(biāo)的使用。DECLARE 游標(biāo)名稱(chēng)CURSOR FOR SELECT 字段,字段,字段,. FROM 表名WHERE .OPEN 游標(biāo)名稱(chēng)FETCH NEXT FROM 游標(biāo)名稱(chēng)INTO 變量名,變量名,變量名,.WHILE FETCH_STATUS=0BEGINSQL語(yǔ)句執(zhí)行過(guò)程. .FETCH NEXT FROM 游標(biāo)名稱(chēng)INTO
29、 變量名,變量名,變量名,.ENDCLOSE 游標(biāo)名稱(chēng)DEALLOCATE 游標(biāo)名稱(chēng)-使用游標(biāo)打印輸出學(xué)生學(xué)號(hào)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 絕對(duì)位移第n行§ Relative n 從當(dāng)前位置移n行-使用嵌套游標(biāo)打印輸出學(xué)生成績(jī)單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é)號(hào):'+XH+
31、' '+XM+'的成績(jī)單' 打印該同學(xué)的成績(jī)單 FETCH NEXT FROM STUCUR INTO XH,XMENDCLOSE STUCURDEALLOCATE STUCUR打印該同學(xué)的成績(jī)單 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 ' 沒(méi)有選課記錄' 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ù)要求編寫(xiě)存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器標(biāo)量函數(shù)創(chuàng)建語(yǔ)法CREATE FUNCTION function_name (參數(shù)名參數(shù)類(lèi)型 =默認(rèn)值 ,.n ) RETURNS 返回值類(lèi)型 WITH < function_opti
33、on> , .n AS BEGIN function_body RETURN 表達(dá)式END標(biāo)量用戶(hù)定義函數(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)量用戶(hù)定義函數(shù)示例調(diào)用函數(shù)SELECT dbo.fn_DateFormat(GETDATE(), ':')多語(yǔ)句表值函數(shù)CREATE FUNCTION function_name (參數(shù)名 參數(shù)類(lèi)型 =默認(rèn)值 ,.n ) RETURNS return_variable TABLE <表定義> WITH < function_option> , .n AS BEGIN
35、160; function_body RETURNEND多語(yǔ)句表值函數(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ù)類(lèi)型 =默認(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ù)語(yǔ)法:ALTER FUNCTION « 使用新的函數(shù)定義代替原來(lái)的函數(shù)定義« 保留所有已分配的權(quán)限§ 刪除函數(shù)語(yǔ)法:DROP FUNCTION « 刪除一個(gè)用戶(hù)定義函數(shù)Ch6關(guān)系數(shù)據(jù)庫(kù)理論1. 幾個(gè)基本概念:1)函數(shù)依賴(lài)(FD):完全函數(shù)依賴(lài),部分函數(shù)依賴(lài),傳遞函數(shù)依賴(lài),多值函數(shù)依賴(lài); XY邏輯蘊(yùn)涵于F;兩個(gè)函數(shù)依賴(lài)集等價(jià)2)最小依賴(lài)集2. 理解關(guān)系模式分解的理論,何謂無(wú)損連接分解?何謂保持函數(shù)依賴(lài)的分
39、解?(提醒:關(guān)系模式的分解并不惟一)。3. 能夠根據(jù)給定的關(guān)系模式求閉包。4. 根據(jù)描述給出函數(shù)依賴(lài),給定的關(guān)系模式判斷候選碼,判別R是否達(dá)到2NF、3NF、BF,并說(shuō)明理由,并能夠進(jìn)行分解到3NF例如:現(xiàn)有如下關(guān)系模式: R(A,B,C,D,E) 其中:AB組合為碼 R上存在的函數(shù)依賴(lài)有ABE,BC,CD 1.該關(guān)系模式滿(mǎn)足2NF嗎?為什么? 2.如果將關(guān)系模式R分解為: R1(A,B,E) R2(B,C
40、,D) 指出關(guān)系模式R2的碼,并說(shuō)明該關(guān)系模式最高滿(mǎn)足第幾式?(在1NFBF之)。Ch7數(shù)據(jù)庫(kù)設(shè)計(jì)1. 在視圖的集成中,各分E-R圖之間的沖突有哪幾類(lèi)?各分E-R圖之間的沖突主要有三類(lèi):屬性沖突、命名沖突和結(jié)構(gòu)沖突。屬性沖突 (1) 屬性域沖突,即屬性值的類(lèi)型、取值圍或取值集合不同。 (2) 屬性取值單位沖突。命名沖突 (1) 同名異義。 (2) 異名同義(一義多名)。結(jié)構(gòu)沖突 (1) 同一對(duì)象在不同應(yīng)用中具有不同的抽象。例如“課程”在某一局部應(yīng)用中被當(dāng)作實(shí)體,而在另一局部應(yīng)用中則被當(dāng)作屬性。 (2) 同一實(shí)體在不同局部視圖
41、中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 (3) 實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類(lèi)型。例如實(shí)體E1與E2在局部應(yīng)用A中是多對(duì)多聯(lián)系,而在局部應(yīng)用B中是一對(duì)多聯(lián)系;又如在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。解決方法是根據(jù)應(yīng)用的語(yǔ)義對(duì)實(shí)體聯(lián)系的類(lèi)型進(jìn)行綜合或調(diào)整。2. 掌握數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程:1)需求分析:DFD圖+數(shù)據(jù)字典2)概念結(jié)構(gòu)設(shè)計(jì):ER圖/與具體的DBMS無(wú)關(guān)3)邏輯結(jié)構(gòu)設(shè)計(jì):數(shù)據(jù)庫(kù)模式、用戶(hù)子模式/與DBMS有關(guān)4)物理設(shè)計(jì):物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與方法5)數(shù)據(jù)庫(kù)實(shí)施6)實(shí)施和維護(hù)3. 能夠根據(jù)規(guī)則將E-R圖中的實(shí)體和聯(lián)系轉(zhuǎn)換為關(guān)系模式1)每個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系2)1:1與一端實(shí)體合并3)1:n與與n端對(duì)應(yīng)的關(guān)系模式合并4)m:n轉(zhuǎn)換為一個(gè)關(guān)系模式例如:假設(shè)教學(xué)管理規(guī)定: 1. 一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程有若干學(xué)生選修 2. 一個(gè)教室可講授多門(mén)課程,一門(mén)課程只有一個(gè)老師講授 3. 一個(gè)學(xué)生選修一門(mén)課,僅有一個(gè)成績(jī) 學(xué)生的屬性學(xué)號(hào)、學(xué)生;教師的屬性教師編號(hào)教師;課程的屬性有課程號(hào)、課程名 要求:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年商丘師范學(xué)院輔導(dǎo)員考試真題
- 風(fēng)險(xiǎn)管理在公司戰(zhàn)略目標(biāo)實(shí)現(xiàn)中的整合研究試題及答案
- 倉(cāng)庫(kù)與電商平臺(tái)的協(xié)同整合計(jì)劃
- 2024年河北省廣播電視局下屬事業(yè)單位真題
- 2025屆山東省臨沂市沂縣七年級(jí)數(shù)學(xué)第二學(xué)期期末綜合測(cè)試模擬試題含解析
- 2024年嘉興海鹽國(guó)企緊缺型專(zhuān)業(yè)招聘筆試真題
- 成功的法學(xué)備考策略試題及答案
- 有效的沖突管理技巧計(jì)劃
- 法治與可持續(xù)發(fā)展的互動(dòng)研究試題及答案
- 優(yōu)化前臺(tái)接待流程的實(shí)踐指南計(jì)劃
- 修理廠(chǎng)員工安全合同協(xié)議書(shū)
- 術(shù)后吻合口瘺
- 陜西延安通和電業(yè)有限責(zé)任公司招聘筆試真題2021
- HYT 075-2005 海洋信息分類(lèi)與代碼(正式版)
- 建筑用砂石料采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 融于教學(xué)的形成性評(píng)價(jià)讀書(shū)分享
- 廣東省廣州市八區(qū)聯(lián)考2024年高一數(shù)學(xué)第二學(xué)期期末考試模擬試題含解析
- 體質(zhì)外貌鑒定
- 起重機(jī)維護(hù)保養(yǎng)記錄表
- 《煤礦重大危險(xiǎn)源評(píng)估報(bào)告》
- 大鎖孫天宇小品《時(shí)間都去哪了》臺(tái)詞劇本完整版-一年一度喜劇大賽
評(píng)論
0/150
提交評(píng)論