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