數據結構實驗報告535435453_第1頁
數據結構實驗報告535435453_第2頁
數據結構實驗報告535435453_第3頁
數據結構實驗報告535435453_第4頁
數據結構實驗報告535435453_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

7/7數據結構實驗報告535435453合肥師范學院實驗報告冊

2013/2014學年第2學期

系別計算機科學與技術系

實驗課程數據庫原理

專業計算機軟件

班級軟件一班

姓名夏雷

學號95

指導教師潘潔珠

實驗一——數據庫基本操作

一、實驗目的

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

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

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

基本操作。

二、實驗預習內容

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

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

閉。

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

數據庫名稱: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);

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

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

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

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

以下是各表的數據及各表的主碼:

表:

表;

3SC表:

建立各表的關聯:

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

1.備份:

2.還原:

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

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

1)用SQL語言創建數據庫、建表。建表時為各表建立關鍵字、設置外碼,數

據暫不錄入,請寫出對應的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數據庫中的students表中增加一個“出生日期”字段,類型為日期時間型,請寫出對應的SQL命令。

alterTABLEstudentsADD出生日期DATETIME

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

alterTABLEstudentsDROPCOLUMN出生日期

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

AlterTABLEchoises

dropFK_CHOICES_STUDENTS

DROPTABLEstudents

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

建立表,以及主碼,外碼

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

3)刪除course上的索引:

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

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

6)刪除SCHOOL數據庫中的students表

5.使用企業管理器,將SCHOOL數據庫分離出MSSQLSERVER,請簡述步驟。

6.使用企業管理器,使用【數據庫/所有任務/附加數據庫】將SCHOOL數據庫

添加進SQLSERVER,并查看數據。

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

dropdatabaseSTC

8.結束本次實驗

三、實驗課后訓練

1.使用企業管理器練習數據的導入導出。

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

2)向STC數據庫courses表導入SCHOOL數據庫courses表中的數據;

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

2:將文本文件Learner中的數據導入到school數據庫中的students表中

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

四、實驗報告

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

createdatabase創建數據庫

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

[,])

創建基本表

createindexon(主屬性asc(desc))

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

AlterTABLE

drop(B與A的外碼約束)

DROPTABLE

刪除數據庫中的A表

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

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

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

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

創建表后,錄入數據后找不到如何保存數據,原來系統會自己存儲,錄入數據后直接關閉就可以了。

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

實驗二——SQL語句

一、實驗目的

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

集合查詢和統計查詢,能理解空值的處理;

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

新、刪除操作;

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

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

二、實驗預習內容

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

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

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

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

SELECTsname

fromSTUDENTS

WHEREgrade=2001

ORDERBYsidDESC

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

SELECTCID

FROMCOURSES

WHERECNAMELIKE'%data%'

3)統計所有老師的平均工資

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論