【正文】
50000 AND 100000ORDER BY 預算 DESC;3) SELECT 工程代號 FROM 供應零件 WHERE 供應商代碼=‘SI’;4) SELECT , FROM 零件 供應零件WHERE?。剑健甁2’; 5)SELECT 零件代號FROM 供應商,供應零件WHERE = AND=‘上?!?;6) SELECT 工程名 FROM 供應商,供應零件,工程WHERE?。剑健ND?。健虾!?; 7) SELECT 工程號碼FROM 工程 WHERE NOT EXISTS(SELECT* FROM 供應零件 ?。健ND 供應商代碼 IN?。⊿ELECT 供應商代碼 FROM 供應商8) UPDATE 零件SET 顏色=‘藍色’ WHERE 顏色=‘紅色’;9) UPDATE 供應零件SET 供應商代碼=‘S3’WHERE 供應商代碼=‘S5’ AND 工程代碼=’J4’ AND 零件代碼=‘P6’。10) DELETE FROM 供應零件 WHERE 供應商代碼=’S2’。DELETE FROM 供應商 WHERE 供應商代碼=’S2’。4. 答:在嵌入方式下,SQL語句在嵌入主語言的程序時其前綴加EXEC SQL??;其結束處用END_EXEC或用分號“;”。5.答:數據的工作單元和程序工作單元之間通信的主要方式有:主語言通過變量向SQL語句 提供參數;SQL語句的當前工作狀態(tài)和運行環(huán)境數據要返饋給應用程序。6.答:使用游標解決SQL一次一集合的操作與主語言一次一記錄操作的矛盾。游標是系統(tǒng)為用戶開設的一個數據緩沖區(qū),存放SQL語句的執(zhí)行結果。用戶可以通過游標逐一獲取記錄,并將記錄賦給主變量,交給主語言做進一步處理。7.答:B 8.答:C 9.答:A 10.答:C 11.答:C復習題六1.客戶機/服務器體系結構的特點是什么?SQL Server 2000客戶機/服務器的結構特點是什么? Server 2000客戶機/服務器的體系結構和軟件結構。3. SQL Server 2000的物理數據庫有哪些文件構成?邏輯數據庫有哪些內容構成?4. SQL Server 2000的數據庫中有哪些數據庫對象?這些數據庫對象在數據庫系統(tǒng)中分別起什么作用。5. 簡述SQL Server 2000的4個最主要的系統(tǒng)數據庫及作用。6. 簡述SQL Server 2000的主要管理功能。7. 簡述SQL Server 2000提供的主要管理工具及功能。8. Trangsact—SQL 與標準SQL相比,數據查詢語句有什么不同之處?9. 設要建立學生選課數據庫,庫中包括學生、課程和選課3個表,其表結構為:學生(學號,姓名,性別,年齡,所在系);課程(課程號,課程名,先行課);選課(學號,課程號,成績)。用Transact—SQL完成下列操作。1)建立學生選課庫。2)建立學生、課程和選課表。3)建立各表以主碼為索引項的索引。4)建立學生性別只能以“男”或“女”的規(guī)則,性別為“男”的缺省,并將它們綁定的學生表上。5) 建立在對選課表輸入或更改數據時,必須服從參照完整性約束的INSERT和UPDATE觸發(fā)器。6) 建立在刪除學生記錄時,同時也要把相應的選課記錄刪除的觸發(fā)器。7) 查詢各系及學生數,最后求出共有多少系和多少學生。8) 將學生表和選課表進行內連接、左連接和右外連接。列出學生學號、姓名及學習情況。學習情況用好、較好、一般或較差表示。當平均成績大于85分時,學習情況為好:當平均成績在7085分之間,學習情況為較好:當平均成績在6070分之間,學習情況為一般:當平均成績在60分以下,學習情況為較差.復習題六答案1.答 客戶機/服務器(Client/Server)是分布式數據庫與網絡技術相結合的產物,C/S系統(tǒng)可以通過網絡連接產品將多臺計算機連接為企業(yè)內部網,能夠與Internet相連并發(fā)布網頁。網絡中的一臺或多臺計算稱為服務器(Server),其他的計算機稱為客戶機(Client).在C/S系統(tǒng)中,應用程充安裝在客戶機端,客戶機端實現用戶界面和前端處理功能:數據庫服務 囂程序安裝在服務器端,同服務器實現頒事務的協(xié)調和數據訪問控制。 2.答:SQL Server 2000的數據庫系統(tǒng)結構采用多層客戶/服務器系統(tǒng)結構。其軟件結構為客戶軟件、網絡軟件和服務器軟件??蛻糗浖蛻魬贸绦蜍浖?、服務器的數據庫應用程序、編程接口API和網絡資源庫;SQL服務器軟件由網絡鏈接庫、開放式數據服務、SQL Server代理服務程序、SQL Server服務器以及分布事務管理服務5部分構成。 3.答: SQL Server的物理數據庫由兩個或多個物理文件組成,一個物理數據庫中至少有一個數據庫數據文件和一個數據庫事務日志文件?! ∵壿嫈祿熘杏斜?、視圖、圖表等數據對象。 4.答: SQL Server的數據庫對象包括表、視圖、用戶、角色、索引、數據類型、默認值、存儲過程、觸發(fā)器和約束等。① 表和視圖:表,即基本表,它是在數據庫中存放的實際關系;視圖是為了用戶查詢方便或根據數據安全的需要而建立的虛表。② ② 用戶和角色:用戶是數據庫系統(tǒng)的合法使用者;角色是同一個或多個用戶組成的單元,角色也稱職能組。③ ③ 索引:索引是用來加速數據訪問和保證表的實體完整性的數據庫對象。SQL Server中的索引有群聚和非群聚索引兩種。群聚索引會使表的物理順序與索引順序一致,一個表只能有一個群聚索引;非群聚索引與表的物理順序無關,一個表可以建立多個非群聚索引。④ ④ 存儲過程:存儲過程是通過TransactSQL編寫的程序。存儲進程包括系統(tǒng)存儲過程和用戶存儲過程:系統(tǒng)存儲進程是由SQL Server提供的,其過程名均以SP開頭;用戶過程是由用戶編寫的,它可以自動執(zhí)行過程中安排的任務。⑤ ⑤ 觸發(fā)器:觸發(fā)器是一種特殊類型的存儲過程,當表中發(fā)生特殊事件時執(zhí)行。觸發(fā)器主要用于保證數據的完整性。⑥ ⑥ 約束:約束規(guī)則用于加強數據完整性?! ?.答: 系統(tǒng)數據庫是由SQL Server內部創(chuàng)建和提供的一組數據庫,其中最主要的數據庫有4個,它們分別是Master、Msdb、Model和Tempdb?! 、佟aster數據庫:用于記錄所有SQL Server系統(tǒng)級別的信息,這些信息用于控制用戶數據庫和數據操作?! 、贛sdb數據庫:由Enterprise Manager和Agent使用,記錄著任務計劃信息、事件處理信息、數據備份有恢復信息、警告及異常信息?! ?③Model數據庫:SQL Server為用戶數據庫提供的樣板,新的用戶數據庫都以model數據庫為基礎。每次創(chuàng)建一個新數據庫時,SQL Server先制作一個model數據庫的拷貝,然后再將這個拷貝擴展成要求的規(guī)模?! 、躷empdb數據庫:一個共享的工作空間,SQL Server中的所有數據庫都可以使用它,它為臨時表和其他臨時工作提供了一個存儲區(qū)。 6.答:?、賁QL服務器的安裝、配置和管理:為了使用SQL服務器,必須先對它們進行安裝和配置。當系統(tǒng)中有多臺SQL服務器時,還需要將它們鏈接,使它們協(xié)同作。?、诜展芾恚涸赟QL客戶機安裝相應的軟件并正確配置它們。③數據庫管理:包括數據庫的創(chuàng)建、修改、刪除以及備份和恢復等。④數據庫對象的管理:管理數據庫中的表、視圖、存儲過程、觸發(fā)器、規(guī)則、缺省值等。⑤數據管理:實現記錄的添加、刪除和修改以及數據的傳遞與復制等。⑥安全性管理:包括用戶管理和權限管理兩方面的內容。⑦作業(yè)管理:包括警報管理、操作員管理和任務管理。⑧集成管理:SQL Server與電子郵件系統(tǒng)和Web服務器的交互操作?! ?.答:①查詢分析器:編輯TransactSQL,將其發(fā)送到服務器,并將執(zhí)行結果有分析顯示出來或進行存儲?! 、趯牒蛯С鰯祿和ㄟ^向導實現SQL Server 與任何OLE DB、ODBC、JDBC或文本文件等多種不同類型的數據庫之間實現數據傳遞?! 、鄯展芾砥鳎河糜陂_啟中、暫停和停止SQL服務工作,同時,也可以通過它設置服務是否自動啟動?! 、芸蛻魴C網絡連接工具和服務器網絡連接工具:客戶機網絡連接工具用于設置本機作為服務器或客戶機所使用的缺省網絡鏈接庫,并可為不支持缺省網絡庫的SQL服務器設置連接方式。服務器網絡連接工具用于設置本機作為服務器時允許的連接協(xié)議,以支持不同配置的客戶端?! 、萋摍C叢書:SQL Server2000為用戶提供在線幫助功能?! 、奁髽I(yè)管理器:實現對管理對象的定義、改動、刪除等各種操作。 ?、呤录讲槠鳎悍掌骰顒痈櫝绦?,用于監(jiān)視與分析SQL Server活動、SQL Server 服務器的網絡進出流量或發(fā)出在SQL Server上的事件?! 、嘣贗IS中配置SQL XML支持:設置并管理IIS虛擬目錄。 ?、岱治龉芾砥鳎汗芾矸治龇掌?;創(chuàng)建數據庫和指定數據源;生成并處理多維數據集;創(chuàng)建并處理數據挖掘模型;指定存儲選項并優(yōu)化查詢性能;管理安全性;瀏覽數據源、共享維度、安全角色和其他對象。⑩英語查詢工具:為用戶提供了英語詢問,而不是用SQL語句進行數據查詢的方式 。8.答:①新增加INTO、COMPUTE和COMPUTE BY三種子句:INTO子句用于創(chuàng)建一個表,并將查詢結果添加到該表中;COMPUTE子句的作用是產生匯總值,并在結果集中后將匯總值放入摘要列,COMPUTE與BY配合,將起到換行控制和分段小計的作用。②SELECT中增加了[TOP 數值 [PERCENT]]短語,增加了列名或表達式 [AS] 列別句 及 列別名?。?表達式 的列組表示方法。③ FROM 子句中新增加了連接表類型及連接表示,數據源中可以使用嵌套的SELECT 語句。④ TSQL用GO表示語句結束,標準SQL用分號‘;’表示結束。9.答:1) 1) CREATE DATABASE 學生選課庫ON PRIMARY (NAME=學生選課庫,FILENAME=‘C:\msSQL\data\SIZE=4MB,MAXSIZE=6MB,FILEROWHT=2MB) GO 2)CREATE TABLE 學生 (學號 CHAR(10)PRIMARY KEY CLUSTERED,姓名 CHAR(8),性別 CHAR(2),年齡 SMALLINT,所在系 VARCHAR(50)) GO CREATE TABLE 課程(課程號 CHAR(10)PRIMARY KEY CLUSTERED課程名 VARCHAR(50),先行課 VARCHAR(50)) CREATE TABLE 選課(學號 CHAR(10),課程號 VARCHAR(50), 成績 SMALLINT, CONSTRAINT C1 PRIMARY KEY(學號課程,課程號), CONSTRAINT C2 PRIMARY KEY(學號)REFERENCES 學生(學號), CONSTRAINT FOREIGN KEY(課程號) REFERENCES 課程(課程號)) GO 3) 3) CREATE INDEX student_ind ON 學生(學號)GO CREATE INDEX class_ind ON 課程(課程號) GO CREATE INDEX select_ind ON 選課(學號,課程號) GO4) 4) CREATE RULE value_rule AS @VALUE IN (‘男’,‘女’)GOCREATE DEFAULT 性別缺省 AS‘男’GOEXEC sp_bindrule ‘value_rude’, ‘’GOEXEC sp_binddefault ‘性別缺省’,‘’GO5) CREATE TRIGGER sc_insert ON 選課 FOR INSERT AS IF (SELECT COUNT(*) FROM 學生 , inserted , 課程 WHERE = AND =)=0 ROLLBACK TRANSACTIONGOCREATE TRIGGER sc_update ON FOR UPDATE AS IF (SELECT COUNT(*) FROM 學生 , updated, 課程 WHERE = AND =)=0 ROLLBACK TRANSACTIONGO6) CREATE TRIGGER delete_all ON 學生 FOR DELETE AS DELETEFROM 選課 WHERE 選課. 學號=deleted. 學號 GO7) SELECT 所在系,COUNT(學號)FROM 學生 GROUP BY 學生. 所在系COMPUTE COUNT(DISTINCT(所在系)) COMPUTE COUNT(學號) BY 所在系 GO8) SELECT * FROM 學生 INNER JOIN 課程GOSELECT * FROM 學生 LEFT OUTER JOIN 課程GOSELECT * FROM 學生 RIGHT OUTER JOIN 課程GO9) 9) SELECT , , 學習情況中=CASEWHEN AVG(成績)=85 THEN ‘好’WHEN AVG(成績)=70 AND AVG(成績)85 THEN ‘較好’WHEN AVG(成績)=60 AND AVG(成績)70 THEN ‘一般’WHEN AVG(成績)60 THEN ‘較差’ FROM 學生選課WHERE = GROUP BY GO復習題七,并加以理解.函數依賴、完全函數依賴、傳遞函數依賴、侯選關鍵字、主關鍵字、全關鍵字、1NF、2NF、3NF、BCNF、多值依賴、4NF、連接依賴、5NF。2 現在要建立關于系、學生、班級、學會諸信息的一個關系數據庫。語義為:一個系有若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學生,一個系的學生住在同一個宿舍區(qū),每個學生可參加若