數(shù)據(jù)庫實驗-建立表與數(shù)據(jù)完整性_第1頁
數(shù)據(jù)庫實驗-建立表與數(shù)據(jù)完整性_第2頁
數(shù)據(jù)庫實驗-建立表與數(shù)據(jù)完整性_第3頁
數(shù)據(jù)庫實驗-建立表與數(shù)據(jù)完整性_第4頁
數(shù)據(jù)庫實驗-建立表與數(shù)據(jù)完整性_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機科學與技術系 實 驗 報 告專業(yè)名稱 軟件工程 課程名稱 數(shù)據(jù)庫實驗 項目名稱 建立表和數(shù)據(jù)完整性 班 級 ( )班 學 號 姓 名 同組人員 無 實驗日期 20 年 月 日 一、實驗目的與要求:(簡述本次實驗要求達到的目的,涉及到的相關知識點,實驗的具體要求。)實驗目的:1掌握表的基本操作。1)建立表。2)修改表的結構。2索引的建立方法。3掌握數(shù)據(jù)完整性的功能,加深對數(shù)據(jù)完整性的理解。實驗要求:1)使用實驗一的技術建立名稱為“學生管理”數(shù)據(jù)庫。2)建立如圖所示的訂單管理數(shù)據(jù)庫中的5張表,同時完成數(shù)據(jù)完整性的定義(實體完整性、參照完整性和用戶定義的域完整性),各個表的具體描述如下:院系字

2、段名數(shù)據(jù)類型主關鍵字外部關鍵字參照的表取值說明編號短整數(shù)Yes名稱20個字符唯一,不允許為空值負責人10個字符辦公地點20個字符學生字段名數(shù)據(jù)類型主關鍵字外部關鍵字參照的表取值說明學號8個字符Yes院系短整數(shù)Yes院系表的編號字段姓名10個字符不允許空值性別2個字符必須取值“男”或“女”生源6個字符狀態(tài)4個字符教師字段名數(shù)據(jù)類型主關鍵字外部關鍵字參照的表取值說明教師編號8個字符Yes院系短整數(shù)Yes院系表的編號字段姓名10個字符不允許為空值性別2個字符必須取值“男”或“女”職稱6個字符取值 “教授”、“副教授”、“講師”或“助教”專業(yè)10個字符課程字段名數(shù)據(jù)類型主關鍵字外部關鍵字參照的表取值說

3、明課程編號8個字符Yes課程名稱20個字符不允許為空值責任教師8個字符Yes教師表的教師編號字段學時短整數(shù)不允許為空值課程性質10個字符取值為公共基礎、專業(yè)基礎、專業(yè)選修和任意選修選課字段名數(shù)據(jù)類型主關鍵字外部關鍵字參照的表取值說明學號8個字符YesYes學生表的學號字段課程編號8個字符YesYes課程表的課程編號字段成績短整型取值在0100之間,并且默認為空值3)修改表的結構,具體要求如下:a.為學生表增加一個“平均成績”字段,類型為短整型,默認是空值。b.為課程表的“學時”字段重新定義約束:取值為8的倍數(shù),不允許為空值。c.將院系表的“名稱”字段的類型修改為varchar(30)。d.為教

4、師表增加一個“工資”字段,類型為5位整數(shù)、2位小數(shù)的數(shù)值型。4) 分別建立如下索引a.在客戶表的客戶名稱字段上建立普通升序索引。b.在產(chǎn)品表的客戶名稱字段上建立惟一索引。c.在訂購單表的訂單號字段上建立聚集索引。d.在訂單名細表的訂單號(升序)、序號(升序)和數(shù)量(降序)三個字段上建立一個普通索引。二、實驗內(nèi)容(根據(jù)本次實驗項目的具體任務和要求,完成相關內(nèi)容,可包括:實驗目的、算法原理、實驗儀器、設備選型及連線圖、算法描述或流程圖、源代碼、實驗運行步驟、關鍵技術分析、測試數(shù)據(jù)與實驗結果、其他 )1)、建立數(shù)據(jù)庫create database 學生管理on ( name=order_dat, f

5、ilename=c:mssqldataorderdat.mdf, size=10MB, maxsize=50MB, filegrowth=5MB) log on ( name=order_log, filename=d:mssqllogorderlog.ldf, size=5MB, maxsize=25MB, filegrowth=5MB) 2)、建立表create table 院系( 編號int primary key, 名稱char(20)not null, 負責人char(10), 辦公地點char(20) , unique (名稱) create table 學生( 學號char(8)

6、 primary key, 院系int foreign key references 院系(編號), 姓名char(10) not null, 性別char(2) check(性別like 男 or 性別like 女), 生源char(6), 狀態(tài)char(4) create table 教師( 教師編號char(8) primary key, 院系smallint foreign key references 院系(編號), 姓名char(10) not null, 性別char(2) check(性別like 男 or 性別like 女), 職稱char(6) check(職稱like 教

7、授 or 職稱like 副教授 or 職稱like 講師 or 職稱like 助教), 專業(yè)char(10) create table 課程( 課程編號char(8) primary key, 課程名稱char(20) not null, 責任教師char(8) foreign key references 教師(教師編號), 學時int not null, 課程性質char(10) check( 課程性質like 公共基礎 or 課程性質like 專業(yè)基礎or 課程性質like 專業(yè)選修 or 課程性質like 任意選修) create table 選課( 學號char(8) foreign

8、 key references 學生(學號), 課程編號char(8) foreign key references 課程(課程編號), 成績int check(成績=0 and 成績=100)default null, primary key(學號, 課程編號) 3)修改表的結構,具體要求如下:a為學生表增加一個“平均成績”字段,類型為短整型,默認是空值。alter table 學生add 平均成績smallint default null b為課程表的“學時”字段重新定義約束:取值為8的倍數(shù),不允許為空值。alter table 課程add check(學時/8=0) c 將院系表的“名稱

9、”字段的類型修改為varchar(30)。alter table 院系alter column 名稱varchar(30) d為教師表增加一個“工資”字段,類型為5位整數(shù)、2位小數(shù)的數(shù)值型。alter table 教師add 工資 numeric(5,2)4) 分別建立如下索引a.在客戶表的客戶名稱字段上建立普通升序索引。createclusteredindexcname_indexoncustomer(cnameasc)b.在產(chǎn)品表的客戶名稱字段上建立惟一索引createuniqueclusteredindexcname_indexonproduct(cname)c.在訂購單表的訂單號字段上建立聚集索引。createclusteredindexdno_indexondinggou(dno)d.在訂單名細表的訂單號(升序)、序號(升序)和數(shù)量(降序)三個字段上建立一個普通索引。create clusteredindex dno_indexon dingdan(dno asc,dux asc,ds

溫馨提示

  • 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

提交評論