北郵數(shù)據(jù)庫第一次實驗_第1頁
北郵數(shù)據(jù)庫第一次實驗_第2頁
北郵數(shù)據(jù)庫第一次實驗_第3頁
北郵數(shù)據(jù)庫第一次實驗_第4頁
北郵數(shù)據(jù)庫第一次實驗_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、試驗一 交互式SQL 數(shù)據(jù)庫應用及技術(shù)實驗報告(一) 實驗環(huán)境軟件環(huán)境:WindowsXP SP3 Mircosoft SQL Server 2005硬件環(huán)境:CPU:Intel P7450 內(nèi)存:2G 硬盤:320G(二) 實驗目的1. 熟悉數(shù)據(jù)庫的交互式SQL工具2. 熟悉通過SQL對數(shù)據(jù)庫進行操作。(三) 實驗內(nèi)容1.1 建立數(shù)據(jù)庫StuManagement打開SQL Server Management Studio,新建數(shù)據(jù)庫StuManagement語句:create database StuManagementon(name='StuManagement',file

2、name='C:SQL Server DataStuManagement.mdf',size=5MB,maxsize=10MB)執(zhí)行結(jié)果:以下操作將在這個數(shù)據(jù)庫的基礎上進行12.1 數(shù)據(jù)定義   對于下述三個關(guān)系: S(SNO,SNAME,SAGE,SDEPT), C( CNO,CNAME,TEACHER),SC(SNO,CNO,GRADE)2.1.1 創(chuàng)建對應的三個基本關(guān)系a) 創(chuàng)建學生表S(SNO,SNAME,SAGE,SDEPT),由以下屬性構(gòu)成:學號SNO(CHAR型,長度為5,主碼,非空唯一),姓名SNAME(CHAR型,長度為20,非空

3、),年齡SAGE(INT型),所在專業(yè)SDEPT(CHAR型,長度為20)。語句:CREATE TABLE S(SNO CHAR(5) PRIMARY KEY,SNAME CHAR(20) NOT NULL UNIQUE,SAGE INT,SDEPT CHAR(20);執(zhí)行結(jié)果:b) 創(chuàng)建課程表C( CNO,CNAME,TEACHER),由以下屬性組成:課程號CNO(CHAR型,長度為4,主碼),課程名CNAME(CHAR 型,長度為20,非空唯一),授課教師TEACHER(CHAR 型,長度為20,非空)。語句:create table C(cno char(4) primary key,c

4、name char(20) not null unique,teacher char(20) not null)執(zhí)行結(jié)果:c) 創(chuàng)建學生選課表SC(SNO,CNO,GRADE),由以下屬性組成:學號SNO,課程號CNO,成績GRADE,GRADE(INT型),(SNO,CNO)為主碼。語句:create table SC( Sno char(9), Cno char(4), Grade int, primary key (Sno,Cno),);執(zhí)行結(jié)果: 此時在對象資源管理器中可以看見建立的三個表C,S,SC2.1.2 修改及刪除基本表; 修改:未被修改過的S表:1) 在S 表中加入屬性:性別

5、SEX,CHAR 型,長度為2。ALTER TABLE S ADD Sex CHAR(2); 修改之后的基本表,可以看到“性別”屬性已經(jīng)被加入其中:2) 將S 表中的屬性Sage 改為SMALLINT 型。 ALTER TABLE S ALTER COLUMN SAGE SMALLINT;刪除:在所有操作之后刪除S 表。 DROP TABLE S;刪除后企業(yè)管理器中無法找到表S同理,刪除表C,SC的操作如上所述,語句如下:DROP TABLE C; DROP TABLE SC;2.1.3 索引的創(chuàng)建和刪除; 創(chuàng)建:1) 在S 表上建立按姓名升序的唯一索引indexS。create unique

6、 index indexS on S(sname asc)2) 在C 表上建立按課程號升序的唯一索引indexC。create unique index indexC on C(cno asc);3) 在SC表上建立按學號升序的唯一索引indexSC。create unique index indexSC on SC(sno asc);刪除:1) 刪除S 表上的索引indexS。drop index S.indexS;2) 刪除C 表上的索引indexC。drop index c.indexC;3) 刪除在SC表上的索引indexSC。drop index SC.indexSC;2.1.4 視

7、圖的創(chuàng)建和刪除。創(chuàng)建:為信通院的同學建立一個視圖S_IE語句:create view S_IE asselect *from Swhere S.SDEPT='信息與通信工程'with check option刪除:drop view S_IE 2.2 數(shù)據(jù)操作:(注:此處按照實際操作的先后順序,先進行更新操作后進行查詢操作)2.2.1 完成各類更新操作:插入數(shù)據(jù)-插入S數(shù)據(jù)insert into s values('091','小明',20,'信息與通信工程學院','男')insert into s values(

8、'0902','小天',20,'信息與通信工程學院','男')insert into s values('0903','小會',19,'信息與通信工程學院','女')insert into s values('0904','小更',21,'信息與通信工程學院','男')insert into s values('0905','小好',22,'信息與通信工程學院

9、9;,'女')-插入C數(shù)據(jù)insert into C values('1003','微機原理','吳曉非')insert into C values('1004','數(shù)據(jù)采集','徐文波')insert into C values('1005','通信原理','林家儒')insert into C values('1001','數(shù)據(jù)結(jié)構(gòu)','別紅霞')insert into C value

10、s('1002','數(shù)據(jù)庫','魏芳')-插入SC數(shù)據(jù)insert into SC values('0902','1001',95)insert into SC values('0901','1002',98)insert into SC values('0903','1003',92)insert into SC values('0905','1004',89)insert into SC values('09

11、04','1005',94)1. 修改數(shù)據(jù)-修改數(shù)據(jù),將魏芳老師教的數(shù)據(jù)庫成績變?yōu)?00分update SC SET grade=100where cno in(select cnofrom cwhere c.teacher='魏芳')打開表:2. 刪除數(shù)據(jù)-刪除小天同學的所有選課記錄delete from SC where sno in(select snofrom Swhere sname='小天')打開表:(相比之前,缺少了學號為0902同學的選課情況)2.2.2 完成各類查詢操作:1. 一般單表查詢-顯示S、C的內(nèi)容select*

12、 from Sselect* from C滿足條件的查詢-顯示信通院所有學生select *from Swhere sdept='信息與通信工程學院'2. 分組-查詢各個學院的學生人數(shù)select sdept,count(sno)from Sgroup by sdept3. 統(tǒng)計查詢(1)-查詢所有學生中年齡大于等于歲的學生個數(shù)select count(SAGE)from Swhere SAGE>=20(2)-統(tǒng)計各科成績的最低分,最高分和平均成績select cname,min(grade),max(grade),avg(grade)from sc,cwhere o=o

13、group by cname4. 嵌套查詢(相關(guān)(2分)和不相關(guān)子查詢(2分))i. 相關(guān)子查詢成績表格:查詢各門課程取得最高成績的學生姓名及其成績語句:-嵌套查詢(相關(guān))select cno,sname,gradefrom s,sc xwhere s.sno=x.sno and x.grade in (select max(grade)from sc ywhere o=ogroup by cno)執(zhí)行結(jié)果:ii. 不相關(guān)子查詢-嵌套查詢(不相關(guān))select sname,sagefrom Swhere sno in(select sno from scwhere cno in (select

14、 cnofrom cwhere cname='數(shù)據(jù)庫')5. 集合查詢-集合查詢select *from scwhere cno='1001'unionselect *from scwhere cno='1002'如圖,使用UNION將多個查詢結(jié)果合并起來時,系統(tǒng)會自動去掉重復元組。若想保留重復元組則使用UNION ALL操作符。6. 多表連接查詢查詢不同學生的個人信息和選課情況語句:-多表連接查詢select sname,sage,sex,cnamefrom sc,s,cwhere sc.sno=s.sno and o='1002'(四) 試驗總結(jié)出現(xiàn)的問題:1、相關(guān)子查詢時,一開始運行提示出現(xiàn)錯誤,提示說x, y找不到;2、刪除基本表時,各表之

溫馨提示

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

評論

0/150

提交評論