




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件設計師培訓軟件設計師培訓軟件設計師軟件設計師歷年考試對本章內容的考查情況歷年考試對本章內容的考查情況考次考次2004200520062007200820095月月11月月5月月11月月5月月11月月5月月11月月5月月11月月5月月分值分值620202020202220212121比重4%13.3%13.3%13.3%13.3%13.3%14.7%13.3%14%14% 14%本章的重點程度:本章的重點程度:軟件設計師軟件設計師2.2.數據庫技術基礎知識數據庫技術基礎知識大綱要求:大綱要求:l 數據庫管理系統的功能和特征數據庫管理系統的功能和特征l 數據庫體系結構(概念模式、外模式、內模式
2、)數據庫體系結構(概念模式、外模式、內模式)l 數據模型,數據模型,ERER圖,第一范式、第二范式、第三范式圖,第一范式、第二范式、第三范式l 數據操作(集合運算和關系運算)數據操作(集合運算和關系運算)l 數據庫語言(數據庫語言(SQLSQL)l 數據庫的控制功能(并發控制、恢復、安全性、完整性)數據庫的控制功能(并發控制、恢復、安全性、完整性)l 數據倉庫和分布式數據庫基礎知識數據倉庫和分布式數據庫基礎知識 軟件設計師軟件設計師2.1 2.1 數據庫系統的基本概念數據庫系統的基本概念l DB、DBMS和和DBS的定義的定義 DB (數據庫數據庫) 是長期存儲在計算機內、有組織的、統一管是長
3、期存儲在計算機內、有組織的、統一管理的相關數據的集合。理的相關數據的集合。 DBMS(數據庫管理系統數據庫管理系統)是數據庫系統中管理數據的軟件是數據庫系統中管理數據的軟件系統。位于用戶與操作系統之間的一層管理軟件。系統。位于用戶與操作系統之間的一層管理軟件。 DBS(數據庫管理系統數據庫管理系統)在計算機系統中引入數據庫后的在計算機系統中引入數據庫后的系統。是數據庫、硬件、軟件、數據庫管理員及用戶的集系統。是數據庫、硬件、軟件、數據庫管理員及用戶的集合。合。軟件設計師軟件設計師l 數據庫管理系統的功能數據庫管理系統的功能1.1. 數據庫的定義功能數據庫的定義功能 DBMSDBMS提供數據定義
4、語言提供數據定義語言(DDL)(DDL)定義數據庫的三級結構定義數據庫的三級結構兩級映象,定義數據的完整性、安全控制約束。兩級映象,定義數據的完整性、安全控制約束。2.2. 數據庫的操作數據庫的操作 DBMS DBMS提供數據操作語言提供數據操作語言(DML)(DML)實現對數據庫中數據的操實現對數據庫中數據的操 作。基本數據操作有:檢索作。基本數據操作有:檢索( (查詢查詢) )、和更新、和更新( (插入、刪除、插入、刪除、修改修改) )。軟件設計師軟件設計師3.3. 數據庫的保護功能數據庫的保護功能 DBMS DBMS對數據的保護主要通過四個方面實現,因而對數據的保護主要通過四個方面實現,
5、因而DBMSDBMS中包括四個子系統。中包括四個子系統。數據庫恢復數據庫恢復數據庫的并發控制數據庫的并發控制數據庫的完整性控制數據庫的完整性控制數據庫的安全性控制數據庫的安全性控制軟件設計師軟件設計師4.4. 數據庫存儲管理數據庫存儲管理 DBMSDBMS的存儲管理子系統提供了數據庫中數據和應用程的存儲管理子系統提供了數據庫中數據和應用程序的一個界面,序的一個界面,DBMSDBMS存儲管理子系統的職責是把各種存儲管理子系統的職責是把各種DMLDML語句轉換成底層的與磁盤中數據打交道的操作系統的文件語句轉換成底層的與磁盤中數據打交道的操作系統的文件系統命令,起到數據的存儲、檢索和更新的作用。系統
6、命令,起到數據的存儲、檢索和更新的作用。軟件設計師軟件設計師5.5.數據庫的維護功能數據庫的維護功能 數據裝載程序數據裝載程序 備份程序備份程序 文件重組織程序文件重組織程序 性能監控程序性能監控程序6. 6. 數據字典(數據字典(DDDD) 數據庫系統中存放三級結構定義的數據庫稱為數據字數據庫系統中存放三級結構定義的數據庫稱為數據字典。對數據庫的操作都要通過訪問典。對數據庫的操作都要通過訪問DDDD才能實現。才能實現。DDDD中還存中還存放數據庫運行的統計信息,例如記錄個數、訪問次數等。放數據庫運行的統計信息,例如記錄個數、訪問次數等。軟件設計師軟件設計師 【軟件設計師考試軟件設計師考試20
7、072007年年1111月上午試題月上午試題5151】 在數據庫系統中,數據的完整性約束的建立需要在數據庫系統中,數據的完整性約束的建立需要通過數據庫管理系統提供的通過數據庫管理系統提供的(5151) 語言來實現。語言來實現。(5151)A. A. 數據定義數據定義B. B. 數據操作數據操作 C. C. 數據查詢數據查詢D. D. 數據控制數據控制A A軟件設計師軟件設計師2.2 2.2 數據庫系統的體系結構數據庫系統的體系結構三級結構兩級映象三級結構兩級映象l 三級結構:外模式、概念模式、內模式三級結構:外模式、概念模式、內模式l 兩級映象:外模式兩級映象:外模式/ /模式映象、模式模式映
8、象、模式/ /內模式映象內模式映象軟件設計師軟件設計師l 三級結構:三級結構: 外模式:外模式:單個用戶使用到的那部分數據的描述。單個用戶使用到的那部分數據的描述。 概念模式:概念模式:是用戶定義的數據庫中全部數據邏輯是用戶定義的數據庫中全部數據邏輯結構的描述。結構的描述。 內模式:內模式:是數據庫在物理存儲方面的描述,接近是數據庫在物理存儲方面的描述,接近于物理存儲設備,涉及到實際數據存儲的結構。于物理存儲設備,涉及到實際數據存儲的結構。軟件設計師軟件設計師軟件設計師軟件設計師軟件設計師軟件設計師l 兩級映象兩級映象 模式內模式映象:模式內模式映象:存在于概念級和內部級之間,存在于概念級和內
9、部級之間,用于定義概念模式和內模式之間的對應性。用于定義概念模式和內模式之間的對應性。 外模式模式映象:外模式模式映象:存在于外部級和概念級之間,存在于外部級和概念級之間,用于定義外模式和概念模式之間的對應性。用于定義外模式和概念模式之間的對應性。軟件設計師軟件設計師l 兩級數據獨立性兩級數據獨立性 數據獨立性是指應用程序和數據庫的數據結構之間相互數據獨立性是指應用程序和數據庫的數據結構之間相互獨立,不受影響。獨立,不受影響。 數據獨立性分成數據獨立性分成物理數據獨立性物理數據獨立性和和邏輯數據獨立性邏輯數據獨立性兩個兩個級別。級別。 物理數據獨立性物理數據獨立性:數據的內模式修改,模式內模式
10、也:數據的內模式修改,模式內模式也要進行相應的修改,但概念模式盡可能保持不變。要進行相應的修改,但概念模式盡可能保持不變。 邏輯數據獨立性:邏輯數據獨立性:數據的概念模式修改,外模式模式數據的概念模式修改,外模式模式也要進行相應的修改,但外模式盡可能保持不變。也要進行相應的修改,但外模式盡可能保持不變。軟件設計師軟件設計師2.3 2.3 數據模型數據模型 數據模型數據模型: :表示實體類型及實體間聯系的模型表示實體類型及實體間聯系的模型. . 根據模型應用的不同目的可以將模型化分為根據模型應用的不同目的可以將模型化分為概念概念數據模型數據模型和和結構數據模型結構數據模型l 概念模型概念模型 E
11、R ER模型(實體聯系模型)模型(實體聯系模型)l 結構數據模型結構數據模型 層次模型、網狀模型、關系模型層次模型、網狀模型、關系模型按用戶的觀點對按用戶的觀點對數據和信息建模的數據和信息建模的按計算機的觀點對按計算機的觀點對數據建模的,直接數據建模的,直接面向數據庫的結構面向數據庫的結構軟件設計師軟件設計師概念模型概念模型結構數據模型結構數據模型現實世界現實世界信息世界信息世界機器世界機器世界軟件設計師軟件設計師l 概念模型概念模型 ER ER模型(實體聯系模型)模型(實體聯系模型) 實體間的聯系實體間的聯系:實體集內部以及實體集的聯:實體集內部以及實體集的聯 系。包括一對一的聯系、一對多的
12、聯系、多對系。包括一對一的聯系、一對多的聯系、多對 多的聯系。多的聯系。 描述實體間聯系的模型稱為描述實體間聯系的模型稱為實體聯系模型實體聯系模型 簡稱簡稱ERER模型。模型。軟件設計師軟件設計師學生學生課程課程選修選修學號學號姓名姓名性別性別課程號課程號 課程名課程名學分學分年齡年齡mn軟件設計師軟件設計師軟件設計師軟件設計師1nn11n1n1nmn1n1n軟件設計師軟件設計師l 數據結構模型數據結構模型 數據庫領域中常用的數據結構模型:數據庫領域中常用的數據結構模型: 層次模型層次模型 網狀模型網狀模型 關系模型關系模型軟件設計師軟件設計師【軟件設計師考試軟件設計師考試20092009年年
13、5 5月上午試題月上午試題5151】 采用二維表格結構表達實體類型及實體間聯系的數據模采用二維表格結構表達實體類型及實體間聯系的數據模型是型是 (5151) 。 (5151)A. A. 層次模型層次模型 B. B. 網狀模型網狀模型 C. C. 關系模型關系模型 D. D. 面向對象模型面向對象模型 軟件設計師軟件設計師層次模型:層次模型: 用用樹樹型結構表示實體類型及實體間聯系的數據模型。型結構表示實體類型及實體間聯系的數據模型。特點:特點:1.1.有且只有一個結點無父結點;有且只有一個結點無父結點;2.2.其它結點有且只有一個父結點;其它結點有且只有一個父結點;3.3.適用于適用于一對多的
14、一對多的實體聯系。實體聯系。R1R2R3R4R5R6R7軟件設計師軟件設計師系編號系編號辦公地點辦公地點系名系名系系教研室編號教研室編號教研室教研室教研室教研室學學 號號成績成績 姓名姓名 學生學生研究方向研究方向姓名姓名 職工號職工號 教師教師層次模型的實例層次模型的實例軟件設計師軟件設計師R1R2R3R4特點:特點:1.1.任何一個結點可以有一個或一個以任何一個結點可以有一個或一個以 上的父結點;上的父結點;2.2.任何一個結點可以沒有父結點;任何一個結點可以沒有父結點;3.3.適用于多對多的實體聯系。適用于多對多的實體聯系。網狀模型:網狀模型: 用用有向圖有向圖表示實體類型及實體間聯系的
15、數據模型表示實體類型及實體間聯系的數據模型. .軟件設計師軟件設計師學號學號姓名姓名系別系別學生學生課程課程課程號課程號課程名課程名學分學分選課選課課程號課程號課程名課程名學分學分網狀模型的實例網狀模型的實例軟件設計師軟件設計師關系模型:關系模型: 用二維用二維表表格結構表達實體間的聯系的數據模型格結構表達實體間的聯系的數據模型 學號學號姓名姓名性別性別出生日期出生日期籍貫籍貫所在系所在系相片相片20078425012007842501張三張三男男1985.9.41985.9.4山西山西信息工程信息工程1.jpg1.jpg20078425022007842502李四李四女女1984.11.26
16、1984.11.26江蘇江蘇財務管理財務管理2.jpg2.jpg20078425032007842503王五王五男男1985.4.201985.4.20河北河北電子商務電子商務 3.jpg3.jpg軟件設計師軟件設計師關系模型中的基本術語關系模型中的基本術語: :關系關系:二維的數據表,它描述了實體之間的聯系。:二維的數據表,它描述了實體之間的聯系。元組元組(實體):數據表中的每一行表示一個實體。(實體):數據表中的每一行表示一個實體。屬性屬性(字段):數據表中的每一列。(字段):數據表中的每一列。域域:屬性的取值范圍。:屬性的取值范圍。關系模式關系模式:對關系的描述稱為關系模式。:對關系的描
17、述稱為關系模式。 關系名(屬性名關系名(屬性名1 1,屬性名,屬性名2 2,屬性名,屬性名n n)例:學生(學號,姓名,性別,出生日期,籍貫,所在系)例:學生(學號,姓名,性別,出生日期,籍貫,所在系)軟件設計師軟件設計師超鍵超鍵( (超碼超碼) ):在關系模式中,能唯一標識元組的屬性集。這:在關系模式中,能唯一標識元組的屬性集。這個屬性集可能含有多余的屬性。個屬性集可能含有多余的屬性。候選鍵候選鍵( (候選碼候選碼) ):能唯一標識元組,且又不含有多余的屬性:能唯一標識元組,且又不含有多余的屬性一個屬性集,即超鍵中刪除多余屬性剩下的屬性集。一個屬性集,即超鍵中刪除多余屬性剩下的屬性集。主鍵主
18、鍵( (主碼主碼) ):從候選鍵中選擇一個作為關系模式中用戶使:從候選鍵中選擇一個作為關系模式中用戶使用的候選鍵稱為主鍵。用的候選鍵稱為主鍵。 例如:在關系模式(工號,姓名,年齡,性別,工資)例如:在關系模式(工號,姓名,年齡,性別,工資) (工號,姓名)是關系的一個超鍵;(工號,姓名)是關系的一個超鍵; (工號)是候選鍵;(工號)是候選鍵; (工號)是主鍵。(工號)是主鍵。 軟件設計師軟件設計師主屬性主屬性:包含在任何候選鍵中的屬性稱為主屬性。不包含:包含在任何候選鍵中的屬性稱為主屬性。不包含在任何候選鍵中的屬性稱為非主屬性。在任何候選鍵中的屬性稱為非主屬性。外鍵(外碼)外鍵(外碼):當關系
19、:當關系R R中的某個屬性(或屬性組)雖然不中的某個屬性(或屬性組)雖然不是該關系的碼,但卻是另一個關系是該關系的碼,但卻是另一個關系S S的碼,稱該屬性(或屬的碼,稱該屬性(或屬性組)為性組)為R R關系的外鍵。關系的外鍵。 全鍵(全碼)全鍵(全碼):關系模型中所有屬性都是這個關系的關鍵字:關系模型中所有屬性都是這個關系的關鍵字 例:例:R R(教師,課程,學生)(教師,課程,學生)軟件設計師軟件設計師 例例1 1:學生學生(學號學號,姓名,性別,年齡,系號),姓名,性別,年齡,系號) 系系(系號系號,系名,系主任),系名,系主任) 例例2 2:選課選課(學號,課程號學號,課程號,成績),成
20、績) 學生學生(學號學號, 姓名,姓名, 性別)性別) 課程課程(課程號課程號,課程名,學分),課程名,學分)外鍵外鍵外鍵外鍵軟件設計師軟件設計師 【軟件設計師考試軟件設計師考試20042004年年5 5月上午試題月上午試題1717、1818】 已知關系已知關系R R如下表所示,關系如下表所示,關系R R的主屬性為的主屬性為(1717) ,候,候選關鍵字分別為選關鍵字分別為 (18) (18) 。(17) A.ABC(17) A.ABC B.ABD B.ABD C.ACD C.ACD D.ABCDD.ABCD(18) A.ABC (18) A.ABC B.AB B.AB 、AD AD C.AC
21、C.AC、ADAD和和CDCD D.ABD.AB、ADAD、BDBD的的CDCDD DD D軟件設計師軟件設計師 【軟件設計師考試軟件設計師考試20042004年年1111月上午試題月上午試題42-4442-44】 假定每一車次具有唯一的始發站和終點站。如果實體假定每一車次具有唯一的始發站和終點站。如果實體“列車時刻表列車時刻表”屬性為車次、始發站、發車時間、終點站、屬性為車次、始發站、發車時間、終點站、到達時間,該實體的主鍵是到達時間,該實體的主鍵是 (42) (42) ;如果實體;如果實體“列車運行列車運行表表”屬性為車次、日期、發車時間、到達時間,該實體的主屬性為車次、日期、發車時間、到
22、達時間,該實體的主鍵是鍵是(43) (43) 。通常情況下,上述。通常情況下,上述“列車時刻表列車時刻表”和和“列車列車運行表運行表”兩實體間兩實體間 (44) (44) 聯系。聯系。(42)A.(42)A.車次車次 B.B.始發站始發站 C.C.發車時間發車時間 D.D.車次,始發站車次,始發站(43)A.(43)A.車次車次 B.B.始發站始發站 C.C.發車時間發車時間 D.D.車次,日期車次,日期(44)A.(44)A.不存在不存在 B.B.存在一對一存在一對一 C.C.存在一對多存在一對多 D.D.存在多對多存在多對多 A AD D C C軟件設計師軟件設計師關系模型的完整性約束(數
23、據完整性)關系模型的完整性約束(數據完整性) 數據完整性數據完整性是用來確保數據庫中數據的正確性和可靠性。是用來確保數據庫中數據的正確性和可靠性。 數據完整性包括:數據完整性包括: 實體完整性:主鍵的取值實體完整性:主鍵的取值必須唯一必須唯一,并且,并且不能為空不能為空。 域完整性:保證域完整性:保證數據的取值數據的取值在在有效有效的范圍內。的范圍內。 參照完整性:參照完整性是通過參照完整性:參照完整性是通過主鍵主鍵和和外鍵外鍵來保證相來保證相 關聯的表間關聯的表間數據保持一致數據保持一致,避免因一個表的數據修,避免因一個表的數據修 改,而導致關聯生效改,而導致關聯生效。軟件設計師軟件設計師
24、【軟件設計師考試軟件設計師考試20062006年年5 5月上午試題月上午試題4848】某數據庫中有:某數據庫中有:員工關系員工關系E E(員工編號,姓名,部門)(員工編號,姓名,部門)產品關系產品關系P P(產品編號,產品名稱,型號,尺寸,顏色);(產品編號,產品名稱,型號,尺寸,顏色);倉庫關系倉庫關系W W(倉庫編號,倉庫名稱,地址,負責人編號);(倉庫編號,倉庫名稱,地址,負責人編號);庫存關系庫存關系I I(倉庫編號,產品編號和產品數量)(倉庫編號,產品編號和產品數量) 若要求倉庫關系的負責人引用員工關系的員工編號,若要求倉庫關系的負責人引用員工關系的員工編號,員工關系員工關系E E的
25、員工編號、倉庫關系的員工編號、倉庫關系W W的倉庫編號和產品關系的倉庫編號和產品關系P P的產品編號不能為空且惟一標識一個記錄,并且倉庫的地址的產品編號不能為空且惟一標識一個記錄,并且倉庫的地址不能為空,則依次要滿足的完整性約束是不能為空,則依次要滿足的完整性約束是 (4848) 。軟件設計師軟件設計師(4848) A. A. 實體完整性、參照完整性、用戶定義完整性實體完整性、參照完整性、用戶定義完整性 B. B. 參照完整性、實體完整性、用戶定義完整性參照完整性、實體完整性、用戶定義完整性 C. C. 用戶定義完整性、實體完整性、參照完整性用戶定義完整性、實體完整性、參照完整性 D. D.
26、實體完整性、用戶定義完整性、參照完整性實體完整性、用戶定義完整性、參照完整性軟件設計師軟件設計師 【軟件設計師考試軟件設計師考試20062006年年5 5月上午試題月上午試題4848】 在數據庫系統中,數據的完整性約束的建立需要通過在數據庫系統中,數據的完整性約束的建立需要通過數據庫管理系統提供的數據庫管理系統提供的(5151) 語言來實現。語言來實現。(5151)A. A. 數據定義數據定義 B. B. 數據操作數據操作 C. C. 數據查詢數據查詢 D. D. 數據控制數據控制軟件設計師軟件設計師2.4 數據操作數據操作 關系數據庫的數據操作語言(關系數據庫的數據操作語言(DMLDML)的
27、語句分成查詢語句)的語句分成查詢語句和更新語句兩大類。查詢語句用于描述用戶的各種檢索要和更新語句兩大類。查詢語句用于描述用戶的各種檢索要求;更新語句用于描述用戶進行插入、刪除、修改等操作。求;更新語句用于描述用戶進行插入、刪除、修改等操作。關于查詢的理論稱為關于查詢的理論稱為“關系運算理論關系運算理論”。 關系查詢語言根據其理論基礎的不同分成兩大類:關系查詢語言根據其理論基礎的不同分成兩大類: 關系代數語言:查詢操作是以集合操作為基礎的關系代數語言:查詢操作是以集合操作為基礎的DMLDML語言。語言。 關系演算語言:查詢操作是以謂詞演算為基礎的關系演算語言:查詢操作是以謂詞演算為基礎的DMLD
28、ML語言。語言。軟件設計師軟件設計師l 關系代數關系代數 關系代數的五個基本操作關系代數的五個基本操作 并、差、笛卡爾積、投影、選擇并、差、笛卡爾積、投影、選擇 關系代數的四個組合操作關系代數的四個組合操作 交、聯接、自然連接、除法交、聯接、自然連接、除法 l 關系演算關系演算 元組關系演算元組關系演算 域關系演算域關系演算軟件設計師軟件設計師l 關系代數關系代數 關系代數的五個基本操作關系代數的五個基本操作(1 1)并()并(UnionUnion) 設關系設關系R R和和S S具有相同的關系模式,具有相同的關系模式,R R和和S S的并是由屬于的并是由屬于R R或屬于或屬于S S的元組構成的
29、集合,記為的元組構成的集合,記為RSRS。 形式定義如下:形式定義如下: RStRSt | tR tS | tR tS, t t是元組變量,是元組變量,R R和和S S的元數相同。的元數相同。軟件設計師軟件設計師R RS S軟件設計師軟件設計師(2 2)差()差(DifferenceDifference) 設關系設關系R R和和S S具有相同的關系模式,具有相同的關系模式,R R和和S S的差是由屬于的差是由屬于R R但不屬于但不屬于S S的元組構成的集合,記為的元組構成的集合,記為R RS S。 形式定義如下:形式定義如下: R RS t | S t | tRtR tStS ,R R和和S
30、S的元數相同。的元數相同。軟件設計師軟件設計師R RS S軟件設計師軟件設計師(3 3)笛卡爾積)笛卡爾積 設關系設關系R R和和S S的元數分別為的元數分別為r r和和s s。定義。定義R R和和S S的笛卡爾積的笛卡爾積是一個(是一個(r+sr+s)元的元組集合,每個元組的前)元的元組集合,每個元組的前r r個分量(屬個分量(屬性值)來自性值)來自R R的一個元組,后的一個元組,后s s個分量來自個分量來自R R的一個元組,的一個元組,記為記為R RS S。 形式定義如下:形式定義如下: R RS t |t=S t |t=t tr rRtRts sSS 若若R R有有m m個元組,個元組,
31、S S有有n n個元組,則個元組,則R RS S有有m mn n個元組。個元組。軟件設計師軟件設計師R RS S軟件設計師軟件設計師(4 4)投影)投影(ProjectionProjection) 這個操作是對一個關系進行垂直分割,消去某些列,并這個操作是對一個關系進行垂直分割,消去某些列,并重新安排列的順序。重新安排列的順序。 設關系設關系R R是是k k元關系元關系,R R在其分量在其分量A Ai1i1,A Aimim(mkmk,i i1 1,i im m為為1 1到到k k間的整數)上的投影用間的整數)上的投影用i1i1,imim(R R)表表示,它是一個示,它是一個m m元元組集合,元
32、元組集合, 形式定義如下:形式定義如下: i1,im(R) t| tti1,timt1,tkR 軟件設計師軟件設計師例如,例如,3 3,1 1(R R)表示關系)表示關系R R中取第中取第1 1、3 3列,組成新列,組成新的關系,新關系中第的關系,新關系中第1 1列為列為R R的第的第3 3列,新關系的第列,新關系的第2 2列為列為R R的第的第1 1列。列。 如果如果R R的每列標上屬性名,那么操作符的每列標上屬性名,那么操作符的下標的下標處也可以用屬性名表示。例如,關系處也可以用屬性名表示。例如,關系R R(A A,B B,C C),),那么那么C C,A A(R R)與)與3 3,1 1
33、(R R)是等價的。)是等價的。軟件設計師軟件設計師R RS S軟件設計師軟件設計師 (5 5)選擇)選擇(SelectionSelection) 選擇操作是根據某些條件對關系做水平分割,即選取選擇操作是根據某些條件對關系做水平分割,即選取符合條件的元組。條件可用命題公式(即計算機語言中的條符合條件的元組。條件可用命題公式(即計算機語言中的條件表達式件表達式)F F表示。表示。 F F中有兩種成分:運算對象和運算符中有兩種成分:運算對象和運算符 形式定義如下:形式定義如下: F F(R R) t | tR F t | tR F(t t)= true = true 為選擇運算符,為選擇運算符,F
34、 F(R R)表示從表示從R R中挑選滿足公式中挑選滿足公式F F為為真的元組所構成的關系。真的元組所構成的關系。軟件設計師軟件設計師例如,例如,2 23 3(R R)表示從)表示從R R中挑選第中挑選第2 2個分量值個分量值大于大于3 3的元組所構成的關系。的元組所構成的關系。 常量用引號括起來,而屬性序號或屬性名不要用常量用引號括起來,而屬性序號或屬性名不要用引號括起來。引號括起來。軟件設計師軟件設計師S SR R軟件設計師軟件設計師 關系代數的四個組合操作關系代數的四個組合操作(1 1)交()交(intersectionintersection) 關系關系R R和和S S的交是由屬于的交
35、是由屬于R R又屬于又屬于S S的元組構成的集合,記的元組構成的集合,記為為RSRS,這里要求這里要求R R和和S S定義在相同的關系模式上。定義在相同的關系模式上。形式定義如下:形式定義如下: RStRSttRtR tS tS,R R和和S S的元數相同。的元數相同。 軟件設計師軟件設計師(2 2)連接()連接(joinjoin) 連接有兩種:連接有兩種:連接和連接和F F連接連接 連接連接 (是算術比較符)是算術比較符) 連接是從關系連接是從關系R R和和S S的笛卡兒積中選取屬性間滿足某一的笛卡兒積中選取屬性間滿足某一操作的元組操作的元組, , R R StStt t=t tr rRtR
36、ts sStStr ri i t ts sj j 因此因此,連接由笛卡爾積和選擇操作組合而成。連接由笛卡爾積和選擇操作組合而成。 R R S S ii(r+jr+j) (R RS S)ijij軟件設計師軟件設計師 F F連接連接 (F F是公式)是公式) F F連接是從關系連接是從關系R R和和S S的笛卡兒積中選取屬性間滿足某的笛卡兒積中選取屬性間滿足某一公式一公式F F的元組的元組, , 這里這里F F是形為是形為F F1 1FF2 2FFn n的公式,每的公式,每個個F FP P是形為是形為ijij的式子,而的式子,而i i和和j j分別為關系分別為關系R R和和S S的第的第i i、第
37、第j j個分量的序號。個分量的序號。軟件設計師軟件設計師(3 3) 自然連接(自然連接(natural joinnatural join) 兩個關系兩個關系R R和和S S的自然連接操作具體計算過程如下:的自然連接操作具體計算過程如下: 計算計算R RS S ; 設設R R和和S S的公共屬性是的公共屬性是A1,A1,AK,AK,挑選挑選R RS S中滿足中滿足 R.A R.A1 1=S.A=S.A1 1,R.AR.AK K=S.A=S.AK K的那些元組;的那些元組; 去掉去掉S.AS.A1 1,S.AS.AK K這些列。這些列。 形式定義如下:形式定義如下: R R S S i1,i1,
38、,imim ( (R.A1=S.A1. R.AK=S.AKR.A1=S.A1. R.AK=S.AK (R(RS),S), 其中其中i i1 1, , ,i im m為為R R和和S S的全部屬性,但公共屬性只出現一次。的全部屬性,但公共屬性只出現一次。 自然連接就是等值連接去掉重復列自然連接就是等值連接去掉重復列。軟件設計師軟件設計師【軟件設計師考試軟件設計師考試20072007年年1111月上午試題月上午試題543543、5555】 關系關系R R、S S如下圖所示,如下圖所示,R R S S可由可由 (5454) 基本的關系運基本的關系運算組成,算組成,R R S =S = (5555)
39、。 (5454)A. A. ,和和 B. B. -,-,和和 C. C. ,和和 D. D. ,和和 D DA A軟件設計師軟件設計師軟件設計師軟件設計師(4 4)除法(除法(divisiondivision) 設關系設關系R R和和S S的元數分別為的元數分別為r r和和s s(設(設rs0rs0),那么),那么R RS S是是一個(一個(r-sr-s)元的元組的集合。(元的元組的集合。(R RS S)是滿足下列條件的是滿足下列條件的最大關系:其中每個元組最大關系:其中每個元組t t與與S S中每個元組中每個元組u u組成的新元組組成的新元組tu必在關系必在關系R R中。中。 R RSS1,
40、2,1,2,r-s,r-s(R)-(R)-1,2,1,2,,r-sr-s(1,2,1,2, ,r-sr-s(R)(R)S)-RS)-R) ) 軟件設計師軟件設計師A AB BC CD Da ab bc cd da ab be ef fa ab bd de eb bc ce ef fe ed dc cd de ed de ef fC CD Dc cd de ef fRSRSA AB Ba ab be ed d 先列出先列出R-SR-S的屬性的屬性 屬性值屬性值A A、B B同時滿足同時滿足S S中(中(c c,d d)和()和(e e,f f)的元組。)的元組。軟件設計師軟件設計師例:選修了所有
41、課程的學生的學號和姓名。例:選修了所有課程的學生的學號和姓名。S#S#C#C#s1s1c1c1s1s1c2c2s2s2c2c2s3s3c1c1s3s3c2c2s4s4c1c1C#C#c1c1c2c2選修表選修表課程課程選修表選修表課程課程S#S#s1s1s3s3軟件設計師軟件設計師例:檢索所學課程包含學生例:檢索所學課程包含學生s1s1所學課程的學生學號。所學課程的學生學號。S#S#C#C#GradeGrades1s1c1c19090s1s1c2c28585s2s2c4c47676s3s3c1c16868s3s3c2c26565s4s4c1c17070s4s4c3c38686C#C#Cname
42、Cnamec1c1數據庫數據庫c2c2英語英語c3c3高數高數c4c4體育體育選修表選修表課程課程S#S#s1s1s3s3s#,c#(選修表選修表) c# (s#=s1 (選修表選修表)軟件設計師軟件設計師 【軟件設計師考試軟件設計師考試20052005年年1111月上午試題月上午試題3333、3434】 在關系代數運算中,關系在關系代數運算中,關系 S S、SPSP和和R R如下表所示。若如下表所示。若先先 _(33)_ _(33)_ ,則可以從,則可以從 S S 和和 SP SP 獲得獲得 R R 。其對應的。其對應的關系表達式為關系表達式為 _(34)_ _(34)_ 。部門號部門號商品
43、號商品號銷售量銷售量0100100102021001020210500500010010010202110102021178078001001001020212010202129909900210210211020002110200580580025025025201000252010012901290035035035303110353031146804680部門號部門號部門名部門名010010家電部家電部021021百貨部百貨部030030食品部食品部035035五金部五金部部門名部門名商品號商品號銷售量銷售量家電部家電部0102021001020210500500家電部家電部010202
44、1101020211780780家電部家電部0102021201020212990990SSPR軟件設計師軟件設計師(33)A.(33)A.對對 S S 進行選擇運算,再與進行選擇運算,再與 S S 進行自然連接運算進行自然連接運算 B. B.對對 S S 進行選擇運算,再與進行選擇運算,再與 SP SP 進行自然連接運算,最進行自然連接運算,最 后進行投影運算后進行投影運算 C. C.對對 S S 和和 SP SP 進行笛卡爾積運算,再對運算結果進行投進行笛卡爾積運算,再對運算結果進行投 影運算影運算 D. D.分別對分別對 S S 和和 SP SP 進行投影運算,再對運算結果進行進行投影運
45、算,再對運算結果進行 笛卡爾積運算笛卡爾積運算 軟件設計師軟件設計師如下的如下的 SQL SQL 語句可以查詢銷售總量大于語句可以查詢銷售總量大于 1000 1000 的部門號。的部門號。 Select Select 部門名部門名 From S From S Where Where 部門號部門號 in in (Select (Select 部門號部門號 From SP From SP Group by _(35)_) Group by _(35)_)(35) A. (35) A. 部門號部門號 where sum( where sum( 銷售量銷售量 )1000)1000 B. B. 部門號部
46、門號 having sum( having sum( 銷售量銷售量 )1000 )1000 C. C. 商品號商品號 where sum( where sum( 銷售量銷售量 )1000 )1000 D. D. 商品號商品號 having sum( having sum( 銷售量銷售量 )1000)1000 軟件設計師軟件設計師【軟件設計師考試軟件設計師考試20062006年年5 5月上午試題月上午試題4747】 設有關系設有關系R R、S S如下所示,則關系代數表達式如下所示,則關系代數表達式R RS S的結果的結果集為集為(4747) 。 RSC C軟件設計師軟件設計師l 關系演算關系演算
47、 元組關系演算元組關系演算 在元組關系演算中,元組關系演算表達式簡稱為元組表在元組關系演算中,元組關系演算表達式簡稱為元組表達式,其一般形式為:達式,其一般形式為: t|Pt|P(t t) 其中,其中,t t是元組變量,表示一個元數固定的元組;是元組變量,表示一個元數固定的元組;P P是是公式,在數理邏輯中也稱為謂詞,也就是計算機語言中的條公式,在數理邏輯中也稱為謂詞,也就是計算機語言中的條件表達式。件表達式。 t|Pt|P(t t) 表示滿足公式表示滿足公式P P的所有元組的所有元組t t的集的集合。合。 軟件設計師軟件設計師在元組表達式中,公式由原子公式組成。在元組表達式中,公式由原子公式
48、組成。 原子公式(原子公式(Atoms)有下列三種形式:有下列三種形式: R(s) :s是是R的一個元組。的一個元組。 siuj :元組:元組 s的第的第i個分量與元組個分量與元組u的第的第j個分量之間個分量之間 滿足滿足關系。關系。 sia或或auj:a是常量。是常量。 在定義關系演算操作時,要用到在定義關系演算操作時,要用到“自由自由” 和和“約束約束”變量變量概概念。在一個公式中,如果元組變量未用存在量詞念。在一個公式中,如果元組變量未用存在量詞或全稱量或全稱量詞詞 符號定義,那么稱為自由元組變量,否則稱為約束元組符號定義,那么稱為自由元組變量,否則稱為約束元組變量。變量。 軟件設計師軟
49、件設計師R1 = t | S(t)t12 例:已知關系例:已知關系R R,S S,給出,給出R1-R5R1-R5五個關系的元五個關系的元組關系演算表達式。組關系演算表達式。軟件設計師軟件設計師R2 = t | R(t)S(t)軟件設計師軟件設計師R3R3R3 = t |( u)()(S(t)R(u)t3u1)軟件設計師軟件設計師R5 = t |( u)()( v)()(R(u) S(v)u1v2t1=u2t2=v3t3=u1) 軟件設計師軟件設計師關系代數表達式到元組表達式的轉換:關系代數表達式到元組表達式的轉換: RS 可用可用 t | R(t)S(t)表示;表示; R-S 可用可用 t |
50、 R(t)S(t) 表示;表示; RS可用可用 t |( u)()( v)()(R(u)S(v) t1=u1 t2=u2t3=u3t4=v1t5=v2 t6=v3) 表示。表示。 投影操作是投影操作是2,3(R),),那么元組表達式可寫成:那么元組表達式可寫成: t |( u)(R(u)tl=u2t2=u3) F(R)可用可用 t |R(t)F表示,表示,F是是F的等價表示形式。的等價表示形式。 例如例如2=d(R)可寫成可寫成 t |(R(t)t2=d)。)。 軟件設計師軟件設計師【軟件設計師考試軟件設計師考試20052005年年5 5月上午試題月上午試題3636、3737】 某數據庫中有供
51、應商關系某數據庫中有供應商關系S S和零件關系和零件關系P P,其中;供應商,其中;供應商關系模式關系模式S S(SnoSno,SnameSname,SzipSzip,CityCity), ,零件關系模式零件關系模式P P(PnoPno,PnamePname,ColorColor,WeightWeight,CityCity),供應模式),供應模式SP(SnoSP(Sno,PnoPno, Status, Status,Qty)Qty),要求一個供應商可以供應多,要求一個供應商可以供應多種零件,而一種零件可由多個供應商供應。種零件,而一種零件可由多個供應商供應。 查詢供應了查詢供應了“紅紅”色零件
52、的供應商名、零件號和數量的色零件的供應商名、零件號和數量的元組演算表達式為:元組演算表達式為: t|(t|( u)(u)( v)(v)( w)(w)( (36) (36) u1=v1v2=w1w3=u1=v1v2=w1w3=紅紅 (37) (37) )軟件設計師軟件設計師 (36) A. (36) A. S(u)SP(v)P(wS(u)SP(v)P(w) ) B. B. SP(u)S(v)P(wSP(u)S(v)P(w) ) C. C. P(u)SP(v)S(wP(u)SP(v)S(w) ) D. D. S(u)P(v)SP(wS(u)P(v)SP(w) )(37) A.t1=u1t2=w2t
53、3=v4(37) A.t1=u1t2=w2t3=v4 B. t1=v1t2=u2t3=u4B. t1=v1t2=u2t3=u4 C. t1=w1t2=u2t3=v4 C. t1=w1t2=u2t3=v4 D. t1=u2t2=v2t3=v4 D. t1=u2t2=v2t3=v4 軟件設計師軟件設計師l 關系數據庫關系數據庫SQLSQL語言語言 SQL SQL的數據定義的數據定義 SQL SQL的數據查詢的數據查詢 SQL SQL的數據更新的數據更新軟件設計師軟件設計師【軟件設計師考試軟件設計師考試20052005年年1111月上午試題月上午試題3333、3434】 關系關系R R,S S如下圖
54、所示,元組演算表達式如下圖所示,元組演算表達式 t|(t|( u u) )(R(t)S(u)t3R(t)S(u)t3u1)u1)的結果為的結果為 (47)(47) 軟件設計師軟件設計師軟件設計師軟件設計師 SQLSQL的數據定義的數據定義創建表創建表 CREATE TABLE ( , , , ) 軟件設計師軟件設計師 涉及相應屬性列的完整性約束條件:涉及相應屬性列的完整性約束條件: 主鍵約束:主鍵約束:PRIMARY KEYPRIMARY KEY 檢查約束:檢查約束:CHECKCHECK 外鍵約束:外鍵約束:FOREIGN KEYFOREIGN KEY 唯一性約束:唯一性約束: UNIQUEU
55、NIQUE 是否為空值約束:是否為空值約束: NULL / NOT NULL NULL / NOT NULL 默認值:默認值: DEFAULTDEFAULT軟件設計師軟件設計師 例:使用例:使用T-SQLT-SQL語言創建語言創建Student Student 表表 StudentStudent(Sno , Sname, Ssex Sno , Sname, Ssex ) CREATE TABLE Student (sno CHAR(10) PRIMARY KEY , sname CHAR(8) NOT NULL UNIQUE, ssex CHAR(2) DEFAULT (男男) )軟件設計師軟
56、件設計師 例:使用例:使用T-SQLT-SQL語言創建語言創建CrouseCrouse表表 Crouse Crouse (cnocno,cnamecname, credit credit ) CREATE TABLE Course ( cno char(10) PRIMARY KEY, cname char (8) NOT NULL UNIQUE, credit int )軟件設計師軟件設計師 例:使用例:使用T-SQLT-SQL語言創建語言創建SCSC表表 SC SC ( snosno,cnocno,scorescore) CREATE TABLE SCCREATE TABLE SC ( (
57、 snosno CHAR(10) CHAR(10) FOREIGN KEY REFERENCES Student (sno),FOREIGN KEY REFERENCES Student (sno), cno CHAR(10) cno CHAR(10) FOREIGN KEY REFERENCES Course (cno)FOREIGN KEY REFERENCES Course (cno) , , score INT score INT CHECK (score BETWEEN 0 AND 100)CHECK (score BETWEEN 0 AND 100) , , PRIMARY KEY
58、 (sno, cno)PRIMARY KEY (sno, cno) ) )主鍵表名主鍵表名主鍵主鍵軟件設計師軟件設計師 CREATE TABLE SCCREATE TABLE SC ( ( snosno CHAR(10), CHAR(10), cno cno CHAR(10), CHAR(10), score score INT, INT, PRIMARY KEY (sno, cno), PRIMARY KEY (sno, cno), FOREIGN KEY FOREIGN KEY (sno)(sno) REFERENCES Student (sno), REFERENCES Student
59、(sno), FOREIGN KEY FOREIGN KEY (cno)(cno) REFERENCES Course (cno) , REFERENCES Course (cno) , CHECK (score BETWEEN 0 AND 100) CHECK (score BETWEEN 0 AND 100) ) )軟件設計師軟件設計師 某數據庫中有供應商關系某數據庫中有供應商關系S S和零件關系和零件關系P P,其中;供應商,其中;供應商關系模式關系模式S S(SnoSno,SnameSname,SzipSzip,CityCity)零件關系模式)零件關系模式P P(PnoPno,Pnam
60、ePname,ColorColor,WeightWeight,CityCity)要求一個供應)要求一個供應商可以供應多種零件,而一種零件可由多個供應商供應。商可以供應多種零件,而一種零件可由多個供應商供應。請將下面的請將下面的SQLSQL語句空缺部分補充完整。語句空缺部分補充完整。CREATE TABLE SPCREATE TABLE SP(SnoSno CHAR(5) CHAR(5),PnoPno CHAR(6) CHAR(6),Status CHAR(8)Status CHAR(8),Qty NUMERIC(9)Qty NUMERIC(9),_(33)_(Sno_(33)_(Sno,Pno
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨文化談判心理效應-洞察闡釋
- 醫療美容促銷活動與消費者心理預期匹配度分析-洞察闡釋
- 小學五年級科學下冊教案
- 電子商務平臺成立公司投資入股協議
- 智能化采購合同管理與談判策略定制合同
- 沖擊錘施工安全事故應急預案與責任認定合同
- 2025全面商業辦公租賃合同范本
- 2025建筑工程安裝合同范本
- 2025標準車輛租賃合同范本
- 基于RTMaps的多傳感器融合與場景建模研究
- 財政一體化業務系統
- 北美連續油管技術的新進展及發展趨勢李宗田
- 博克服裝CAD制版說明操作手冊(共95頁)
- 光電效應測普朗克常數-實驗報告
- 110千伏變電站工程檢測試驗項目計劃
- 《鐵路貨物運價規則》
- YD_T 3956-2021 電信網和互聯網數據安全評估規范_(高清版)
- (完整版)數學常用英文詞匯
- 完整word版醫院外包業務管理質量安全評估報告內部審計報告及工作改進實例
- 最新《消費者行為學》綜合練習
- 調崗調薪實操指引PPT課件
評論
0/150
提交評論