中南民族大學(xué)數(shù)據(jù)庫實驗報告.doc_第1頁
中南民族大學(xué)數(shù)據(jù)庫實驗報告.doc_第2頁
中南民族大學(xué)數(shù)據(jù)庫實驗報告.doc_第3頁
中南民族大學(xué)數(shù)據(jù)庫實驗報告.doc_第4頁
中南民族大學(xué)數(shù)據(jù)庫實驗報告.doc_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實 驗 二 數(shù)據(jù)完整性技術(shù)一、實驗?zāi)康暮鸵?熟悉SQL Server2005的開發(fā)環(huán)境;2熟悉 SQL Server Management Studio 的基本操作,進(jìn)一步理解數(shù)據(jù)庫、表、表間關(guān)系的概念。3掌握數(shù)據(jù)完整性的設(shè)置方法。二、實驗內(nèi)容1利用SQL Server Management Studio 創(chuàng)建數(shù)據(jù)庫,名稱為【TMIS】;2在【TMIS】中建立數(shù)據(jù)表,表的定義可參考【實驗指導(dǎo)書說明】中表的定義。要求定義每張表的主鍵,為屬性選擇合適的數(shù)據(jù)類型,決定是否允許為空,為【性別】屬性定義默認(rèn)值,并設(shè)置相關(guān)的約束條件。3定義表之間的關(guān)系。4分別為表錄入幾行數(shù)據(jù)記錄,同時練習(xí)數(shù)據(jù)的修改和刪除操作。三、實驗步驟1、主鍵約束1) 將Student表中的Sno定義為主鍵。CREATE TABLE Student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(8) NOT NULL, Ssex CHAR(2), Sbirth Smalldatetime, Dno CHAR(4) );2) 將Department表中的Dno定義為主鍵。CREATE TABLE Department( Dno char(4) PRIMARY KEY,Dname varchar(20) NOT NULL);3) 將Course表中的Cno定義為主鍵。CREATE TABLE Course( Cno char(8) PRIMARY KEY,Cname varchar(30) NOT NULL, Cpno char(8), Ccredit Tinyint)4) 將SC表中的Sno,Cno定義為主鍵。CREATE TABLE Course SC( Sno char(10) NOT NULL, Con char(8) NOT NULL Grade Decimal(5,2), PRIMARY KEY (Sno,Cno)5) 將Teacher表中的Tno定義為主鍵。CREATE TABLE Teacher( Tno char(7) PRIMARY KEY,Tname varchar(8) NOT NULL, Dno char(8) NOT NULL, Tbirth Smalldatetime, Ttitle varchar(10)6) 將SC表中的Sno,Cno 定義為主鍵。CREATE TABLE Course SC( Sno char(10) NOT NULL, Con char(8) NOT NULL Grade Decimal(5,2), PRIMARY KEY (Sno,Cno)2、非空約束1)將Student表中的Sno,Sname定義為非空Sno char(10) NOT NULLSname VARCHAR(8) NOT NULL2) 將Department表中的Dno,Dname定義為非空Dno char(4) NOT NULLDname varchar(20) NOT NULL3)將Course表中的Cno,Cname定義為非空Cno char(8) NOT NULLCname varchar(30) NOT NULL4) 將SC表中的Sno,Cno定義為非空Sno char(10) NOT NULLCno char(8) NOT NULL5) 將Teacher表中的Tno,Tname, Dno定義為非空Tno char(7)Tname varchar(8)Dnochar(4)6) 將Teaching表中的Tno,Cno定義為非空Tno char(7)Cno char(8)3、外鍵約束1) 定義表SC的外鍵:其中Sno是參照表Student的主鍵,Cno是參照表Course 的主鍵,并定義層疊刪除關(guān)系。2) 通過插入操作驗證外鍵約束;3) 層疊刪除相關(guān)記錄CREATE TABLE SC ( Sno CHAR(10) NOT NULL, Cno CHAR(8) NOT NULL, Grade Decimal(5,2), PRIMARY KEY(Sno,Cno), -定義主碼FOREIGN KEY(Sno) REFERENCES Student(Sno), -Sno參照表Student的主碼FOREIGN KEY(Cno) REFERENCES Course(Cno) -Cno參照表Course的主碼 );ALTER TABLE table_nameADD CONSTRAINT constraint_name FOREIGN KEY( column ,n ) REFERENCES ref_table( ref_column ,n )Drop schema SC cascade4、唯一值約束設(shè)置系表(Department)中的Dname取值唯一。DnameVARCHAR(20)UNIQUE5、CHECK約束指定列值應(yīng)該滿足的條件:設(shè)置表Student的Ssex屬性值只允許取“男”或“女”;設(shè)置表SC的Grade屬性值定義在0100 之間。Ssex CHAR(2) CHECK (Ssex IN (男,女)CHECK(Grade=0 AND Grade80;5) 統(tǒng)計各系學(xué)生人數(shù);SELECT Dno COUNT(Dno) FROM STUDENT GROUP BY Dno6)統(tǒng)計各門課程的選修人數(shù);SELECT COUNT(SC Sno) AS from sc7) 查詢選修了2門以上課程的學(xué)生學(xué)號;SELECT Sno FROM SC WHERE Sdept=CSGROUP BY Sno HAVING COUNT(*)2;8)查詢在1987年至1990年出生的學(xué)生姓名;select sname,sdept,sage from student where Sbirth between 1987 and 1990 (9)查詢姓李的學(xué)生的學(xué)號、姓名;select sname,sno from student where sname like李%(10)在課程表中查詢課程先行課號為空的課程名。Select Cpno =NULL from Course 11) 查詢選修了2門以上課程的學(xué)生的學(xué)號、平均成績和選課門數(shù),并按平均成績降序排列。Select Sno,count(Cno),avg from sc group by Sno having count(Cno)2 order by avg desc實 驗 六 數(shù)據(jù)的更新一、實驗?zāi)康暮鸵笳莆帐褂肧QL語句完成數(shù)據(jù)插入、修改和刪除操作。二、實驗內(nèi)容1使用INSERT 語句在數(shù)據(jù)庫的表中插入幾行記錄;2使用UPDATA 語句修改某個數(shù)據(jù);3使用DELETE 語句刪除某行記錄。三、實驗步驟在【對象資源管理器】中選擇【TMIS】數(shù)據(jù)庫,右擊并在快捷菜單中選擇【新建查詢】,在已建立的數(shù)據(jù)表的基礎(chǔ)之上,完成以下數(shù)據(jù)更新操作。1 向表student中插入一條記錄;INSERT INTO Student(Sno,Sname,Ssex,Sbirth,Dno) VALUES(10064145,冉玘鑫,男,1991,08);2 向 SC 表中添加一個學(xué)生的選課記錄;(注意體會數(shù)據(jù)完整性約束)INSERT INTO SC(Sno,Cno) VALUES(10064145,1);3把Student 表中1985 年后(包含1985年)出生的學(xué)生的學(xué)號、姓名存儲到一個新表StudentBAK中。INSERT INTO StudentBAK(Sno,Sname) VALUES(Select Sno,Sname from Student where Sbirth=1985;)4 從表student中刪除學(xué)號為“0420701007”的記錄。DELETE FROM Student WHERE Sno=04207010075 將“李宏”的學(xué)號改為“0420701025”UPDARTE Student SET Sno=0420701025 where Sname=李宏6 將選修了課程名為【數(shù)據(jù)庫原理】的學(xué)生成績加1分。UPDATE SC SET GRADE=GRADE+1 WH

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論