版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 總復(fù)習(xí),2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義,2.1.1 關(guān)系 2.1.2 關(guān)系模式 2.1.3 關(guān)系數(shù)據(jù)庫,An Introduction to Database System,關(guān)系(續(xù)), 域(Domain) 2. 笛卡爾積(Cartesian Product) 3. 關(guān)系(Relation), 域(Domain),域是一組具有相同數(shù)據(jù)類型的值的集合。例: 整數(shù) 實(shí)數(shù) 介于某個(gè)取值范圍的整數(shù) 指定長(zhǎng)度的字符串集合 男,女 .,2. 笛卡爾積(Cartesian Product),笛卡爾積 給定一組域D1,D2
2、,Dn,這些域中可以有相同的。 D1,D2,Dn的笛卡爾積為: D1D2Dn (d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一個(gè)組合 不能重復(fù) 解釋:設(shè)A、B是任意兩個(gè)集合,在集合A中任意取一個(gè)元素x,在集合B中任意取一個(gè)元素y,組成一個(gè)有序?qū)Γ▁,y),把這樣的有序?qū)ψ鳛樾碌脑?,他們的全體組成的集合稱為集合A和集合B的笛卡爾積,記為AB,即AB=(x,y)|xA且yB,An Introduction to Database System,笛卡爾積(續(xù)),元組(Tuple) 笛卡爾積中每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組(Tuple) (張
3、清玫,計(jì)算機(jī)專業(yè),李勇)、(張清玫,計(jì)算機(jī)專業(yè),劉晨)等都是元組 (可以理解為表中的一條記錄) 分量(Component) 笛卡爾積元素(d1,d2,dn)中的每一個(gè)值di叫作一個(gè)分量 張清玫、計(jì)算機(jī)專業(yè)、李勇、劉晨等都是分量 (可以理解為表記錄里的一個(gè)值),笛卡爾積(續(xù)),基數(shù)(Cardinal number) 域中數(shù)據(jù)的個(gè)數(shù)叫域的基數(shù),D2=男,女 則D2的基數(shù)為2 笛卡爾積的表示方法 笛卡爾積可表示為一個(gè)二維表 表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域,An Introduction to Database System,案例,給出3個(gè)域如下: D1=SUPERVISOR = 張清玫
4、,劉逸 D2=SPECIALITY=計(jì)算機(jī)專業(yè),信息專業(yè) D3=POSTGRADUATE=李勇,劉晨,王敏 則D1,D2,D3的笛卡爾積為D: D=D1D2D3 (張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨), (張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨), (劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏) 該笛卡爾積的基數(shù)為2x2x3=12,也就是共有12個(gè)元組, 可以列成如下二維表,An Int
5、roduction to Database System,3. 關(guān)系(Relation),1) 關(guān)系 D1D2Dn的子集叫作在域D1,D2,Dn上的 關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名 n:關(guān)系的目或度(Degree) (關(guān)系可以理解為:有n列的表),An Introduction to Database System,關(guān)系(續(xù)),2) 元組 關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。 3) 單元關(guān)系與二元關(guān)系 當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unary relation) 或一元關(guān)系 當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binary relation),An Introduct
6、ion to Database System,關(guān)系(續(xù)),4) 關(guān)系的表示 關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每 列對(duì)應(yīng)一個(gè)域,An Introduction to Database System,關(guān)系(續(xù)),5)屬性 關(guān)系中不同列可以對(duì)應(yīng)相同的域 為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute) n目關(guān)系必有n個(gè)屬性,An Introduction to Database System,關(guān)系(續(xù)),6) 碼 候選碼(Candidate key) 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼 簡(jiǎn)單的情況:候選碼只包含一個(gè)屬性 全碼(All-k
7、ey) 最極端的情況:關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key),An Introduction to Database System,關(guān)系(續(xù)),碼(續(xù)) 主碼 若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primary key) 主屬性 候選碼的諸屬性稱為主屬性(Prime attribute) 不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute) 或非碼屬性(Non-key attribute),An Introduction to Database System,關(guān)系(續(xù)),D1,D2,Dn的笛卡爾積的某個(gè)子集才有實(shí)際含義 例
8、:表2.1 的笛卡爾積沒有實(shí)際意義 必須取出有實(shí)際意義的元組來構(gòu)造關(guān)系 關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 假設(shè):導(dǎo)師與專業(yè):1:1, 導(dǎo)師與研究生:1:n 主碼:POSTGRADUATE(假設(shè)研究生不會(huì)重名) SAP關(guān)系可以包含三個(gè)元組 (張清玫,計(jì)算機(jī)專業(yè),李勇), (張清玫,計(jì)算機(jī)專業(yè),劉晨), (劉逸,信息專業(yè),王敏) ,關(guān)系(續(xù)),7) 三類關(guān)系 基本關(guān)系(基本表或基表) 實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示 查詢表 查詢結(jié)果對(duì)應(yīng)的表 視圖表 由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì) 應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù),關(guān)系(續(xù)),8)基本關(guān)系的性
9、質(zhì) 列是同質(zhì)的 不同的列可出自同一個(gè)域 其中的每一列稱為一個(gè)屬性 不同的屬性要給予不同的屬性名 列的順序無所謂,,列的次序可以任意交換 任意兩個(gè)元組的候選碼不能相同(即:表中不能存在兩條完全相同的數(shù)據(jù)) 行的順序無所謂,行的次序可以任意交換,An Introduction to Database System,基本關(guān)系的性質(zhì)(續(xù)), 分量必須取原子值 這是規(guī)范條件中最基本的一條,即:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。簡(jiǎn)言之:不允許表中有表 表2.3 非規(guī)范化關(guān)系 注意:實(shí)際的數(shù)據(jù)庫產(chǎn)品中,基本表并不完全是這6條屬性,2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu),2.1.1 關(guān)系 2.1.2 關(guān)系模式 2.1.
10、3 關(guān)系數(shù)據(jù)庫,An Introduction to Database System,第二章 關(guān)系數(shù)據(jù)庫,2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義 2.2 關(guān)系操作 2.3 關(guān)系的完整性,2.2.1基本關(guān)系操作,常用的關(guān)系操作 查詢:選擇select、投影project、連接join、除divide、并union、交intersection、差except 數(shù)據(jù)更新:插入、刪除、修改 查詢的表達(dá)能力是其中最主要的部分 選擇、投影、并、差、笛卡爾積是5種基本操作 關(guān)系操作的特點(diǎn) 集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式,An Introduction to Database System,
11、第二章 關(guān)系數(shù)據(jù)庫,2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義 2.2 關(guān)系操作 2.3 關(guān)系的完整性 2.4 關(guān)系代數(shù) 2.5 關(guān)系演算 2.6 小結(jié),2.3.1 關(guān)系的三類完整性約束,實(shí)體完整性和參照完整性: 關(guān)系模型必須滿足的完整性約束條件 稱為關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持 用戶定義的完整性: 應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束,2.3.2 實(shí)體完整性,規(guī)則2.1 實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值 例: SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) POSTGRAD
12、UATE: 主碼(假設(shè)研究生不會(huì)重名) 不能取空值,An Introduction to Database System,3. 參照完整性規(guī)則,規(guī)則2.2 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為: 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值,An Introduction to Database System,參照完整性規(guī)則(續(xù)),例1: 學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取兩類值: (1)空值,表示尚未給該學(xué)生分配專業(yè) (2)非空值,這時(shí)該值必須是專
13、業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配一個(gè)不存在的專業(yè),An Introduction to Database System,參照完整性規(guī)則(續(xù)),例2 : 選修(學(xué)號(hào),課程號(hào),成績(jī)) “學(xué)號(hào)”和“課程號(hào)”可能的取值 : (1)選修關(guān)系中的主屬性,不能取空值 (2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值,An Introduction to Database System,參照完整性規(guī)則(續(xù)),例3: 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng)) “班長(zhǎng)”屬性值可以取兩類值: (1)空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng) (2)非空值,該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值,An In
14、troduction to Database System,關(guān)系的完整性(續(xù)),2.3.1關(guān)系的三類完整性約束 2.3.2 實(shí)體完整性 2.3.3 參照完整性 2.3.4 用戶定義的完整性,用戶定義的完整性(續(xù)),例: 課程(課程號(hào),課程名,學(xué)分) “課程號(hào)”屬性必須取唯一值 非主屬性“課程名”也不能取空值 “學(xué)分”屬性只能取值1,2,3,4,3.4 數(shù)據(jù)查詢,3.4.2 連接查詢 3.4.3 嵌套查詢 3.4.4 集合查詢 3.4.5 Select語句的一般形式,3.4.2 連接查詢,連接查詢:同時(shí)涉及多個(gè)表的查詢 連接條件或連接謂詞:用來連接兩個(gè)表的條件 一般格式: . . . BETWE
15、EN . AND . 連接字段:連接謂詞中的列名稱 連接條件中的各連接字段類型必須是可比的,但名字不必是相同的,連接查詢(續(xù)),一、等值與非等值連接查詢 二、自身連接 三、外連接 四、復(fù)合條件連接,一、等值與非等值連接查詢,等值連接:連接運(yùn)算符為= 其他的都稱為非等值連接 例33 查詢每個(gè)學(xué)生及其選修課程的情況 SELECT Student.*,SC.* FROM Student,SC WHERE Student.Sno = SC.Sno;,等值與非等值連接查詢(續(xù)),查詢結(jié)果:,等值與非等值連接查詢(續(xù)),自然連接:等值連接去掉重復(fù)的列 例34 對(duì)例33用自然連接完成。 SELECT Stu
16、dent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC WHERE Student.Sno = SC.Sno;,連接查詢(續(xù)),一、等值與非等值連接查詢 二、自身連接 三、外連接 四、復(fù)合條件連接,二、自身連接,自身連接:一個(gè)表與其自己進(jìn)行連接 需要給表起別名以示區(qū)別 由于所有屬性名都是同名屬性,因此必須使用別名前綴 例35查詢每一門課的間接先修課(即先修課的先修課) SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno = SECON
17、D.Cno;,自身連接(續(xù)),FIRST表(Course表),自身連接(續(xù)),SECOND表(Course表),自身連接(續(xù)),查詢結(jié)果:,連接查詢(續(xù)),一、等值與非等值連接查詢 二、自身連接 三、外連接 四、復(fù)合條件連接,三、外連接,外連接與普通連接的區(qū)別 普通連接操作只輸出滿足連接條件的元組 外連接操作以指定表為連接主體,將主體表中不滿足連接條件的元組一并輸出,外連接(續(xù)),左外連接 列出左邊關(guān)系(如本例Student)中所有的元組 右外連接 列出右邊關(guān)系中所有的元組,外連接(續(xù)),執(zhí)行結(jié)果:,連接查詢(續(xù)),一、等值與非等值連接查詢 二、自身連接 三、外連接 四、復(fù)合條件連接,四、復(fù)合
18、條件連接,復(fù)合條件連接:WHERE子句中含多個(gè)連接條件 例37查詢選修2號(hào)課程且成績(jī)?cè)?0分以上的所有學(xué)生 SELECT Student.Sno, Sname FROM Student, SC WHERE Student.Sno = SC.Sno AND /* 連接謂詞*/ SC.Cno= 2 AND SC.Grade 90; /* 其他限定條件 */,復(fù)合條件連接(續(xù)),例38查詢每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績(jī) SELECT Student.Sno,Sname,Cname,Grade FROM Student,SC,Course /*多表連接*/ WHERE Student.Sno
19、 = SC.Sno and SC.Cno = Course.Cno; 連接操作除了可以兩表連接,也可以一個(gè)表與其自身連接,也可以多表連接,3.4 數(shù)據(jù)查詢,3.4.1 單表查詢 3.4.2 連接查詢 3.4.3 嵌套查詢 3.4.4 集合查詢 3.4.5 Select語句的一般形式,嵌套查詢(續(xù)),嵌套查詢概述 一個(gè)SELECT-FROM-WHERE語句稱為一個(gè)查詢塊 將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或HAVING短語的條件中的查詢稱為嵌套查詢,嵌套查詢(續(xù)),SELECT Sname /*外層查詢/父查詢*/ FROM Student WHERE Sno IN (SELECT
20、Sno /*內(nèi)層查詢/子查詢*/ FROM SC WHERE Cno= 2 );,查詢選修了2號(hào)課程的學(xué)生名字,3.4.3 嵌套查詢,一、帶有IN謂詞的子查詢 二、 帶有比較運(yùn)算符的子查詢 三、 帶有ANY(SOME)或ALL謂詞的子查詢 四、 帶有EXISTS謂詞的子查詢,在嵌套查詢中,子查詢的結(jié)果往往是一個(gè)集合,所以IN在嵌套查詢中最常用,一、帶有IN謂詞的子查詢,例39 查詢與“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)生。 此查詢要求可以分步來完成 確定“劉晨”所在系名 SELECT Sdept FROM Student WHERE Sname= 劉晨 ; 結(jié)果為: CS,帶有IN謂詞的子查詢(續(xù)),
21、查找所有在IS系學(xué)習(xí)的學(xué)生。 SELECT Sno,Sname,Sdept FROM Student WHERE Sdept= CS ; 結(jié)果為:,帶有IN謂詞的子查詢(續(xù)),將第一步查詢嵌入到第二步查詢的條件中 SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= 劉晨 ); 此查詢?yōu)椴幌嚓P(guān)子查詢。,An Introduction to Database System,帶有IN謂詞的子查詢(續(xù)),用自身連接完成例39查詢要求 SELECT S1.Sno,S1.Sna
22、me,S1.Sdept FROM Student S1,Student S2 WHERE S1.Sdept = S2.Sdept AND S2.Sname = 劉晨;,An Introduction to Database System,帶有IN謂詞的子查詢(續(xù)),用連接查詢實(shí)現(xiàn)例40 SELECT Sno,Sname FROM Student,SC,Course WHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno AND Course.Cname=信息系統(tǒng);,An Introduction to Database System,3.4.3 嵌
23、套查詢,一、帶有IN謂詞的子查詢 二、 帶有比較運(yùn)算符的子查詢 三、 帶有ANY(SOME)或ALL謂詞的子查詢 四、 帶有EXISTS謂詞的子查詢,An Introduction to Database System,二、帶有比較運(yùn)算符的子查詢,當(dāng)能確切知道內(nèi)層查詢返回單值時(shí),可用比較運(yùn)算符(,=,)。 與ANY或ALL謂詞配合使用,An Introduction to Database System,帶有比較運(yùn)算符的子查詢(續(xù)),例:假設(shè)一個(gè)學(xué)生只可能在一個(gè)系學(xué)習(xí),并且必須屬于一個(gè)系,則在例39可以用 = 代替IN : SELECT Sno,Sname,Sdept FROM Student
24、 WHERE Sdept = (SELECT Sdept FROM Student WHERE Sname= 劉晨);,An Introduction to Database System,帶有比較運(yùn)算符的子查詢(續(xù)),例41找出每個(gè)學(xué)生超過他選修課程平均成績(jī)的課程號(hào)。 SELECT Sno, Cno FROM SC x WHERE Grade =(SELECT AVG(Grade) FROM SC y WHERE y.Sno=x.Sno);,相關(guān)子查詢,An Introduction to Database System,帶有比較運(yùn)算符的子查詢(續(xù)),可能的執(zhí)行過程: 1. 從外層查詢中取出
25、SC的一個(gè)元組x,將元組x的Sno值(200215121)傳送給內(nèi)層查詢。 SELECT AVG(Grade) FROM SC y WHERE y.Sno=200215121; 2. 執(zhí)行內(nèi)層查詢,得到值88(近似值),用該值代替內(nèi)層查詢,得到外層查詢: SELECT Sno, Cno FROM SC x WHERE Grade =88;,An Introduction to Database System,帶有比較運(yùn)算符的子查詢(續(xù)),3. 執(zhí)行這個(gè)查詢,得到 (200215121,1) (200215121,3) 4.外層查詢?nèi)〕鱿乱粋€(gè)元組重復(fù)做上述1至3步驟,直到外層的SC元組全部處理完
26、畢。結(jié)果為: (200215121,1) (200215121,3) (200215122,2),An Introduction to Database System,3.4.3 嵌套查詢,一、帶有IN謂詞的子查詢 二、 帶有比較運(yùn)算符的子查詢 三、 帶有ANY(SOME)或ALL謂詞的子查詢 四、 帶有EXISTS謂詞的子查詢,An Introduction to Database System,帶有ANY(SOME)或ALL謂詞的子查詢 (續(xù)),例42 查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué)生年齡小的學(xué)生姓名和年齡 SELECT Sname,Sage FROM Student WHERE Sage
27、 CS ; /*父查詢塊中的條件 */,An Introduction to Database System,帶有ANY(SOME)或ALL謂詞的子查詢 (續(xù)),結(jié)果: 執(zhí)行過程: 1.RDBMS執(zhí)行此查詢時(shí),首先處理子查詢,找出 CS系中所有學(xué)生的年齡,構(gòu)成一個(gè)集合(20,19) 2. 處理父查詢,找所有不是CS系且年齡小于 20 或 19的學(xué)生,An Introduction to Database System,帶有ANY(SOME)或ALL謂詞的子查詢 (續(xù)),用聚集函數(shù)實(shí)現(xiàn)例42 SELECT Sname,Sage FROM Student WHERE Sage CS ;,An In
28、troduction to Database System,帶有ANY(SOME)或ALL謂詞的子查詢 (續(xù)),例43 查詢其他系中比計(jì)算機(jī)科學(xué)系所有學(xué)生年齡都小的學(xué)生姓名及年齡。 方法一:用ALL謂詞 SELECT Sname,Sage FROM Student WHERE Sage CS ;,An Introduction to Database System,帶有ANY(SOME)或ALL謂詞的子查詢 (續(xù)),方法二:用聚集函數(shù) SELECT Sname,Sage FROM Student WHERE Sage CS ;,An Introduction to Database Syste
29、m,3.4.3 嵌套查詢,一、帶有IN謂詞的子查詢 二、 帶有比較運(yùn)算符的子查詢 三、 帶有ANY(SOME)或ALL謂詞的子查詢 四、 帶有EXISTS謂詞的子查詢,An Introduction to Database System,帶有EXISTS謂詞的子查詢(續(xù)),1. EXISTS謂詞 代表存在量詞 帶有EXISTS謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值“true”或邏輯假值“false”。 若內(nèi)層查詢結(jié)果非空,則外層的WHERE子句返回真值 若內(nèi)層查詢結(jié)果為空,則外層的WHERE子句返回假值 由EXISTS引出的子查詢,其目標(biāo)列表達(dá)式通常都用* ,因?yàn)閹XISTS的子查詢只返
30、回真值或假值,給出列名無實(shí)際意義 2. NOT EXISTS謂詞 若內(nèi)層查詢結(jié)果非空,則外層的WHERE子句返回假值 若內(nèi)層查詢結(jié)果為空,則外層的WHERE子句返回真值,An Introduction to Database System,帶有EXISTS謂詞的子查詢(續(xù)),例44查詢所有選修了1號(hào)課程的學(xué)生姓名。 思路分析: 本查詢涉及Student和SC關(guān)系 在Student中依次取每個(gè)元組的Sno值,用此值去檢查SC關(guān)系 若SC中存在這樣的元組,其Sno值等于此Student.Sno值,并且其Cno= 1,則取此Student.Sname送入結(jié)果關(guān)系,An Introduction to
31、 Database System,帶有EXISTS謂詞的子查詢(續(xù)),用嵌套查詢 SELECT Sname FROM Student WHERE EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno= 1 );,An Introduction to Database System,帶有EXISTS謂詞的子查詢(續(xù)),用連接運(yùn)算 SELECT Sname FROM Student, SC WHERE Student.Sno=SC.Sno AND SC.Cno= 1;,An Introduction to Database System,帶有
32、EXISTS謂詞的子查詢(續(xù)),例45 查詢沒有選修1號(hào)課程的學(xué)生姓名。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno = Student.Sno AND Cno=1);,3.4 數(shù)據(jù)查詢,3.4.1 單表查詢 3.4.2 連接查詢 3.4.3 嵌套查詢 3.4.4 集合查詢 3.4.5 Select語句的一般形式,3.4.4 集合查詢,集合操作的種類 并操作UNION 交操作INTERSECT 差操作EXCEPT 參加集合操作的各查詢結(jié)果的列數(shù)必須相同;對(duì)應(yīng)項(xiàng)的數(shù)據(jù)類型也必須相同,集合查詢(續(xù)),
33、例48 查詢計(jì)算機(jī)科學(xué)系的學(xué)生及年齡不大于19歲的學(xué)生。 方法一: SELECT * FROM Student WHERE Sdept= CS UNION SELECT * FROM Student WHERE Sage=19; UNION:將多個(gè)查詢結(jié)果合并起來時(shí),系統(tǒng)自動(dòng)去掉重復(fù)元組。 UNION ALL:將多個(gè)查詢結(jié)果合并起來時(shí),保留重復(fù)元組,集合查詢(續(xù)),方法二: SELECT DISTINCT * FROM Student WHERE Sdept= CS OR Sage=19;,集合查詢(續(xù)),例49 查詢選修了課程1或者選修了課程2的學(xué)生。 SELECT Sno FROM SC
34、WHERE Cno= 1 UNION SELECT Sno FROM SC WHERE Cno= 2 ;,集合查詢(續(xù)),例50 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生的交集 SELECT * FROM Student WHERE Sdept=CS INTERSECT SELECT * FROM Student WHERE Sage=19,集合查詢(續(xù)),例50 實(shí)際上就是查詢計(jì)算機(jī)科學(xué)系中年齡不大于19歲的學(xué)生 SELECT * FROM Student WHERE Sdept= CS AND Sage=19;,集合查詢(續(xù)),例51 查詢選修課程1的學(xué)生集合與選修課程2的學(xué)生集合的
35、交集 SELECT Sno FROM SC WHERE Cno= 1 INTERSECT SELECT Sno FROM SC WHERE Cno=2 ;,集合查詢(續(xù)),例51實(shí)際上是查詢既選修了課程1又選修了課程2的學(xué)生 SELECT Sno FROM SC WHERE Cno= 1 AND Sno IN (SELECT Sno FROM SC WHERE Cno= 2 );,An Introduction to Database System,集合查詢(續(xù)),例52 查詢計(jì)算機(jī)科學(xué)系的學(xué)生與年齡不大于19歲的學(xué)生的差集。 SELECT * FROM Student WHERE Sdept
36、=CS EXCEPT SELECT * FROM Student WHERE Sage =19;,集合查詢(續(xù)),例52實(shí)際上是查詢計(jì)算機(jī)科學(xué)系中年齡大于19歲的學(xué)生 SELECT * FROM Student WHERE Sdept= CS AND Sage19;,3.4.5 SELECT語句的一般格式,SELECT ALL|DISTINCT 別名 , 別名 FROM 別名 , 別名 WHERE GROUP BY HAVING ORDER BY ASC|DESC,An Introduction to Database System,數(shù)據(jù)庫安全性(數(shù)據(jù)庫概論),4.2 數(shù)據(jù)庫安全性控制 4.3
37、 視圖機(jī)制,數(shù)據(jù)庫安全性控制概述(續(xù)),數(shù)據(jù)庫安全性控制的常用方法 用戶標(biāo)識(shí)和鑒定 存取控制 視圖 審計(jì) 密碼存儲(chǔ),An Introduction to Database System,4.2.1 用戶標(biāo)識(shí)與鑒別,用戶標(biāo)識(shí)與鑒別 (Identification 語義:將對(duì)指定操作對(duì)象的指定操作權(quán)限授予指定的用戶,An Introduction to Database System,GRANT(續(xù)),發(fā)出GRANT: DBA 數(shù)據(jù)庫對(duì)象創(chuàng)建者(即屬主Owner) 擁有該權(quán)限的用戶 按受權(quán)限的用戶 一個(gè)或多個(gè)具體用戶 PUBLIC(全體用戶),An Introduction to Database
38、 System,WITH GRANT OPTION子句,WITH GRANT OPTION子句: 指定:可以再授予 沒有指定:不能傳播 不允許循環(huán)授權(quán),An Introduction to Database System,授權(quán)與回收(續(xù)),二、REVOKE 授予的權(quán)限可以由DBA或其他授權(quán)者用REVOKE語句收回 REVOKE語句的一般格式為: REVOKE ,. ON FROM ,.;,An Introduction to Database System,數(shù)據(jù)庫角色,一、角色的創(chuàng)建 CREATE ROLE 二、給角色授權(quán) GRANT , ON 對(duì)象名 TO ,,數(shù)據(jù)庫角色,三、將一個(gè)角色授予
39、其他的角色或用戶 GRANT , TO , WITH ADMIN OPTION 四、角色權(quán)限的收回 REVOKE , ON FROM ,,第六章 關(guān)系數(shù)據(jù)理論,6.1 問題的提出 6.2 規(guī)范化 6.3 數(shù)據(jù)依賴的公理系統(tǒng) *6.4 模式的分解 6.5 小結(jié),6.2 規(guī)范化,規(guī)范化理論正是用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。,確定關(guān)系中的屬性 確定屬性之間的依賴關(guān)系 逐級(jí)分解,6.2 規(guī)范化,6.2.1 函數(shù)依賴 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.9 規(guī)范化小結(jié),6.2.1 函數(shù)依賴,函
40、數(shù)依賴 平凡函數(shù)依賴與非平凡函數(shù)依賴 完全函數(shù)依賴與部分函數(shù)依賴 傳遞函數(shù)依賴,一、函數(shù)依賴,定義6.1 設(shè)R(U)是一個(gè)屬性集U上的關(guān)系模式,X和Y是U的子集。 若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱 “X函數(shù)確定Y” 或 “Y函數(shù)依賴于X”,記作XY。,只要X上的屬性值相等,Y上的值一定相等,設(shè)X屬性集合為x1,x2,x3,Y屬性集合為y1,y2 任何表中,對(duì)于X1,2,3不存在以下兩條數(shù)據(jù) 1,2,3 5,6 1,2,3 5,7 也就是說,對(duì)于滿足R模式的任何表,對(duì)于任何條數(shù)據(jù),只要X上的屬性值相等,Y上的值一定相等
41、,即:X確定Y,Y依賴X,二、平凡函數(shù)依賴與非平凡函數(shù)依賴,在關(guān)系模式R(U)中,對(duì)于U的子集X和Y, 如果XY,但Y X,則稱XY是非平凡的函數(shù)依賴 若XY,但Y X, 則稱XY是平凡的函數(shù)依賴 例:在關(guān)系SC(Sno, Cno, Grade)中, 非平凡函數(shù)依賴: (Sno, Cno) Grade 平凡函數(shù)依賴: (Sno, Cno) Sno (Sno, Cno) Cno,一般默認(rèn)是非平凡的函數(shù)依賴,三、完全函數(shù)依賴與部分函數(shù)依賴,定義6.2 在R(U)中,如果XY,并且對(duì)于X的任何一個(gè)真子集X,都有X Y, 則稱Y對(duì)X完全函數(shù)依賴,記作 X F Y。 若XY,但Y不完全函數(shù)依賴于X,則稱
42、Y對(duì)X部分函數(shù)依賴,記作X P Y。,存在X的一個(gè)真子集, X Y,完全函數(shù)依賴與部分函數(shù)依賴(續(xù)),例1 中(Sno,Cno)Grade是完全函數(shù)依賴, (Sno,Cno)Sdept是部分函數(shù)依賴 因?yàn)镾no Sdept成立,且Sno是(Sno,Cno)的真子集,F,P,四、傳遞函數(shù)依賴,定義6.3 在R(U)中,如果XY,(Y X) ,YX YZ, 則稱Z對(duì)X傳遞函數(shù)依賴。 記為:X Z 注: 如果YX, 即XY,則Z直接依賴于X。 例: 在關(guān)系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname Mname傳遞函數(shù)依賴于Sno,傳遞,6.2.3
43、 范式,范式是符合某一種級(jí)別的關(guān)系模式的集合 關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式 范式的種類: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF),基于規(guī)范化的要求,E.F.Codd提出,Normal Form,6.2.3 范式,各種范式之間存在聯(lián)系: 某一關(guān)系模式R為第n范式,可簡(jiǎn)記為RnNF。 一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過程就叫規(guī)范化,6.2.4 2NF,1NF的定義 如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R1NF
44、 第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫 但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式,2NF(續(xù)),例4 關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方 函數(shù)依賴包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc,2NF(續(xù)),S-L-C的碼為(Sno, Cno) S-L-C滿足第一范式。 非主屬性Sdept和Sloc部分函數(shù)依賴于
45、碼(Sno, Cno),Sno,Cno,Grade,Sdept,Sloc,S-L-C,S-L-C不是一個(gè)好的關(guān)系模式(續(xù)),原因 Sdept、 Sloc部分函數(shù)依賴于碼。 解決方法 S-L-C分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc),2NF(續(xù)),函數(shù)依賴圖:,關(guān)系模式SC的碼為(Sno,Cno) 關(guān)系模式S-L的碼為Sno 這樣非主屬性對(duì)碼都是完全函數(shù)依賴,2NF(續(xù)),2NF的定義 定義6.6 若R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R2NF。 例:S-L-C(Sno, Sdept, Sloc,
46、Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF,(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴則成為2NF),6.2.5 3NF,3NF的定義 定義6.7 關(guān)系模式R 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z Y), 使得XY,YZ成立, Y X,則稱R 3NF。 若R3NF,則每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。,2NF消除非主屬性對(duì)碼的傳遞依賴即為3NF,3NF(續(xù)),例:2NF關(guān)系模式S-L(Sno, Sdept
47、, Sloc)中 函數(shù)依賴: SnoSdept Sdept Sno SdeptSloc 可得: SnoSloc,即S-L中存在非主屬性對(duì)碼的傳遞函數(shù)依 賴,S-L 3NF,傳遞,3NF(續(xù)),函數(shù)依賴圖:,3NF(續(xù)),解決方法 采用投影分解法,把S-L分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴: S-D(Sno, Sdept) D-L(Sdept,Sloc) S-D的碼為Sno, D-L的碼為Sdept。 分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴,3NF(續(xù)),S-D的碼為Sno, D-L的碼為Sdept,S-L(Sno, Sdept, Sloc) 2NF S-L(Sno, Sdept,
48、 Sloc) 3NF S-D(Sno,Sdept) 3NF D-L(Sdept, Sloc) 3NF,6.2.9 規(guī)范化小結(jié),關(guān)系數(shù)據(jù)庫的規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計(jì)的工具 目的:盡量消除插入、刪除異常,修改復(fù)雜,數(shù)據(jù)冗余 基本思想:逐步消除數(shù)據(jù)依賴中不合適的部分 實(shí)質(zhì):概念的單一化,一個(gè)關(guān)系描述一個(gè)概念、實(shí)體或者實(shí)體之間的一種聯(lián)系,規(guī)范化小結(jié)(續(xù)),關(guān)系模式規(guī)范化的基本步驟 1NF 消除非主屬性對(duì)碼的部分函數(shù)依賴 消除決定屬性 2NF 集非碼的非平 消除非主屬性對(duì)碼的傳遞函數(shù)依賴 凡函數(shù)依賴 3NF 消除主屬性對(duì)碼的部分和傳遞函數(shù)依賴 BCNF 消除非平凡且非函數(shù)依賴的多值依賴 4NF,8.2
49、 存儲(chǔ)過程,8.2.1 PL/SQL的塊結(jié)構(gòu) 8.2.2 變量常量的定義 8.2.3 控制結(jié)構(gòu) 8.2.4 存儲(chǔ)過程 8.2.5 小結(jié),一、PL/SQL的塊結(jié)構(gòu),PL/SQL塊的基本結(jié)構(gòu): 1.定義部分 DECLARE -變量、常量、游標(biāo)、異常等 定義的變量、常量等只能在該基本塊中使用 當(dāng)基本塊執(zhí)行結(jié)束時(shí),定義就不再存在,PL/SQL的塊結(jié)構(gòu)(續(xù)),PL/SOL塊的基本結(jié)構(gòu)(續(xù)): 2.執(zhí)行部分 BEGIN -SQL語句、PL/SQL的流程控制語句 EXCEPTION -異常處理部分 END;,8.2 存儲(chǔ)過程,8.2.1 PL/SQL的塊結(jié)構(gòu) 8.2.2 變量常量的定義 8.2.3 控制結(jié)構(gòu)
50、 8.2.4 存儲(chǔ)過程 8.2.5 小結(jié),8.2 存儲(chǔ)過程,8.2.1 PL/SQL的塊結(jié)構(gòu) 8.2.2 變量常量的定義 8.2.3 控制結(jié)構(gòu) 8.2.4 存儲(chǔ)過程 8.2.5 小結(jié),8.2.3 控制結(jié)構(gòu),PL/SQL 流程控制: 一、條件控制語句 二、循環(huán)控制語句 三、錯(cuò)誤處理,控制結(jié)構(gòu)(續(xù)),一、 條件控制語句 IF-THEN, IF-THEN-ELSE和嵌套的IF語句 1. IF condition THEN Sequence_of_statements; END IF 2. IF condition THEN Sequence_of_statements1; ELSE Sequence
51、_of_statements2; END IF; 3. 在THEN和ELSE子句中還可以再包括IF語句,即IF語句可以嵌套,控制結(jié)構(gòu)(續(xù)),二、循環(huán)控制語句 LOOP, WHILE-LOOP和FOR-LOOP 1.最簡(jiǎn)單的循環(huán)語句LOOP LOOP Sequence_of_statements; END LOOP; 多數(shù)數(shù)據(jù)庫服務(wù)器的PL/SQL都提供EXIT、BREAK或LEAVE等循環(huán)結(jié)束語句,保證LOOP語句塊能夠結(jié)束。,控制結(jié)構(gòu)(續(xù)),二、循環(huán)控制語句(續(xù)) 2. WHILE-LOOP WHILE condition LOOP Sequence_of_statements; END L
52、OOP; 每次執(zhí)行循環(huán)體語句之前,首先對(duì)條件進(jìn)行求值 如果條件為真,則執(zhí)行循環(huán)體內(nèi)的語句序列。 如果條件為假,則跳過循環(huán)并把控制傳遞給下一個(gè)語句 3. FOR-LOOP FOR count IN REVERSEbound1 bound2 LOOP Sequence_of_statements; END LOOP;,控制結(jié)構(gòu)(續(xù)),三、錯(cuò)誤處理: 如果PL/SQL在執(zhí)行時(shí)出現(xiàn)異常,則應(yīng)該讓程序在產(chǎn)生異常的語句處停下來,根據(jù)異常的類型去執(zhí)行異常處理語句 SQL標(biāo)準(zhǔn)對(duì)數(shù)據(jù)庫服務(wù)器提供什么樣的異常處理做出了建議,要求PL/SQL管理器提供完善的異常處理機(jī)制,PL/SQL 流程控制示例:,在SQLSer
53、ver2005中新建查詢,執(zhí)行下面的程序段 declare i int select i=1 /select 也可以用set while i=5 begin print 第+cast(i as varchar(1)+次循環(huán) select i=i+1 end,8.2 存儲(chǔ)過程,8.2.1 PL/SQL的塊結(jié)構(gòu) 8.2.2 變量常量的定義 8.2.3 控制結(jié)構(gòu) 8.2.4 存儲(chǔ)過程 8.2.5 小結(jié),8.2.4 存儲(chǔ)過程,PL/SQL塊類型: 命名塊:編譯后保存在數(shù)據(jù)庫中,可以被反復(fù)調(diào)用,運(yùn)行速度較快。存儲(chǔ)過程和函數(shù)是命名塊 匿名塊:每次執(zhí)行時(shí)都要進(jìn)行編譯,它不能被存儲(chǔ)到數(shù)據(jù)庫中,也不能在其他的P
54、L/SQL塊中調(diào)用,存儲(chǔ)過程(續(xù)),二、 存儲(chǔ)過程的用戶接口: 1. 創(chuàng)建存儲(chǔ)過程 2. 執(zhí)行存儲(chǔ)過程 3. 刪除存儲(chǔ)過程,二、 存儲(chǔ)過程的用戶接口,1. 創(chuàng)建存儲(chǔ)過程: CREATE Procedure 過程名(參數(shù)1,參數(shù)2,.) AS ; 過程名:數(shù)據(jù)庫服務(wù)器合法的對(duì)象標(biāo)識(shí) 參數(shù)列表:用名字來標(biāo)識(shí)調(diào)用時(shí)給出的參數(shù)值,必須指定值的數(shù)據(jù)類型。參數(shù)也可以定義輸入?yún)?shù)、輸出參數(shù)或輸入/輸出參數(shù)。默認(rèn)為輸入?yún)?shù)。 過程體:是一個(gè)。包括聲明部分和可執(zhí)行語句部分,存儲(chǔ)過程的用戶接口(續(xù)),重命名存儲(chǔ)過程 ALTER Procedure 過程名1 RENAME TO 過程名2;,存儲(chǔ)過程的用戶接口(續(xù)),2. 執(zhí)行存儲(chǔ)過程: CALL/PERFORM/EXEC Procedure 過程名(參數(shù)1,參數(shù)2,.); 使用CALL或者PERFORM等方式激活存儲(chǔ)過程的執(zhí)行。 在PL/SQL中,數(shù)據(jù)庫服務(wù)器支持在過程體中調(diào)用其他存儲(chǔ)過程 例12從賬戶01003815868轉(zhuǎn)一萬元到01003813828賬戶中。 CALL Procedure TRANSFER(01003813828,01003815868,10000);,存儲(chǔ)過程的用戶接口(續(xù)),3. 刪除存儲(chǔ)過程 DROP PROCEDURE 過程名(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東深圳市龍華區(qū)委辦公室招聘專業(yè)聘用人員3人(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案
- 2025江蘇南通蘇錫通科技產(chǎn)業(yè)園區(qū)招商服務(wù)有限公司招聘20人公模擬試卷附答案
- 2025山東濟(jì)寧梁山運(yùn)河城市更新有限公司招聘第一批工作人員13考前自測(cè)高頻考點(diǎn)模擬試題附答案
- 2025廣東江門市公安局江海分局招聘輔警20人(公共基礎(chǔ)知識(shí))測(cè)試題附答案
- 2026河北衡水武邑縣圈頭鄉(xiāng)衛(wèi)生院招聘見習(xí)人員5名筆試參考題庫及答案解析
- 2025年河北秦皇島青龍滿族自治縣社區(qū)工作者選聘計(jì)劃調(diào)整備考題庫附答案
- 2026四川越王樓文化傳播有限公司招聘講解員等崗位測(cè)試成績(jī)筆試備考題庫及答案解析
- 2026云南昭通市魯?shù)榭h民政局(殯儀館)招聘3人筆試模擬試題及答案解析
- 2025秋人教版道德與法治八年級(jí)上冊(cè)2.1人的社會(huì)化同步練習(xí)
- 2025秋人教版道德與法治八年級(jí)上冊(cè)6.2學(xué)會(huì)依法辦事教學(xué)設(shè)計(jì)
- 車載光通信技術(shù)發(fā)展及無源網(wǎng)絡(luò)應(yīng)用前景
- 工程倫理-形考任務(wù)四(權(quán)重20%)-國(guó)開(SX)-參考資料
- 初中書香閱讀社團(tuán)教案
- 酒店年終總結(jié)匯報(bào)
- 《無人機(jī)地面站與任務(wù)規(guī)劃》 課件 第1-5章 概論 -無人機(jī)航測(cè)任務(wù)規(guī)劃與實(shí)施
- 綠色前綴5000畝生態(tài)農(nóng)業(yè)示范園區(qū)建設(shè)規(guī)模及運(yùn)營(yíng)模式可行性研究報(bào)告
- DB42∕T 2078-2023 紅火蟻監(jiān)測(cè)與防控技術(shù)規(guī)程
- 2025-2030中醫(yī)養(yǎng)生培訓(xùn)行業(yè)市場(chǎng)格局及增長(zhǎng)趨勢(shì)與投資價(jià)值分析報(bào)告
- 污水處理廠管網(wǎng)調(diào)度與優(yōu)化方案
- 新能源汽車租賃服務(wù)在公務(wù)用車市場(chǎng)的應(yīng)用與前景報(bào)告
- 《經(jīng)濟(jì)博弈論》課后答案補(bǔ)充習(xí)題答案
評(píng)論
0/150
提交評(píng)論