



版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第1章緒論1 . 數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的一個重要組成部分,它的功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運行管理、數(shù)據(jù)庫的建立和維護功能。2 . 數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具) 、應用系統(tǒng)、數(shù)據(jù)庫管理員構成。3 . 數(shù)據(jù)庫管理技術的發(fā)展是與計算機技術及其應用的發(fā)展聯(lián)系在一起的,它經(jīng)歷了三個階段:人工管理階段,文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。4 . 數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構化、最小的冗余度、較高的數(shù)據(jù)獨立性等特點。5 .DBMS還必須提供數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性檢查、并發(fā)控制、數(shù)據(jù)庫恢復等數(shù)據(jù)控制功能。6 . 數(shù)據(jù)庫管理系統(tǒng)的主
2、要功能有哪些?( 填空題 ) 數(shù)據(jù)庫定義功能; 數(shù)據(jù)存取功能; 數(shù)據(jù)庫運行管理; 數(shù)據(jù)庫的建立和維護功能。7. 三級模式之間的兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。 ( 問答題 )8 . 試述概念模型的作用。(填空題)概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言。9 . 根據(jù)模型應用的不同目的,可以將這些模型劃分為兩類, 它們分別屬于兩個不同的層次。第一類是概念模型,第二類是數(shù)據(jù)模型。 ( 問答題 )10 . 定
3、義并解釋概念模型中以下術語:實體,實體型,實體集,屬性,碼,實體聯(lián)系圖(E-R圖) ( 填空題)實體:客觀存在并可以相互區(qū)分的事物叫實體。實體型: 具有相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。實體集:同型實體的集合稱為實體集。屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。碼:唯一標識實體的屬性集稱為碼。實體聯(lián)系圖: E-R 圖提供了表示實體型、屬性和聯(lián)系的方法:實體型:用矩形表示,矩形框內(nèi)寫明實體名。屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。聯(lián)系: 用菱形表示, 菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同
4、時在無向邊旁標上聯(lián)系的類型(1 : 1, 1 : n 或 m : n )。11 . 數(shù)據(jù)模型的三要素是指數(shù)據(jù)結(jié)構,數(shù)據(jù)操作,完整性約束。實際數(shù)據(jù)庫系統(tǒng)中所支持的主要數(shù)據(jù)模型是關系模型,層次模型,網(wǎng)狀模型。13 . 數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構是對數(shù)據(jù)系統(tǒng)的靜態(tài)特征描述, 包括數(shù)據(jù)結(jié)構和數(shù)據(jù)間聯(lián)系的描述, 數(shù)據(jù)操作是對數(shù)據(jù)庫系統(tǒng)的動態(tài)特征描述,是一組定義在數(shù)據(jù)上的操作,包括操作的涵義、操作符、運算規(guī)則及其語言等。(問答題)14 . 定義并解釋以下術語:DDL、 DML ( 填空題 )DDL:數(shù)據(jù)定義語言。用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操縱語言。用來對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢、插入、
5、刪除和修改的語句。15 . 關系模型是目前最常用也是最重要的一種數(shù)據(jù)模型。采用該模型作為數(shù)據(jù)的組織方式的數(shù)據(jù)庫系統(tǒng)稱為關系數(shù)據(jù)庫系統(tǒng)。( 問答題)16 . 關系的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性。(問答題 )17 . 什么叫數(shù)據(jù)與程序的物理獨立性?什么叫數(shù)據(jù)與程序的邏輯獨立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨立性?(填空題)數(shù)據(jù)與程序的邏輯獨立性:當模式改變時(例如增加新的關系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式模式的映象作相應改變,可以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯
6、獨立性,簡稱數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)與程序的物理獨立性:當數(shù)據(jù)庫的存儲結(jié)構改變了, 由數(shù)據(jù)庫管理員對模式內(nèi)模式映象作相應改變, 可以使模式保持不變,從而應用程序也不必改變。保證了數(shù)據(jù)與程序的物理獨立性, 簡稱數(shù)據(jù)的物理獨立性。 數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供的兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。關系操作的特點 :集合方式,操作對象和結(jié)果都是關系元組的集合非關系操作的特點:層次 /網(wǎng)狀,以記錄為操作單位2 . 關系數(shù)據(jù)模型中,二維表的列稱為屬性,二維表的行稱為記錄或元組。3 . 用戶選作元組標識的一個候選碼為主碼,其屬性不能取空值。(問答題)Chapter 1數(shù)
7、據(jù) Data:描述事物的符號記錄稱為數(shù)據(jù)。信息 (information):數(shù)據(jù)所表示的含義稱為信息。數(shù)據(jù)庫 : 所謂數(shù)據(jù)庫是長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫 (DB) 是各種信息系統(tǒng)( Information System)的核心。數(shù)據(jù)庫特點: 數(shù)據(jù)庫中的數(shù)據(jù)具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。即數(shù)據(jù)及結(jié)構相對于應用程序具有獨立性數(shù)據(jù)庫管理系統(tǒng)Database Management System(DBMS) : DBMS是對數(shù)據(jù)庫建立、操縱、維護的系統(tǒng)軟件。主要功能: 1、數(shù)據(jù)定義功能;2、數(shù)據(jù)操縱功能;3、數(shù)據(jù)庫的運行管理;4、數(shù)據(jù)庫的
8、建立維護。常見的數(shù)據(jù)庫管理系統(tǒng)(DBMS)大型 DBMS:ORACLESQL-SERVERDB2SYBASE中型 DBMS:MYSQL,INFORMIX, INTERBASE小型(桌面) DBMS:ACCESS, FOXPRO, SQL-ANYWHERE數(shù)據(jù)庫系統(tǒng) Database System(DBS) :在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),通常由:數(shù)據(jù)庫 DB,操作系統(tǒng) OS,數(shù)據(jù)庫管理系統(tǒng)DBMS,開發(fā)工具SDK,應用系統(tǒng)APP ,管理員 DBA ,用戶 USER計算機數(shù)據(jù)管理經(jīng)歷階段:1、人工管理階段; 2、文件系統(tǒng)階段; 3、數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)管理的特點:1. 數(shù)據(jù)結(jié)構化 ( 數(shù)
9、據(jù)庫的文件系統(tǒng)的根本區(qū)別)2. 數(shù)據(jù)獨立性高(數(shù)據(jù)結(jié)構變,程序不須變)3. 數(shù)據(jù)共享性高,冗余度低,易擴充4. 數(shù)據(jù)由 DBMS統(tǒng)一管理和控制 ,并使數(shù)據(jù)管理具有:數(shù)據(jù)的安全性 (security)保護(數(shù)據(jù)不被非法訪問)數(shù)據(jù)完整性( Integrity)檢查 ( 數(shù)據(jù)的正確性有效性相容性)并發(fā)控制( Concurrency)控制數(shù)據(jù)恢復( Recovery)數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型的三要素:1 數(shù)據(jù)結(jié)構:對實體類型和實體間聯(lián)系的表達和實現(xiàn)。2 數(shù)據(jù)操作:允許執(zhí)行的操作。主要:檢索和更新3 數(shù)據(jù)約束條件:完整性規(guī)則的集合。完整性規(guī)則 : 數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,
10、以保證數(shù)據(jù)的正確、有效和相容。數(shù)據(jù)的完整性:指數(shù)據(jù)的正確性、有效性和相容性。概念模型:計算機數(shù)據(jù)處理的第一層抽象,反映人對客觀事物的認識。概念模型的表示方法:實體- 聯(lián)系圖( E-R 圖)用矩形表示實體、用橢圓表示屬性、用菱形表示聯(lián)系。屬性和實體間、實體和聯(lián)系間用線段連接聯(lián)系線標注聯(lián)系類型( 1, n), 如果聯(lián)系有屬性 , 也要標注常見的數(shù)據(jù)模型有四種(按發(fā)展時間為序) :層次模型、網(wǎng)狀模型、關系模型、對象模型用表格 ( 稱為關系 ) 表示實體以及實體間聯(lián)系的數(shù)據(jù)模型叫關系模型。關系( Relation):一個二維表格;元組( Tuple):表中的一行即為一個元組;屬性( Attribute
11、):表中的一列即為一個屬性;碼( key) :表中某屬性組,可唯一確定任一元組;域( Domain) :屬性的取值范圍;分量:元組中的一個屬性值;關系模式:對關系的描述,表述為:關系名(屬性1,屬性 2, . ,屬性 n)例:學生數(shù)據(jù)庫的關系模式:學生(學號,姓名,性別,專業(yè),入學時間)數(shù)據(jù)庫模式( Schema): 數(shù)據(jù)庫中全體數(shù)據(jù)的結(jié)構和特征的描述稱為數(shù)據(jù)庫模式。數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構:模式、外模式、存儲模式三級模式的概念。三級模式之間有兩級映象:外模式/ 模式映象、模式/ 內(nèi)模式映象外模式 (Sub-Schema)( 用戶模式):用戶的數(shù)據(jù)視圖、是數(shù)據(jù)的局部邏輯結(jié)構,模式的子集模式 (S
12、chema) (概念模式) :所有用戶的公共數(shù)據(jù)視圖;是數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構和特性的描述。內(nèi)模式 (Storage Schema)(存貯模式):又稱存儲模式,是數(shù)據(jù)的物理結(jié)構及存儲方式。數(shù)據(jù)的邏輯獨立性:當模式改變時,修改外模式 / 模式映象,使外模式保持不變,從而應用程序可以保持不變。物理獨立性:存儲結(jié)構改變時,修改模式 / 內(nèi)模式映象,使模式保持不變,從而應用程序可以保持不變。數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構:單用戶結(jié)構、主從式結(jié)構、分布式結(jié)構、客戶 / 服務器結(jié)構、瀏覽器 / 應用服務器 / 數(shù)據(jù)庫服務器結(jié)構。Chapter 2關系模式是對關系的描述:關系的結(jié)構(屬性構成、 屬性來自的
13、域、 屬性與域之間的映象關系),完整性約束條件,屬性間的數(shù)據(jù)依賴關系集合關系模式可以形式化地表示為:R( U, D, dom, F)R:關系名; U:組成該關系的屬性名集合; D:屬性組 U中屬性所來自的域;dom:屬性向域的映象集合; F:屬性間的數(shù)據(jù)依賴關系集合關系模式通??梢院営洖镽 (A1 , A2, , An) 。A1, A2, , An:屬性名數(shù)據(jù)完整性 : 數(shù)據(jù)的正確性、有效性和相容性。關系模型中三類完整性約束:實體完整性、參照完整性、用戶定義的完整性實體完整性規(guī)則:若屬性A 是基本關系R 的主屬性,則屬性A 不能取空值參照完整性規(guī)則:若屬性 (或?qū)傩越M) F 是關系 R 的外碼
14、。 它與關系S 的主碼 Ks 相對應(關系 R 和 S 可是一個關系) ,則對于R 中每個元組在F 上的值必須為:或者取空值(F 的每個屬性值均為空值)或者等于S 中某個元組的主碼值。用戶定義的完整性例: 課程 ( 課程號,課程名,學分)“課程號”主屬性必須取唯一值;非主屬性“課程名”也不能取空值;“學分”屬性只能取值1 , 2, 3, 4關系數(shù)據(jù)庫語言:實現(xiàn)關系操作 ( 查詢 , 插改刪 ) 的語言關系代數(shù)語言:一種抽象的查詢語言,用對關系的運算來表達查詢(ISBL)關系演算語言:用謂詞來表達查詢要求元組關系演算語言:謂詞變元的基本對象是元組變量(APLHA )域關系演算語言:謂詞變元的基本
15、對象是域變量(QBE)具有關系代數(shù)和關系演算雙重特點的語言:SQL( Structured Query Language)關系代數(shù)運算的三個要素:運算對象,運算結(jié)果,運算符【運算對象和運算結(jié)果的操作對象都是:關系(元組的集合)】傳統(tǒng)的集合運算:并、差、交、廣義笛卡爾積專門的關系運算:選擇、投影、連接、除并: R S = t|tR tS 差: R -S = t|tR t S 交: R S = t|tR tS 笛卡爾積: R× S = t r t s | tr R t s S 選擇( Selection):在關系 R 中選擇滿足給定條件的諸元組。從行的角度進行的運算。F (R) t |
16、tRF (t)'真'F:選擇條件,是一個邏輯表達式例 1查詢信息系( IS系)全體學生Sdept ' IS' (Student)投影:從R中選擇出若干屬性列組成新的關系,從列的角度進行運算A (R) t A |tRA: R 中的屬性列注意:但投影之后不僅取消了原關系中的某些列,而且還可能取消某些元組(避免重復行)例 3查詢學生的姓名和所在系。即求 Student 關系學生姓名和所在系兩個屬性上的投影snam e , sdept( Student )查詢沒有選過課的學號:sno( Student)sno ( SC)查詢沒有不及格的學號:()()snoStudent
17、snoGrade60SC連接:從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組RS t r t s | t rRtsStr A t s BA BA 和 B:分別為R 和 S 上的屬性組; :比較運算符例,查詢沒有選過課的學號,姓名。R1= sno ( Student )sno ( SC)R2=sno , snam e ( StudentR1)象集( Image Set ),關系 R(X , Z), X, Z是屬性組, x 是 X 上的取值,定義x 在 R 中的象集為Zx = tZ | tRtX= x ( 從 R 中選出在 X 上取值為 x 的元組,去掉X 上的分量,只留Z 上的分量 )SNO
18、=95001在 R 中的象集: Z95001 =1 ,2, 3 ,SNO=95002在 R 中的象集: Z95002 =2, 3 ,SNO=95003在 R 中的象集: Z95003 =1 ,2 ,除運算:給定關系R (X ,Y)和 S (Y ,Z) ,其中 X, Y, Z 為屬性組。R與 S 的除運算得到一個新的關系P(X) ,P 是 R中滿足下列條件的元組在X 屬性列上的投影:元組在 X 上分量值 x 的象集 Yx 包含 S 在 Y上投影的集合。R ÷ S = tr X |t rRY (SYX)Yx: x 在 R 中的象集, x =t r X 例 7 查詢至少選修1 號課程和3
19、號課程的學生號碼首先建立一個臨時關系K:cno (cno 1cno3 (SC )然后求:sno , cno ( SC )K 例 8查詢選修了2 號課程的學生的學號。 例 9查詢至少選修了一門其直接先行課為5 號課程的課程的學生姓名。 例 10查詢選修了全部課程的學生號碼和姓名。 例 11 查未被選修的課號 例 12 查詢選修了95002 所選全部課程的學生號碼圖書管理數(shù)據(jù)庫有關系模式:圖書 ( 書號,書名,價格,作者)讀者(讀者號,姓名,性別,年齡)借閱(讀者號 , 書號 , 借日期,還日期, 罰款金額)用關系代數(shù)查詢:1 查詢價格大于 50 的書名和作者名2 查詢 ( 一次 ) 罰款金額 &
20、gt;20 元的讀者名3 查詢被年齡大于 60 的讀者借過的書名和作者名4 查詢看了所有書的讀者名5 查詢看了 ' 張三所看過的所有書的讀者名6 查詢沒有借過書的讀者姓名元組關系演算語言ALPHA檢索語句: GET更新語句: PUT, HOLD, UPDATE, DELETE, DROP格式GET 工作空間名(表達式1)例 1查詢所有被選修的課程號碼。GET W (SC.Cno)例 2查詢所有學生的數(shù)據(jù)。GET W (Student)格式GET工作空間名(表達式1):操作條件例 3查詢信息系 (IS) 年齡小于 20歲的學號和年齡。GETW (Student.Sno, Student.
21、Sage): Student.Sdept='IS'student.Sage<20例 4查詢計算機科學系(CS) 學生的學號、年齡,結(jié)果按年齡降序排序。UPGET W (Student.Sno , Student.Sage): Student.Sdept='CS' DOWN Student.Sage例 6查詢信息系年齡最大的三個學生的學號及其年齡,結(jié)果按年齡降序排序。GET W (3) (Student.Sno,Student.Sage):Student.Sdept='IS' DOWN Student.Sage定義元組變量格式:RANGE關系
22、名 變量名例 7查詢選修2 號課程的學生名字和成績。( 條件來自工作區(qū)的關系,不用存在量詞)GET W (Student.Sname , SC.Grade): SC.Sno=Student.Sno SC.Cno='2'例 8查詢選修2 號課程的學生名字。RANGE SC XGET W (Student.Sname):X(X.Sno=Student.Sno X.Cno='2')查詢語義:查詢這樣的學生名,條件是存在選課元組X, X 的學號與該生的學號相等并且X的課號為 2(表明該生選了2 號課)用存在量詞的檢索( 條件來自工作區(qū)外的關系)例 9查詢選修了這樣課程的
23、學生學號,其直接先行課是6 號課程。RANGE Course CXGET W (SC.Sno):CX (CX.Cno=SC.Cno CX.Pcno='6') 例 10 查詢至少選修一門先行課為6 號課程的學生名字或查詢選修過先行課為6 號課程的學生名字 .RANGE Course CXSCSCXGET W (Student.Sname):SCX(SCX.Sno=Student.SnoCX (CX.Cno=SCX.Cno CX.Pcno='6')GET W (Student.Sname):SCX CX (SCX.Sno=Student.Sno CX.Cno=SCX
24、.Cno CX.Pcno='6')例12查詢不選1 號課程的學生名字。查詢語義:查詢這樣的學生,條件是對所有選課元組,都不表明該生選了1 號課(或者與該生學號不同, 或者課號不是 1)RANGE SC SCX表 3.2 SQL的數(shù)據(jù)定義語句表 3.1 SQL 語言的動詞GET W (Student.Sname):SCX (SCX.SnoStudent.Sno操作 對 SCX.Cno操作方式'1')SQL功能動詞數(shù)據(jù)定義CREATE ,DROP ,ALTER象創(chuàng) 建刪 除修 改GET W (Student.Sname):SCX (SCX.Sno=Student.S
25、no SCX.Cno='1')DROPALTER例 13數(shù)據(jù)查詢SELECT表CREATE查詢選修了全部課程的學生姓名。TABLETABLETABLE數(shù)據(jù)操縱INSERT , UPDATE視 圖CREATEDROP VIEWRANGE Course CXDELETESCSCXVIEW數(shù)據(jù)控制GRANT , REVOKEGET W(Student.Sname):CX SCX(SCX.Sno=Student.Sno SCX.Cno=CX.Cno)索 引CREATEDROP解釋:對于 STUDENT中的一個學生,如果對所有的課程,都存在著INDEXINDEXSC的元組SCX,表明這個
26、 學生選修了該課程,則這個學生屬于查詢范圍。例14查詢最少選修了95002 學生所選課程的學生學號。RANGE Couse CX SCSCXSC SCYGET W (Student.Sno):CX(SCX (SCX.Sno='95002' SCX.Cno=CX.Cno)SCY(SCY.Sno=Student.Sno SCY.Cno= CX.Cno)查詢語義: 查詢這樣的學生,條件是對所有課程,如果 95002 選了,則該學生也選修了該課PQ=P QGET W (Student.Sno):CX(SCX(SCX.Sno='95002' SCX.Cno=CX.Cno)
27、SCY(SCY.Sno=Student.Sno SCY.Cno= CX.Cno)CREATE TABLE Student(SnoCHAR(5) PRIMARY KEY,Sname CHAR(20) NOT NULL,SsexCHAR(1),SageINT,SdeptCHAR(15)Primary key (Sno, Cno);sex char(2) default '男 ' check( sex='男 ' or sex='女 ') ;DROP TABLEStudent ;ALTER TABLE <表名 > ADD < 新列名 &
28、gt; < 數(shù)據(jù)類型> 完整性約束 DROP < 完整性約束名 > MODIFY<列名><數(shù)據(jù)類型 > ;<表名 >:要修改的基本表ADD子句:增加新列和新的完整性約束條件DROP子句:刪除指定的完整性約束條件MODIFY子句:用于修改列名和數(shù)據(jù)類型 例 2向 Student表增加“入學時間”列,其數(shù)據(jù)類型為日期型。ALTER TABLE Student ADD Scome DATE;刪除屬性列例: ALTER TABLE Student Drop Scome 例 3將年齡的數(shù)據(jù)類型改為半字長整數(shù)。;ALTER TABLE Stude
29、nt MODIFY Sage SMALLINT;例 6CREATE為 Student 的 sname列建立索引。INDEX StuName ON Student(Sname);例6為Course的 Cname列建立唯一值索引。CREATE UNIQUE INDEX CouName ON Course(Cname) ;在 Student 表的 Sname(姓名)列上建立一個聚簇索引,而且 Student 表中的記錄將按照Sname值的升序存放。CREATE CLUSTER INDEX Stusname ONStudent(Sname) ;DROP INDEX Stusname;學生表: Stud
30、ent(Sno , Sname, Ssex ,Sage, Sdept)課程表: Course(Cno , Cname, Cpno,Ccredit)學生選課表: SC(Sno, Cno,Grade)例 5查詢?nèi)w學生的姓名、出生年份和所有系,要求用小寫字母表示所有系名。SELECT Sname, 'Year of Birth: ',2012 Sage , ISLOWER(Sdept) FROM Student ;SELECT DISTINCT Sno FROM SC;例 17查詢名字中第2 個字為 " 陽 " 字的學生的姓名和學號。SELECT Sname,
31、Sno FROM Student WHERE Sname LIKE '_ 陽 %';例19查詢 DB_Design 課程的課程號和學分。SELECT Cno, Ccredit FROM Course WHERE Cname LIKE 'DB_Design' ESCAPE ''SELECT Sno, Cno FROM SC WHERE Grade IS NOT NULL;例 32查詢每個學生及其選修課程的情況。用 WHERE子句指定連接條件:SELECT * FROM Student, SC WHERE Student.Sno = SC.Sno ;
32、或,用 FROM子句指定連接條件:SELECT * FROM Student JOIN SC ON Student.Sno=SC.Sno;自身連接例 34查詢每一門課的先行課名SELECT First.Cname課名 , Second.Cname先行課名 FROM Course First, courseSecondWHERE First.Cpno = Second.Cno;例 36查詢每個學生的學號、姓名、選修的課程名及成績。SELECT Student.Sno , Sname, Cname,Grade FROM Student JOIN SC ON Student.Sno =SC.Sno
33、JOIN Course ON SC.Cno = Course.Cno;子查詢:SELECT Sno,Sname, Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= 劉晨 ) ;EXISTS 子查詢方式 ( 類似關系演算方式 ) 例 42 查詢沒有選修1 號課程的學生姓名。SELECT Sname FROM StudentWHERE NOT EXISTS(SELECT* FROM SC WHERESno=Student.Sno AND Cno= '1'); 例 43 查詢選修了全部課
34、程的學生姓名。SELECTSname FROMStudent WHERENOT EXISTS ( SELECT* FROMCourse WHERENOTEXISTSSELECT * FROM SC WHERE SC.Sno= Student.Sno AND SC.Cno= Course.Cno) ); 例 44 查詢至少選修了學生 95002 選修的全部課程的學生號碼。思路:不存在這樣的課95002 選了這個學生未選用關系演算實現(xiàn):RANGE Couse CXSC SCXSCSCYGET W(Student.Sno):CX(SCX(SCX.Sno='95002' SCX.Cno
35、=CX.Cno)SELECT SNO FROM STUDENT S WHERE NOT EXISTS ( SELECT * FROM COURSE C WHERE EXISTS (SELECT * FROMSC WHERESC.SNO='95002' AND SC.CNO=C.CNO)ANDNOT EXISTS ( SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO ) )2 查詢被 ' 張三 ' 選修的課名RANGE SC SCXRANGE S SXGET W( C.CNAME):存在SCX(SCX.CNO
36、=C.CNO并且存在SX(SX.SNO=SCX.SNO并且SX.SNAME='張三 ')SELECT CNAME FROM CWHERE EXISTS( SELECT * FROM SCWHERE SC.CNO=C.CNO AND EXISTS(SLEECT * FROM SWHERE S.SNO=SC.SNO ANDS.SNAME='張三 ') )4 查詢被所有同學選修的課名SELECT CNAME FROM CWHERE NOT EXISTS (SELECT * FROM SWHERE NOT EXISTS ( SELECT * FROM SCWHERE S
37、C.SNO=S.SNO AND SC.CNO=C.CNO)5 查詢選了 ' 張三 ' 選修所有課的學生名SELECT SNAME FROM SWHERE NOT EXISTS(SELECT * FROM CWHEREEXISTS (SELECT * FROM SCWHERE SC.CNO=C.CNO AND EXISTS( SELECT * FROM S WHERE S.SNO=SC.SNO AND S.SNAME= 張三 ')ANDNOT EXISTS(SELECT * FROM SCWHERE SC.CNO=C.CNO AND SC.SNO=S.SNO) 例 45查
38、詢計算機科學系的學生及年齡不大于19 歲的學生。SELECT* FROMStudent WHERESdept= 'CS' UNIONSELECT* FROMStudent WHERESage<=19; SELECT DISTINCT * FROM Student WHERE Sdept= 'CS' OR Sage<=19查詢未選課的學號( 所有學號與選過可得學號的差集)SELECT Sno FROM Student WHERE Sno NOT IN (SELECT Sno FROM SC);INSERT INTO Student VALUES (
39、39;95020', ' 陳冬 ' , ' 男 ' , 'IS',18)INSERT INTO Deptage(Sdept, Avgage) SELECT Sdept , AVG(Sage) FROM StudentGROUPBY Sdept ;UPDATE Student SET Sage=22 WHERE Sno=' 95001 ';DELETE FROM Student WHERE Sno='95019' ;DELETE FROM SC;CREATE VIEW IS_Student(No,Name,A
40、ge) AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept= 'IS' ; 例 2 建立信息系學生的視圖,并要求透過該視圖進行的更新操作只涉及信息系學生。 CREATEVIEW IS_Student AS SELECTSno, Sname, Sage FROM Student WHERE Sdept= 'IS'WITH CHECK OPTION;DROP VIEW IS_S1;指定 WITH CHECK OPTION子句后, DBMS在更新視圖時會進行檢查,防止用戶通過視圖對不屬于視圖范圍內(nèi)的基本表數(shù)據(jù)進行更新
41、。Chapter 4為用戶 'ZhangPing'創(chuàng)建了一個密碼為'Rose' 的 SQL Server登錄語法格式 : EXEC sp_addlogin 'UserName', 'Password'EXEC sp_addlogin 'ZhangPing ', 'Rose'將用戶 ZhangPing添加到當前數(shù)據(jù)庫語法格式 :EXEC sp_adduser 'UserName'EXEC sp_adduser 'ZhangPing'4. 將 BOOK查詢權授予 PUBL
42、IC grant select on BOOK to public;5. 將 READER的查詢權授予 ZhangPing grant select on READER to ZhangPing;6. 將 BOOK插入權刪除權修改權授予 ZhangPing grant insert,delete,update on BOOK to ZhangPing;7.將 LOAN的插入權刪除權修改權從ZhangPing 收回revoke insert,delete,update on loan from ZhangPing8. 重新以 ZhangPing 登錄登錄后更改密碼,將密碼 'Rose
43、39; 改為 'coffee'格式 :EXEC sp_password '舊密碼 ', '新密碼 'EXEC sp_password 'Rose','coffee'10. 查詢 BOOK所有數(shù)據(jù), (有權執(zhí)行) 。13. 重新以 DBA登錄 將 create table 權授予 ZhangPing grant create table to ZhangPingChapter 52、修改批處理文件 CREATE_TABLES.TXT中對表的定義,對外關鍵字加入刪除與修改級聯(lián), 并重新執(zhí)行建立數(shù)據(jù)表CREATE TAB
44、LE SC(SNO NUMERIC(5) REFERENCES STUDENTON UPDATE CASCADEON DELETE CASCADE,CNO NUMERIC(2) REFERENCES COURSE(CNO)ON UPDATE CASCADEON DELETE CASCADE,GRADE NUMERIC(6,2),PRIMARY KEY(SNO,CNO);第六章 關系數(shù)據(jù)理論理解并給出下列術語的定義:函數(shù)依賴、 部分函數(shù)依賴、 完全函數(shù)依賴、 傳遞依賴、 候選碼、主碼、 外碼、全碼 (All-key)、多值依賴。定義 6.1設 R(U) 是一個屬性集U 上的關系模式, X 和 Y
45、 是 U的子集。若對于 R(U)的任意一個可能的關系r ,r 中對于 X 的每一個具體值, Y 都有唯一的具體值與之對應 ,則稱 “ X 函數(shù)決定 Y”或 “ Y 函數(shù)依賴于 X”,記作 XY。例:在關系 SC(Sno, Cno, Grade)中,平凡函數(shù)依賴:Sno Sno(Sno, Cno) Sno(Sno, Cno) Cno非平凡函數(shù)依賴:(Sno, Cno) Grade若 XY,但 YX, 則稱 X Y 是平凡的函數(shù)依賴, 否則稱 X Y 是非平凡的函數(shù)依賴候選碼( Candidatekey ):若關系中的某一屬性組的值能唯一地標識一個元組,且該屬性組沒有多余的屬性,則稱該屬性組為候選
46、碼, 候選碼簡稱為碼。1NF的定義 :如果一個關系模式R的所有屬性都是不可分的基本數(shù)據(jù)項,則R 1NF。問題正好出現(xiàn)在對碼部分依賴的屬性上定義 6.6若關系模式 R 1NF,并且每一個非主屬性都完全函數(shù)依賴于R的碼,則 R2NF。(2NF 也就是不允許關系模式存在非主屬性對碼的部分函數(shù)依賴)SCG( Sno, Sname, Sage, Cno, Grade )分解為兩個關系模式S( Sno, Sname, Sage )S: Sno Sname Sno SageSC( Sno, Cno , Grade )SC:( Sno, Cno) Grade沒有非主屬性對碼部分函數(shù)依賴,S, SC分別達到 2
47、NF有關系模式 SL(Sno, Sname, Sdept, Sloc),并且一個系的學生住處相同函數(shù)依賴: Sno Sdept 、 Sno Sname、Sdept Sloc 、 Sno Sloc如果關系的碼只有一個屬性, 一定是 2NF,故已達到 2NF定義 6.8關系模式 R<U,F(xiàn)> 中若不存在這樣的碼 X、屬性組 Y 及非主屬性 Z, 使得 X Y,Y Z 成立,則稱 R<U, F> 3NF。( Y X , ZY )(即沒有非主屬性對碼的傳遞函數(shù)依賴)采用投影分解法,把 SL 分解為兩個關系模式,以消除傳遞函數(shù)依賴:SD( Sno, Sname, Sdept)DL( Sdept , Sloc ) SD的碼為 Sno, DL 的碼為 Sdept 。因為非主屬性直接依賴與碼, 所以是 3NF。定義 6.9設關系模式 R<U,F(xiàn)> 1NF,如果對于 R 的每個非平凡函數(shù)依賴X Y, X 必含有碼,那么 R BCNF。等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《臨床風險管理與教育》課件
- 2025年河北新勞動合同樣本
- 縱隔積氣護理查房
- 《錯誤的識別與解決》課件
- 2025年廣東清遠市英德市興德投資有限公司招聘筆試參考題庫附帶答案詳解
- 2025年福建龍巖夏商盛龍教育科技有限公司招聘筆試參考題庫附帶答案詳解
- 2025年福建平潭自由貿(mào)易區(qū)兩岸發(fā)展有限公司招聘筆試參考題庫含答案解析
- 2025年中國東方航空股份有限公司北京分公司招聘筆試參考題庫含答案解析
- 肝性腦病護理個案模板
- 2025云浮市新興縣里洞鎮(zhèn)社區(qū)工作者考試真題
- 小學三年級音樂《馬蘭謠》課件
- “當代文化參與”學習任務群相關單元的設計思路與教學建議課件(共51張PPT)
- 提高臥床患者踝泵運動的執(zhí)行率品管圈匯報書模板課件
- 同理心的應用教學教材課件
- DB4102-T 025-2021海綿城市建設施工與質(zhì)量驗收規(guī)范-(高清現(xiàn)行)
- 城市軌道交通安全管理隱患清單
- 錫膏使用記錄表
- 兒童保健學課件:緒論
- 中小學校園安全穩(wěn)定工作崗位責任清單
- 校園安全存在問題及對策
- NY∕T 309-1996 全國耕地類型區(qū)、耕地地力等級劃分
評論
0/150
提交評論