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