數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書_第1頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書_第2頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書_第3頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書_第4頁
數(shù)據(jù)庫原理實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫原理實(shí)驗(yàn)手冊實(shí)驗(yàn)一實(shí)驗(yàn)名稱:熟悉SQL SERVER 2000環(huán)境一、實(shí)驗(yàn)?zāi)康氖煜QL SERVER 2000提供的服務(wù)管理器、企業(yè)管理器、查詢分析器、客戶端和服務(wù)器端網(wǎng)絡(luò)實(shí)用工具等常用管理工具的使用。理解客戶/服務(wù)器模式,理解面向連接與非面向連接的差別。理解交互式SQL的工作機(jī)制。能夠理解命名管道協(xié)議與TCP/IP協(xié)議的差別。能夠登陸上SQL SERVER數(shù)據(jù)庫服務(wù)器。二、實(shí)驗(yàn)原理使用SQL SERVER 2000提供的各種常用管理工具進(jìn)行有關(guān)的操作。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)內(nèi)容 1 啟動SQL SERVER 服務(wù)。打開SQL SERVER的

2、企業(yè)管理器,連接上SQL SERVER服務(wù)器。展開左邊樹狀窗口的各級結(jié)點(diǎn),觀察右邊內(nèi)容窗口的變化。2 打開SQL SERVER的查詢分析器,用USE命令打開樣例數(shù)據(jù)庫pubs。3 在查詢窗口輸入exec sp_help,運(yùn)行后察看結(jié)果。4 在查詢窗口輸入select * from authors ,運(yùn)行后察看結(jié)果。實(shí)驗(yàn)二實(shí)驗(yàn)名稱:創(chuàng)建和修改數(shù)據(jù)庫一、實(shí)驗(yàn)?zāi)康氖煜QL SERVER的企業(yè)管理器和查詢分析器的用戶界面,掌握用企業(yè)管理器和查詢分析器創(chuàng)建數(shù)據(jù)庫,修改數(shù)據(jù)庫和刪除數(shù)據(jù)庫的方法。二、實(shí)驗(yàn)原理在企業(yè)管理器中實(shí)現(xiàn)對數(shù)據(jù)庫的管理及使用TSQL語句CREATE DATABASE、ALTER DA

3、TABASE及DROP DATABASE來實(shí)現(xiàn)數(shù)據(jù)庫的創(chuàng)建、修改及刪除。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1 創(chuàng)建名稱為testdb的數(shù)據(jù)庫,數(shù)據(jù)庫中包含一個數(shù)據(jù)文件,邏輯文件名為testdb_data,磁盤文件名為testdb.mdf,文件初始容量為2MB,最大容量為8MB,文件容量遞增值為1MB;事務(wù)日志文件的邏輯文件名為testdb_log,磁盤文件名為testdb_log.ldf,文件初始容量為1MB,最大容量為5MB,文件容量遞增值為1MB。CREATE DATABASE testdbON( NAME=testdb_data, FILENAME=d

4、:DATAtestdb.mdf,SIZE=2MB,MAXSIZE=8MB,FILEGROWTH=1MB )LOG ON(NAME=testdb_log, FILENAME=d:DATAtestdb_log.ldf,SIZE=1MB,MAXSIZE=5MB,FILEGROWTH=1MB )2 對testdb數(shù)據(jù)庫進(jìn)行修改:添加一個數(shù)據(jù)文件,邏輯文件名為testdb2_data,磁盤文件名為testdb2_data.ndf,文件初始容量為1MB,最大容量為5MB,文件容量遞增值為1MB。ALTER DATABASE testdbADD FILE (NAME=testdb2_data, FILENA

5、ME=d:DATAtestdb2.ndf,SIZE=1MB,MAXSIZE=5MB,FILEGROWTH=1MB )五、實(shí)驗(yàn)內(nèi)容分別使用SQL SERVER 2000企業(yè)管理器和TSQL語句,按下列要求創(chuàng)建、修改和刪除用戶數(shù)據(jù)庫。1 創(chuàng)建名稱為company的數(shù)據(jù)庫,數(shù)據(jù)庫中包含一個數(shù)據(jù)文件,邏輯文件名為company_data,磁盤文件名為company_data.mdf,文件初始容量為5MB,最大容量為15MB,文件容量遞增值為1MB;事務(wù)日志文件的邏輯文件名為company_log,磁盤文件名為company_log.ldf,文件初始容量為5MB,最大容量為10MB,文件容量遞增值為1M

6、B。2 對該數(shù)據(jù)庫進(jìn)行修改:添加一個數(shù)據(jù)文件,邏輯文件名為company2_data,磁盤文件名為company2_data.ndf,文件初始容量為1MB,最大容量為5MB,文件容量遞增值為1MB;將日志文件company_log的最大容量增加為15MB,文件容量遞增值為2MB。3 在company數(shù)據(jù)庫中添加一個文件組TempGroup,并向該文件組中添加一個容量為3MB,最大容量為10MB,遞增量為1MB的數(shù)據(jù)文件,該數(shù)據(jù)文件的邏輯文件名為company3_data,磁盤文件名為company3_data.ndf。4 在company數(shù)據(jù)庫中刪除數(shù)據(jù)文件company2_data。5 刪除

7、數(shù)據(jù)庫company。6 采用默認(rèn)設(shè)置創(chuàng)建數(shù)據(jù)庫company。實(shí)驗(yàn)三實(shí)驗(yàn)名稱:創(chuàng)建和修改數(shù)據(jù)表一、實(shí)驗(yàn)?zāi)康氖煜び嘘P(guān)數(shù)據(jù)表的創(chuàng)建和修改等工作,理解數(shù)據(jù)庫模式的概念,了解主鍵約束、外鍵約束、UNIQUE約束和CHECK約束的創(chuàng)建和應(yīng)用。要求學(xué)生熟練掌握使用企業(yè)管理器和TSQL語句CREATE TABLE、ALTER TABLE及DROP TABLE語句對數(shù)據(jù)表進(jìn)行管理。二、實(shí)驗(yàn)原理在企業(yè)管理器中實(shí)現(xiàn)表的創(chuàng)建和修改等工作及使用TSQL語句CREATE TABLE、ALTER TABLE及DROP TABLE來實(shí)現(xiàn)數(shù)據(jù)表的創(chuàng)建、修改及刪除。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四

8、、實(shí)驗(yàn)示例以company數(shù)據(jù)庫為例,company數(shù)據(jù)庫中存在人事表employee、客戶表customer、銷售表sales、銷售明細(xì)表sale_item、產(chǎn)品表product。各表的結(jié)構(gòu)如下:員工人事表employee emp_nochar(5)Not nullprimary key員工編號emp_namevarchar(10)Not null員工姓名sexchar(2)Not null性別deptvarchar(10)Not null所屬部門titlevarchar(10)Not null職稱date_hireddatetimeNot null雇傭日birthdaydatetimeNu

9、ll生日salaryintNot null薪水telephonevarchar(20)Null電話addrvarchar(50)null住址客戶表customercust_idchar(5)Not nullprimary key客戶號cust_namevarchar(20)Not null客戶名稱addrvarchar(40)Not null客戶住址tel_novarchar(20)Not null客戶電話zipchar(6)null郵政編碼銷售主表sales order_nointNot nullprimary key訂單編號cust_idchar(5)Not null客戶號sale_idc

10、har(5)Not null業(yè)務(wù)員編號tot_amtnumeric(9,2)Not null訂單金額order_datedatetimeNot null訂貨日期銷貨明細(xì)表sale_item order_nointNot nullprimary key訂單編號prod_idchar(5)Not nullprimary key產(chǎn)品編號qtyintNot null銷售數(shù)量unit_pricenumeric(7,2)Not null單價order_datedatetimenull訂單日期產(chǎn)品名稱表product prod_idchar(5)Not nullprimary key產(chǎn)品編號prod_nam

11、evarchar(20)Not null產(chǎn)品名稱1創(chuàng)建表及相應(yīng)的約束。create table employee1(emp_no char(5) not null,constraint emp_nochk check(emp_no like E-F0-90-90-90-9),emp_name char(10) not null,emp_sex char(1) not null,constraint emp_sexchk check(emp_sex in (m,f),emp_phone char (13) not null,constraint emp_phonechk check(emp_ph

12、one like (0-90-90-9)0-90-90-9-0-90-90-90-9),emp_add varchar(60) not null,emp_salary char(5) not null,constraint emp_salarychk check (emp_salary between 60000 and 80000)go五、實(shí)驗(yàn)內(nèi)容分別在SQL SERVER 2000企業(yè)管理器和在查詢分析分析器中使用TSQL語句完成以下操作:1 在數(shù)據(jù)庫company中創(chuàng)建以上五張表,并設(shè)置各表的主鍵。2 在銷售主表sales中添加字段“發(fā)票號碼” invoice_no,char(10),N

13、OT NULL。3 添加外鍵約束:a) 在銷售主表sales的業(yè)務(wù)員編號字段sale_id上添加外鍵約束,參照字段為員工表employee中的字段員工編號emp_no,約束名為FK_sale_id。b) 在銷售主表sales的客戶號字段cust_id上添加外鍵約束,參照字段為客戶表customer中的字段客戶號cust_id,約束名為FK_cust_id。c) 在銷售明細(xì)表sale_item的訂單編號字段order_no上添加外鍵約束,參照字段為銷售主表sales中的字段訂單編號order_no,約束名為FK_order_no。d) 在銷售明細(xì)表sale_item的產(chǎn)品編號字段prod_id上

14、添加外鍵約束,參照字段為產(chǎn)品名稱表product中的產(chǎn)品編號字段prod_id,約束名為FK_prod_id。4 添加核查約束:a) 將員工表employee中的薪水字段salary的值限定在1000至10000間,約束名為CK_salary。b) 將員工表employee中的員工編號字段emp_no設(shè)定為以“E”字母開頭, 后面跟5位數(shù)的編號,約束名為CK_emp_no。c) 將員工表employee中的性別字段設(shè)定這取值只能是“男”和“女”。約束名為CK_sex。d) 將銷售主表sales中的發(fā)票號碼字段invoice_no設(shè)定為以“I”字母開頭,后面跟9位數(shù)的編號,約束名為CK_inno

15、。5為銷售主表sales中的字段發(fā)票號碼invoice_no設(shè)置為唯一約束,約束名為UN_inno。實(shí)驗(yàn)四實(shí)驗(yàn)名稱:簡單的單表查詢一、實(shí)驗(yàn)?zāi)康氖炀氄莆沼肧ELECT語句實(shí)現(xiàn)簡單的單表查詢。掌握SELECT子句、FROM子句、WHERE子句及ORDER BY 子句的用法。二、實(shí)驗(yàn)原理用SELECT語句實(shí)現(xiàn)簡單的單表查詢。在SELECT子句中用TOP關(guān)鍵字來限制返回到結(jié)果集中的記錄數(shù)目,用DISTINCT關(guān)鍵字從結(jié)果集中去掉重復(fù)的記錄。WHERE子句中用關(guān)系比較符、NOT BETWEEN、NOT IN、LIKE、 IS NOTNULL及邏輯運(yùn)算符構(gòu)成查詢條件,對結(jié)果集中的記錄進(jìn)行篩選。ORDER

16、BY子句將根據(jù)查詢結(jié)果集中一個或多個字段對查詢結(jié)果進(jìn)行排序。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1查找表中所有姓劉的職工的工號,姓名,部門,薪水select emp_no,emp_name,dept,salaryfrom employeewhere emp_name like 劉%2查找所有定單金額高于20000的所有客戶編號select cust_idfrom saleswhere tot_amt200003查找業(yè)務(wù)部或會計(jì)部的女員工的基本信息。select emp_no,emp_name,deptfrom employee where sex=女 and

17、dept in (業(yè)務(wù),會計(jì))4選取編號界于C0001和C0004的客戶編號、客戶名稱、客戶地址。select cust_id,cust_name,addrfrom customer where cust_id between C0001 AND C00045選取銷售數(shù)量最多的前5條訂單訂單號、數(shù)量。select top 5 order_no,qtyfrom sale_itemorder by qty desc6計(jì)算出sale_item表中每一筆銷售數(shù)據(jù)的銷售金額,并按照銷售金額的大小排序。select prod_id,qty,unit_price,(qty*unit_price)tot_am

18、tfrom sale_itemorder by tot_amt desc五、實(shí)驗(yàn)內(nèi)容運(yùn)行查詢文件company.sql,生成上機(jī)必要的數(shù)據(jù),然后完成以下操作。1、 查找所有經(jīng)理的姓名、職稱、薪水。2、在銷售主表sales中查找銷售金額大于等于10000元的訂單。3、在員工表employee中查找薪水在4000至8000元之間的員工。4、在員工表employee中查找住址為上海、北京、天津這三個城市的員工。5、在客戶表customer中查找住址不在上海、北京、天津這三個城市的客戶。6、在員工表employee中查找姓“王”用姓名最后一個字為“功”的員工。7、在客戶表customer中查找姓“劉”

19、的客戶名稱、電話。8、查找出職稱為“經(jīng)理”或“職員”的女工的信息。9、查找薪水最高的前三條員工記錄。10、查找訂單金額最高的前10%的訂單記錄。11、查找員工表中所屬部門。(去掉重復(fù)記錄)12、查找員工表中的所有記錄,并按薪水由低到高進(jìn)行排序。實(shí)驗(yàn)五實(shí)驗(yàn)名稱:復(fù)雜的單表查詢 一、實(shí)驗(yàn)?zāi)康氖炀氄莆誗ELECT查詢語句中的Group by 子句、Having子句的用法,以及匯總函數(shù)的使用。二、實(shí)驗(yàn)原理在查詢語句中用Group by子句進(jìn)行分組;用Having子句對分組進(jìn)行篩選。使用MAX(),MIN(),COUNT(),SUM(),AVG()等函數(shù)在查詢結(jié)果集中生成匯總值。三、實(shí)驗(yàn)設(shè)備安裝有SQL

20、 SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1、統(tǒng)計(jì)表中員工的薪水在40000-60000之間的人數(shù)select count(*) as 人數(shù)from employeewhere salary between 40000 and 600002、計(jì)算P0001產(chǎn)品的平均銷售單價select avg(unit_price)from sale_itemwhere prod_id=P00013、 找出目前銷售業(yè)績超過40000元的業(yè)務(wù)員編號及銷售業(yè)績,并按銷售業(yè)績從大到小排序。Select sale_id ,sum(tot_amt)from sales group by sale_id having

21、 sum(tot_amt)40000order by sum(tot_amt) desc4、 查詢訂購了三種以上產(chǎn)品的訂單號。Select order_no from sale_itemGroup by order_noHaving count(*)3五、實(shí)驗(yàn)內(nèi)容1、在員工表employee中統(tǒng)計(jì)員工人數(shù)。2、統(tǒng)計(jì)各部門員工的員工人數(shù)及平均薪水。3、查詢銷售業(yè)績超過10000元的員工編號。4、計(jì)算每一產(chǎn)品銷售數(shù)量總和與平均銷售單價。5、統(tǒng)計(jì)各部門不同性別、或各部門、或不同性別或所有員工的平均薪水。(在GROUP BY 子句中使用CUBE關(guān)鍵字)6、 統(tǒng)計(jì)各部門不同性別、或各部門或所有員工的平均

22、薪水。(在GROUP BY 子句中使用ROLLUP關(guān)鍵字)7、 計(jì)算出一共銷售了幾種產(chǎn)品。8、 顯示sale_item表中每種產(chǎn)品的訂購金額總和,并且依據(jù)銷售金額由大到小排列來顯示出每一種產(chǎn)品的排行榜。9、 計(jì)算每一產(chǎn)品每月的銷售金額總和,并將結(jié)果按銷售(月份,產(chǎn)品編號)排序。10、 查詢每位業(yè)務(wù)員各個月的業(yè)績,并按業(yè)務(wù)員編號、月份降序排序。實(shí)驗(yàn)六實(shí)驗(yàn)名稱:連接查詢一、實(shí)驗(yàn)?zāi)康恼莆帐褂眠B接的方法從多個表中查詢數(shù)據(jù)。理解內(nèi)連接、外連接(包括左外連接、右外連接和全外連接)、自身連接的概念和使用。要求學(xué)生熟練掌握在FROM子句和在WHERE子句中指定連接條件的這兩種方法。二、實(shí)驗(yàn)原理在查詢語句的FR

23、OM子句中用以下形式實(shí)現(xiàn)各種連接操作:l FROM 表1 INNER JOIN 表2 ON 表1列名=表2列名 (實(shí)現(xiàn)內(nèi)連接)l FROM 表1 LEFT OUTER JOIN 表2 ON 表1列名=表2列名 (實(shí)現(xiàn)左外連接)l FROM 表1 RIGHT OUTER JOIN 表2 ON 表1列名=表2列名 (實(shí)現(xiàn)右外連接)l FROM 表1 FULL OUTER JOIN 表2 ON 表1列名=表2列名 (實(shí)現(xiàn)全外連接)l FROM 表1 AS 別名1 JOIN 表1 AS 別名2 ON 別名1列名=別名2列名 (實(shí)現(xiàn)自身連接)在查詢語句的WHERE子句中用以下形式實(shí)現(xiàn)各種連接操作:l F

24、ROM 表1,表2 WHERE 表1列名=表2列名 (實(shí)現(xiàn)內(nèi)連接)l FROM 表1,表2 WHERE 表1列名*=表2列名 (實(shí)現(xiàn)左外連接)l FROM 表1,表2 WHERE 表1列名=*表2列名 (實(shí)現(xiàn)右外連接)l FROM 表1 AS 別名1 ,表1 AS 別名2 WHERE 別名1列名=別名2列名 (實(shí)現(xiàn)自身連接)三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1、 檢索product 表和sale_item表中數(shù)量大于2的相同產(chǎn)品的產(chǎn)品編號、產(chǎn)品名稱、數(shù)量、單價。select d_id,a.qty,a.unit_price,d_namefr

25、om sale_item as a inner join product as b /*如果改成left join/right join 試分析結(jié)果*/on (d_id=_id) and a.qty2order by d_id2、查找出employee表中住址相同的員工的姓名、性別、職稱、薪水、住址。select a.emp_name,a.sex,a.title,a.salary,a.addr,b.emp_name,b.sex,b.title,b.salary,b.addrfrom employee as a inner join employee as bon

26、(a.emp_no!=b.emp_no) and (a.emp_nameb.emp_name) and (a.addr=b.addr)3、查找商品名稱為14寸顯示器商品的銷售情況,顯示該商品的編號、銷售數(shù)量、單價和金額select d_id,qty,unit_price,unit_price*qty totpricefrom sale_item a,product bwhere d_id=d_id and prod_name=14寸顯示器四、實(shí)驗(yàn)內(nèi)容與步驟1、 查找出employee表中部門相同且住址相同的女員工的姓名、性別、職稱、薪水、住址。2、 檢索produ

27、ct 表和sale_item表中相同產(chǎn)品的產(chǎn)品編號、產(chǎn)品名稱、數(shù)量、單價。3、 檢索product 表和sale_item表中單價高于2400元的相同產(chǎn)品的產(chǎn)品編號、產(chǎn)品名稱、數(shù)量、單價。4、 查詢在每張訂單中訂購金額超過24000元的客戶名及其地址。5、 查找有銷售記錄的客戶編號、名稱和訂單總額6、 每位客戶訂購的每種產(chǎn)品的總數(shù)量及平均單價,并按客戶號,產(chǎn)品號從小到大排列。7、 查找在1997年中有銷售記錄的客戶編號、名稱和訂單總額8、分別使用左向外連接、右向外連接、完整外部連接檢索product 表和sale_item表中單價高于2400元的相同產(chǎn)品的產(chǎn)品編號、產(chǎn)品名稱、數(shù)量、單價。并分析

28、比較檢索的結(jié)果。 實(shí)驗(yàn)七實(shí)驗(yàn)名稱:嵌套查詢一、實(shí)驗(yàn)?zāi)康恼莆誗ELECT語句的嵌套使用,實(shí)現(xiàn)多表的復(fù)雜查詢,進(jìn)一步理解SELECT語句的高級使用方法。二、實(shí)驗(yàn)原理使用嵌套查詢時,先用內(nèi)查詢(子查詢)挑選出部分?jǐn)?shù)據(jù),以作為外查詢(主查詢)的數(shù)據(jù)來源或搜索條件。包含子查詢的語句通常采用以下格式:WHERE 表達(dá)式 NOT IN (子查詢)WHERE 表達(dá)式 比較運(yùn)算符 ANY|ALL (子查詢)WHERE NOT EXISTS (子查詢)其中前兩種又稱為不相關(guān)子查詢,子查詢的查詢條件不依賴其父查詢,所以可以先求出子查詢的結(jié)果,然后由內(nèi)到外逐層求解。最后一種為相關(guān)子查詢,其子查詢的查詢條件依賴于外層父

29、查詢的某個屬性值,所以不能先一次性地求出子查詢的結(jié)果。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1、由employee表中查找出薪水最高的員工信息。select *from employeewhere salary= (select max(salary ) from employee )2、由sales表中查找出訂單金額大于“E0013業(yè)務(wù)員在1996/10/15這天所接每一張訂單的金額”的所有訂單。select *from saleswhere tot_amtall (select tot_amt from sales where sale_id=E0013an

30、d order_date=1996/10/15)order by tot_amt3、用存在量詞查找沒有訂貨記錄的客戶名稱select cust_namefrom customer awhere not exists (select * from sales b where a.cust_id=b.cust_id)四、實(shí)驗(yàn)內(nèi)容1、 由sales表中查找出銷售金額最高的訂單。2、 由sales表中查找出訂單金額大于“E0013業(yè)務(wù)員在1996/10/15這天所接任一張訂單的金額”的所有訂單,并顯示承接這些訂單的業(yè)務(wù)員和該條訂單的金額。3、 找出公司女業(yè)務(wù)員所接的訂單。4、 找出目前業(yè)績未超過元的員

31、工。5、 在銷售主表sales中查詢銷售業(yè)績最高的業(yè)務(wù)員編號及銷售業(yè)績。6、 找出目前業(yè)績超過元的員工編號和姓名。7、 查詢訂購的產(chǎn)品至少包含了訂單10003中所訂購產(chǎn)品的訂單。8、查詢末承接業(yè)務(wù)的員工的信息。實(shí)驗(yàn)八實(shí)驗(yàn)名稱:數(shù)據(jù)更新一、實(shí)驗(yàn)?zāi)康氖炀毷褂肐NSERT/DELETE/UPDATE語句進(jìn)行表的更新操作。二、實(shí)驗(yàn)原理數(shù)據(jù)更新操作只能針對一個表進(jìn)行,即每次只能在一個表中插入、刪除和修改數(shù)據(jù)。用INSERT語句可以通過使用VALUES關(guān)鍵字一次只向一個表插入一條記錄,也可以通過子查詢向一個表中插入若干條記錄; 當(dāng)使用DELETE和UPDATE語句實(shí)現(xiàn)表的刪除和更改時,若題目中涉及多個表的

32、信息,可以使用子查詢來挑選出部分?jǐn)?shù)據(jù),以作為刪除或更改的條件,也可以在語句中用FROM子句給出題目中涉及的所有表,而在WHERE子句中給出多個表之間的連接條件。三、實(shí)驗(yàn)設(shè)備安裝有SQL SERVER 2000的計(jì)算機(jī)。四、實(shí)驗(yàn)示例1、在產(chǎn)品名稱表中插入一條記錄。INSERT INTO product VALUES(p0009,CD_ROM)2、 將employee員工表中性別為“女”的員工的員工編號、姓名,職稱和薪水復(fù)制到一個名為temp_emp表文件中,該文件只具有這四個列。INSERT INTO temp_emoSELECT emp_no,emp_name,title,salaryFROM

33、 employeeWHERE sex=女3、 將所有經(jīng)理的薪水上調(diào)10%。UPDATE EMPLOYEESET salary=salary*1.1WHERE title=經(jīng)理4、 刪除李小明的銷售記錄。DELETE employeeFROM employee, salesWHERE employee.emp_no=sales.sale_id and emp_name=李小明或DELETE employeeWHERE emp_name=李小明 and emp_no IN ( SELECT DISTINCT sale_id FROM sales )五、實(shí)驗(yàn)內(nèi)容凡是能用多種方法實(shí)現(xiàn)的,請用多種方法實(shí)

34、現(xiàn)。1、為各表添加若干條記錄,必須符合實(shí)驗(yàn)二中設(shè)定的各種約束。2、將每個員工的薪水上調(diào)10%。3、刪除sales表中作廢的訂單(其發(fā)票號碼為I),其訂貨明細(xì)表中的數(shù)據(jù)也一并刪除。5、 刪除所有沒有銷售業(yè)績的員工記錄。6、 對那些只要有一筆銷售業(yè)績超過20000元的員工的薪水增加500元。實(shí)驗(yàn)九實(shí)驗(yàn)名稱:視圖的建立與使用一、實(shí)驗(yàn)?zāi)康睦斫庖晥D的定義、視圖的優(yōu)點(diǎn)與視圖的工作原理。掌握在企業(yè)管理器和查詢分析器中創(chuàng)建、修改及刪除視圖。能夠熟練掌握利用視圖向表中插入、刪除和修改數(shù)據(jù)。二、實(shí)驗(yàn)原理利用CREATE VIEW、ALTER VIEW 、DROP VIEW語句創(chuàng)建、修改及刪除視圖。由于視圖是虛表,通過視圖向表中添加數(shù)據(jù)時必須滿足一定的條件。如果視圖引用了多個數(shù)據(jù)表,那么在通過視圖向數(shù)據(jù)表中添加數(shù)據(jù)時,這個語句只能指定同一個表中的字段。如果通過一個引用了多個數(shù)據(jù)表的視圖向這些數(shù)據(jù)表中添加數(shù)據(jù)時,必須書寫多個INSERT語句。通過使用多個表的視圖對數(shù)據(jù)表進(jìn)行更新也需要書寫多個UPDATE語句,另外適用于INSERT操作的許多限制同UPDATE操作。使用DELETE語句可以通過視圖將數(shù)據(jù)表中的數(shù)據(jù)刪除。但如果視圖應(yīng)用了兩個或兩個以上的數(shù)據(jù)表,則不允許刪除視圖中的數(shù)據(jù)。另外,通過視圖刪除的記錄,不能違背視圖定義的WHERE子句中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論