數(shù)據(jù)結(jié)構實驗報告535435453_第1頁
數(shù)據(jù)結(jié)構實驗報告535435453_第2頁
數(shù)據(jù)結(jié)構實驗報告535435453_第3頁
數(shù)據(jù)結(jié)構實驗報告535435453_第4頁
數(shù)據(jù)結(jié)構實驗報告535435453_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7/7數(shù)據(jù)結(jié)構實驗報告535435453合肥師范學院實驗報告冊

2013/2014學年第2學期

系別計算機科學與技術系

實驗課程數(shù)據(jù)庫原理

專業(yè)計算機軟件

班級軟件一班

姓名夏雷

學號95

指導教師潘潔珠

實驗一——數(shù)據(jù)庫基本操作

一、實驗目的

1.熟悉MSSQLSERVER運行界面,掌握服務器的基本操作。

2.掌握界面操作方法完成用戶數(shù)據(jù)庫建立、備份和還原。

3.建立兩個實驗用的數(shù)據(jù)庫,使用企業(yè)管理器和查詢分析器對數(shù)據(jù)庫和表進行

基本操作。

二、實驗預習內(nèi)容

在認真閱讀教材及實驗指導書的基礎上,上機前請預習以下內(nèi)容,并在空白處填寫相應的步驟或命令。

1.熟悉SQLSERVER2000的運行環(huán)境,練習服務器基本操作:打開、停止、關

閉。

2.使用SQLSERVER2000中的企業(yè)管理器完成以下任務。

數(shù)據(jù)庫名稱:STC

表:STU(snochar(9),snamevarchar(50),ssexchar(2),sageint,sdeptchar(2));

COUTSES(cnochar(3),cnamevarchar(50),cpnochar(3),

creditint);

SC(snochar(9),cnochar(3),gradeint);

說明:以上為表結(jié)構,以snochar(9)為例,說明sno屬性設置為字符類型,寬度為9,int指整型數(shù)據(jù)。

1)建立數(shù)據(jù)庫STC,分別建立以上三張表,并完成數(shù)據(jù)錄入。(表結(jié)構及數(shù)據(jù)參見教材)

2)分析并建立各表的主碼,用下劃線在上面表結(jié)構中標出主碼。

3)建立各表之間的關聯(lián),請簡述操作步驟。

以下是各表的數(shù)據(jù)及各表的主碼:

表:

表;

3SC表:

建立各表的關聯(lián):

4)參考實驗指導書的【第5章數(shù)據(jù)庫的備份和還原】,使用企業(yè)管理器對數(shù)據(jù)庫STC進行備份,并嘗試在個人電腦與機房電腦上進行還原,請簡述備份、還原操作的步驟。

1.備份:

2.還原:

3.在SQLSERVER2000的查詢分析器中使用SQL語言完成以下任務。

參考實驗指導書《數(shù)據(jù)庫系統(tǒng)實驗指導教程》【實驗數(shù)據(jù)定義】,建立數(shù)據(jù)庫SCHOOL,分別建立students、teachers、courses、choices四張表,表結(jié)構見實驗指導書P236【附錄A】。

1)用SQL語言創(chuàng)建數(shù)據(jù)庫、建表。建表時為各表建立關鍵字、設置外碼,數(shù)

據(jù)暫不錄入,請寫出對應的SQL命令。

createdatabaseSCHOOL

creatTABLEstudents

(sidchar(10)primarykey,

snamechar(30)notnull,

emailchar(30),

gradeint,

);

createTABLEteachers

(tidchar(10)primarykey,

tnamechar(30)notnull,

emailchar(30),

salaryint,

);

createTABLEcourses

(cidchar(10)primarykey,

cnamechar(30)notnull,

hourint,

);

createTABLEchoices

(nointprimarykey,

sidchar(10),

tidchar(10),

cidchar(10),

scoreint,

FOREIGNKEY(sid)REFERENCESstudents(sid),

FOREIGNKEY(tid)REFERENCESteachers(tid),

FOREIGNKEY(cid)REFERENCEScourses(cid),

);

2)為students表、courses建立按主鍵増序排列的索引,請寫出相應的SQL命令。

createindexssidonstudents(sidasc)

createindexccidoncourses(cidasc)

3)刪除course上的索引,請寫出相應的SQL命令。

dropindex

4)在SCHOOL數(shù)據(jù)庫中的students表中增加一個“出生日期”字段,類型為日期時間型,請寫出對應的SQL命令。

alterTABLEstudentsADD出生日期DATETIME

5)刪除students中的“出生日期”字段,請寫出對應的SQL命令。

alterTABLEstudentsDROPCOLUMN出生日期

6)刪除SCHOOL數(shù)據(jù)庫中的students表,請寫出對應的SQL命令。

AlterTABLEchoises

dropFK_CHOICES_STUDENTS

DROPTABLEstudents

4.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫SCHOOL,實現(xiàn)內(nèi)容與實驗預習內(nèi)容3完全相同。1)創(chuàng)建數(shù)據(jù)庫、建表。建表時為各表建立關鍵字、設置外碼,數(shù)據(jù)暫不錄入

建立表,以及主碼,外碼

2)為students表、courses建立按主鍵増序排列的索引:

3)刪除course上的索引:

4)在SCHOOL數(shù)據(jù)庫中的students表中增加一個“出生日期”字段,類型為日期時間型:

5)刪除students中的“出生日期”字段:

6)刪除SCHOOL數(shù)據(jù)庫中的students表

5.使用企業(yè)管理器,將SCHOOL數(shù)據(jù)庫分離出MSSQLSERVER,請簡述步驟。

6.使用企業(yè)管理器,使用【數(shù)據(jù)庫/所有任務/附加數(shù)據(jù)庫】將SCHOOL數(shù)據(jù)庫

添加進SQLSERVER,并查看數(shù)據(jù)。

7.使用查詢分析器,刪除數(shù)據(jù)庫STC,請寫出對應的SQL命令。

dropdatabaseSTC

8.結(jié)束本次實驗

三、實驗課后訓練

1.使用企業(yè)管理器練習數(shù)據(jù)的導入導出。

1)將SCHOOL數(shù)據(jù)庫students表中的數(shù)據(jù)導出到STC數(shù)據(jù)庫對應的stu表中;

2)向STC數(shù)據(jù)庫courses表導入SCHOOL數(shù)據(jù)庫courses表中的數(shù)據(jù);

3)自行練習實驗指導書【實驗SQLSERVER數(shù)據(jù)庫的導入與導出】部分;1:從school數(shù)據(jù)庫中的students表中的數(shù)據(jù)導出到文本文件Learner中:

2:將文本文件Learner中的數(shù)據(jù)導入到school數(shù)據(jù)庫中的students表中

2.自行練習實驗指導書【實驗數(shù)據(jù)定義】部分。

四、實驗報告

1.簡述本次實驗所用到的SQL命令及其功能。

createdatabase創(chuàng)建數(shù)據(jù)庫

creatTABLE([列級完整性約束條件][,[列級完整性約束條件]]

[,])

創(chuàng)建基本表

createindexon(主屬性asc(desc))

為表建立按主鍵増序(降序)排列的索引

AlterTABLE

drop(B與A的外碼約束)

DROPTABLE

刪除數(shù)據(jù)庫中的A表

2.在MSSQLSERVER中數(shù)據(jù)庫的“分離|添加”與“備份|還原”是相同的功能

是不同的功能,“分離/添加”會使數(shù)據(jù)庫的數(shù)量改變,而“備份|還原”不會改變。

3.實驗總結(jié)(實驗過程中出現(xiàn)的問題、解決方法、結(jié)果如何或其它)

通過本次試驗,知道了基本的sql命令及其功能,同時也初步涉及到了SQL語言。在實驗過程中也遇到了一些問題,比如在一開始沒有打開服務器直接進入企業(yè)管理器,半天鏈接不上。

創(chuàng)建表后,錄入數(shù)據(jù)后找不到如何保存數(shù)據(jù),原來系統(tǒng)會自己存儲,錄入數(shù)據(jù)后直接關閉就可以了。

導入數(shù)據(jù)時,最后總是不記得選擇要導入的表,直接就導入了。

實驗二——SQL語句

一、實驗目的

1.熟悉SQL的數(shù)據(jù)查詢語言,能使用SQL進行單表查詢、連接查詢、嵌套查詢、

集合查詢和統(tǒng)計查詢,能理解空值的處理;

2.熟悉數(shù)據(jù)庫的數(shù)據(jù)更新操作,能使用SQL語句對數(shù)據(jù)庫進行數(shù)據(jù)的插入、更

新、刪除操作;

3.熟悉SQL支持的有關視圖的操作,能創(chuàng)建、查詢及取消視圖;

4.了解NULL在數(shù)據(jù)庫中的特殊含義,掌握使用SQL進行與空值相關的操作;

二、實驗預習內(nèi)容

在認真閱讀教材及實驗指導書【實驗數(shù)據(jù)查詢】、【實驗數(shù)據(jù)更新】、【實驗視圖】和【實驗空值和空集的處理】的基礎上,上機前請預習以下內(nèi)容,并在空白處填寫相應的步驟或命令。

1.使用SCHOOL數(shù)據(jù)庫,在SQLSERVER2000的查詢分析器中使用SQL語言完

成以下操作。請在空白處填寫相應的SQL命令。

1)查詢年級為2001的所有學生的名稱,按編號順序排列;

SELECTsname

fromSTUDENTS

WHEREgrade=2001

ORDERBYsidDESC

2)查詢所有課程名稱中含有data的課程編號;

SELECTCID

FROMCOURSES

WHERECNAMELIKE'%data%'

3)統(tǒng)計所有老師的平均工資

SELECTAVG(SALARY)

FROMTEACHERS

4)查詢至少選了3門課的學生編號;

SELECTsid

FROMCHOICES

GROUPBYsid

HAVINGCOUNT(sid)>2

5)查詢學號為的學生的姓名、所選課名及成績;SELECT,,

FROMSTUDENTS,COURSES,CHOICES

WHERE=6AND=AND=

6)查詢沒有學生選的課程編號;

SELECTcid

FROMCOURSES

WHERECIDNOTIN(SELECTCIDFROMCHOICES)

7)查詢既選了C++又選了Java課程的學生編號;

SELECT

FROMCHOICESASX,CHOICESASY

WHERE=(SELECTcidfromcourseswherecname='C++')AND=(SELECTcidfromcourseswherecname='JAVA'))

AND=

8)查詢選了C++但沒選Java課程的學生編號;

SELECT

FROMCHOICESASX,CHOICESASY

WHERE=(SELECTcidfromcourseswherecname='C++')AND

IN(SELECTcidfromcourseswherecname'JAVA'))AND=

9)向STUDENTS表中插入“LiMing”的個人信息(編號:8,名字:LiMing,Email,年級:1992);

INSERT

INTOSTUDENTS(sid,sname,email,grade)

VALUES('8','liMing','','1992');

10)將“LiMing”的年級改為2002;

UPDATEstudents

SETgrade=2002

WHEREsname='LiMing';

11)刪除所有選了J

溫馨提示

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

評論

0/150

提交評論