




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.PAGE .數(shù)據(jù)庫系統(tǒng)實驗報告學(xué) 院計算機學(xué)院專 業(yè) 計算機科學(xué)與技術(shù) 班 級級班學(xué) 號姓 名指導(dǎo)教師 2016 年 12 月 實驗_一_題目 數(shù)據(jù)庫及基本表的建立 實驗_二_題目查詢數(shù)據(jù)庫_實驗_三_題目創(chuàng)建和使用視圖、索引、存儲過程實驗_四_題目小型數(shù)據(jù)庫規(guī)劃設(shè)計實驗平臺:SQL Sever 2005實驗題目實驗一數(shù)據(jù)庫及基本表的建立一、實驗?zāi)康?、掌握SQL SERVER的查詢分析器和企業(yè)管理器的使用;2、掌握創(chuàng)建數(shù)據(jù)庫和表的操作;二、實驗內(nèi)容和要求1、分別使用SQL語句、企業(yè)管理器Enterprise Manager創(chuàng)建數(shù)據(jù)庫;2、使用SQL語句、企業(yè)管理器Enterprise Ma
2、nager創(chuàng)建數(shù)據(jù)庫表;三、實驗主要儀器設(shè)備和材料1計算機及操作系統(tǒng):PC機,Windows 2000/xp;2數(shù)據(jù)庫管理系統(tǒng):SQL sever 2000/2003/2005;四、實驗方法、步驟及結(jié)果測試創(chuàng)建一個教學(xué)管理數(shù)據(jù)庫SC,其描述的信息有:學(xué)生信息、課程信息、教師信息、學(xué)生選課成績、授課信息、班級信息、系部信息、專業(yè)信息。創(chuàng)建:student表、course表課程信息表、teacher表教師信息表、student _course表學(xué)生選課成績表、teacher_course表教師上課課表等。1、創(chuàng)建數(shù)據(jù)庫:確定數(shù)據(jù)庫名稱;數(shù)據(jù)庫用于學(xué)生管理,命名為SC確定數(shù)據(jù)庫的位置;要求:數(shù)據(jù)文件
3、和日志文件分別存儲在E盤自己的目錄下。確定數(shù)據(jù)庫的大小;根據(jù)實際的數(shù)據(jù)量確定數(shù)據(jù)文件的初始大小為30MB,日志文件的初始大小為3MB。確定數(shù)據(jù)庫的增長;根據(jù)實際情況,確定數(shù)據(jù)文件按20%增長,日志文件按1MB增長。1、利用查詢分析器Query Analyzer,使用SQL語句指定參數(shù)創(chuàng)建數(shù)據(jù)庫;實現(xiàn)代碼及截圖:SQL語句CREATEDATABASE SC_3114006159ONPRIMARYLOGON查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果截圖顯示2、創(chuàng)建基本表利用查詢分析器,使用SQL語句方式創(chuàng)建方式將下面各表建立到教學(xué)管理數(shù)據(jù)庫中。創(chuàng)建student表字段名代碼類型約束學(xué)號s_nocha
4、r主鍵姓名snamechar非空性別sexchar出生日期sbirthdaySmalldatetime學(xué)生所在院系編號dnochar 外鍵專業(yè)代碼spnochar外鍵班級編碼class_nochar創(chuàng)建Course表字段名代碼類型約束課程編號cnochar主鍵課程名稱cnamechar非空專業(yè)代碼spnochar外鍵課程類型編號ctnotinyint理論學(xué)時lecturetinyint實驗學(xué)時experimenttinyint開課學(xué)期semestertinyint課程學(xué)分credittinyint3創(chuàng)建student _course表字段名代碼類型約束學(xué)號s_nochar主鍵,與student
5、表中s_no 外鍵關(guān)聯(lián),級聯(lián)刪除上課編號tcidsmallint主鍵學(xué)生成績score tinyint 創(chuàng)建teacher表字段名代碼類型約束教師編號t_nochar主鍵教師姓名t_namechar非空性別t_sexchar出生日期t_birthdaysmalldatetime教師所在院系編號dnochar 外鍵職稱tech_titlechar創(chuàng)建系部表字段名代碼類型約束院系編號dnochar主鍵院系名稱dept_namechar非空院系負責(zé)人headerchar 創(chuàng)建專業(yè)信息表字段名代碼類型約束專業(yè)代碼spnochar主鍵院系編號dnochar外鍵,非空專業(yè)名稱spnamechar非空創(chuàng)建t
6、eacher_course表字段名代碼類型約束上課編號tcidsmallint主鍵教師編號t_nochar外鍵專業(yè)代碼spnochar外鍵班級編碼class_nochar課程編號cnochar非空,外鍵學(xué)期semesterChar學(xué)年schoolyearChar創(chuàng)建班級表字段名代碼類型約束專業(yè)代碼spnochar主鍵,與speciality 表中spno 外鍵關(guān)聯(lián),班級編碼class_nochar主鍵,班負責(zé)人headerchar查看各數(shù)據(jù)表之間的關(guān)系,生成數(shù)據(jù)庫關(guān)系圖。生成數(shù)據(jù)庫關(guān)系圖截圖顯示4、創(chuàng)建各表的實現(xiàn)代碼及截圖:SQL語句USE SC_3114006159GOCREATETABLE
7、 student_3114006159s_no charPRIMARYKEY, sname charNOTNULL, sex char, sbirthday smalldatetime, dno char, spno char, class_no char;CREATETABLE course_3114006159cno charPRIMARYKEY, cname charNOTNULL, spno char, ctno tinyint, lecture tinyint, experiment tinyint, semester tinyint, credit tinyint;CREATETA
8、BLE student_course_3114006159s_no char, tcid smallint, score tinyint,PRIMARYKEY;CREATETABLE teacher_3114006159t_no charPRIMARYKEY, t_name charNOTNULL, t_sex char, t_birthday smalldatetime, dno char, tech_title char;CREATETABLE deparment_3114006159dno charPRIMARYKEY, dept_name charNOTNULL, header cha
9、r;CREATETABLE speciality_3114006159spno charPRIMARYKEY, dno charNOTNULL, spname charNOTNULL;CREATETABLE teacher_course_3114006159tcid smallintPRIMARYKEY, t_no char, spno char, class_no char, cno charNOTNULL, semester char, schoolyear char;CREATETABLE class_3114006159spno char, class_no char, header
10、char,PRIMARYKEY;ALTERTABLE student_3114006159 ADDFOREIGNKEYREFERENCES deparment_3114006159;ALTERTABLE student_3114006159 ADDFOREIGNKEYREFERENCES speciality_3114006159;ALTERTABLE course_3114006159 ADDFOREIGNKEYREFERENCES speciality_3114006159;ALTERTABLE student_course_3114006159 ADDFOREIGNKEYREFERENC
11、ES student_3114006159;ALTERTABLE teacher_3114006159 ADDFOREIGNKEYREFERENCES deparment_3114006159;ALTERTABLE speciality_3114006159ADDFOREIGNKEYREFERENCES deparment_3114006159 ;ALTERTABLE teacher_course_3114006159 ADDFOREIGNKEYREFERENCES teacher_3114006159;ALTERTABLE teacher_course_3114006159 ADDFOREI
12、GNKEYREFERENCES speciality_3114006159;ALTERTABLE teacher_course_3114006159 ADDFOREIGNKEYREFERENCES course_3114006159;ALTERTABLE class_3114006159 ADDFOREIGNKEYREFERENCES speciality_3114006159;查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果截圖顯示5、利用查詢分析器修改上述各表。、用INSERT語句向各個表中插入數(shù)據(jù)錄入5 條記錄。錄入時注意體會外鍵約束。實現(xiàn)代碼及截圖:查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果顯示
13、insertinto deparment_3114006159values;insertinto deparment_3114006159values;insertinto deparment_3114006159values;insertinto deparment_3114006159values;insertinto deparment_3114006159values;insertinto teacher_3114006159values;insertinto teacher_3114006159values;insertinto teacher_3114006159values;in
14、sertinto teacher_3114006159values;insertinto teacher_3114006159values;insertinto speciality_3114006159values;insertinto speciality_3114006159values;insertinto speciality_3114006159values;insertinto speciality_3114006159values;insertinto speciality_3114006159values;insertinto class_3114006159values;i
15、nsertinto class_3114006159values;insertinto class_3114006159values;insertinto class_3114006159values;insertinto class_3114006159values;insertinto course_3114006159values;insertinto course_3114006159values;insertinto course_3114006159values;insertinto course_3114006159values;insertinto course_3114006
16、159values;insertinto teacher_course_3114006159values;insertinto teacher_course_3114006159values;insertinto teacher_course_3114006159values;insertinto teacher_course_3114006159values;insertinto teacher_course_3114006159values;insertinto student_3114006159values;insertinto student_3114006159values;ins
17、ertinto student_3114006159values;insertinto student_3114006159values;insertinto student_3114006159values;insertinto student_course_3114006159values;insertinto student_course_3114006159values;insertinto student_course_3114006159values;insertinto student_course_3114006159values;insertinto student_cour
18、se_3114006159values;實驗結(jié)果截圖顯示插入數(shù)據(jù)的表格共8組共8個表、用UPDATE語句更改student表中數(shù)據(jù);實現(xiàn)代碼:use SC_3114006159update student_3114006159set sname=村上春樹where sname=莫言student表更改前的內(nèi)容截圖顯示查詢分析student表更改后的內(nèi)容截圖顯示、用DELETE語句刪除student表中數(shù)據(jù);實現(xiàn)代碼:use SC_3114006159deletefrom student_course_3114006159where s_no in;deletefrom student_3114
19、006159 where sname=郭敬明student表更改前的內(nèi)容截圖顯示查詢分析student表更改后的內(nèi)容截圖顯示五、實驗中出現(xiàn)的問題及解決方案在插入數(shù)據(jù)時沒注意外鍵約束,結(jié)果導(dǎo)致插入失敗,于是根據(jù)數(shù)據(jù)表關(guān)系圖先插入沒有外鍵約束的表,再根據(jù)外鍵約束關(guān)系按照一定順序插入表。在刪除student的元組時,因為其主鍵被student_course表外鍵所參照,所以無法刪除,于是先刪除student_course表中的元組,再刪除student中的元組。六、思考題說明數(shù)據(jù)庫中的表和數(shù)據(jù)文件的關(guān)系。答:表存儲于數(shù)據(jù)文件中,一個數(shù)據(jù)文件可以存儲多個表。數(shù)據(jù)庫中的日志文件能否單獨修改?不能,SQL
20、 Server數(shù)據(jù)庫都有l(wèi)og日志文件,log日志文件記錄用戶對數(shù)據(jù)庫修改的操作,只有數(shù)據(jù)庫發(fā)生更改時,日志文件才會發(fā)生更改,不能單獨更改。附加練習(xí)題. 將計算機專業(yè)所有學(xué)生的數(shù)據(jù)庫原理的成績增加10分代碼以及運行結(jié)果: 刪除計算機專業(yè)所有學(xué)生的數(shù)據(jù)庫原理的選修信息代碼以及運行結(jié)果: 為speciality的spname添加唯一約束代碼以及運行結(jié)果: 為student_course的score設(shè)置檢查約束代碼以及運行結(jié)果:實驗題目實驗二查詢數(shù)據(jù)庫一、實驗?zāi)康氖煜QL語句的基本使用方法,學(xué)習(xí)如何編寫SQL語句來實現(xiàn)查詢1、掌握基本的SELECT查詢及其相關(guān)子句的使用;2、掌握復(fù)雜的SELECT
21、查詢,如多表查詢、子查詢、連接查詢和嵌套查詢。二、實驗內(nèi)容和要求使用SQL查詢分析器查詢數(shù)據(jù),練習(xí)查詢語句的使用,掌握SELECT 語句的完整結(jié)構(gòu),包括簡單查詢、嵌套查詢、連接查詢等基本實現(xiàn)方法,掌握存儲查詢結(jié)果的方法,體會各種查詢的異同及相互之間的轉(zhuǎn)換,體會各種查詢的執(zhí)行過程,為簡單綜合應(yīng)用打下良好的基礎(chǔ)。三、實驗主要儀器設(shè)備和材料1計算機及操作系統(tǒng):PC機,Windows 2000/xp;2數(shù)據(jù)庫管理系統(tǒng):SQL sever 2000/2003/2005;四、實驗方法、步驟及結(jié)果測試要求用SELECT完成以下查詢, 1、對實驗一建立的數(shù)據(jù)庫表進行查詢簡單查詢:1、查詢?nèi)繉W(xué)生的學(xué)號、姓名、
22、性別和出身年月日。實現(xiàn)代碼及查詢結(jié)果截圖:格式如下查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果顯示use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159查詢結(jié)果截圖顯示2、查詢?nèi)w學(xué)生的學(xué)號、姓名和年齡實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159select s_no,sname,sex,yeargetdate-yearfrom student_31140061593、查詢院系編號為510000計算機學(xué)院的全部學(xué)生的學(xué)號、姓名、性別和出身年月日。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006
23、159select s_no,sname,sex,sbirthdayfrom student_3114006159where dno=6598014、查詢計算機科學(xué)與技術(shù)專業(yè)專業(yè)代碼為080605并且班級代碼為0201的學(xué)生的學(xué)號、姓名和出生日期。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159select s_no,sname,sbirthdayfrom student_3114006159where spno=65980110and class_no=14015、查詢在1983/01/10以后出生的計算機學(xué)院院系編號為510000學(xué)生的學(xué)號、姓名、性別和出身年月日。實現(xiàn)代碼及查詢
24、結(jié)果截圖:use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159where dno=659801and sbirthday1983-01-106、查詢?nèi)繉W(xué)生的學(xué)號、姓名、性別和出身日期結(jié)果按照出生日期的升序排列。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159orderby sbirthday連接查詢:1、查詢?nèi)繉W(xué)生的學(xué)號、姓名、性別、所在院系名稱和專業(yè)名稱實現(xiàn)代碼及查詢結(jié)果截圖:use
25、 SC_3114006159select s_no,sname,sex,dept_name,spnamefrom student_3114006159,deparment_3114006159,speciality_3114006159where student_3114006159.dno=deparment_3114006159.dno anddeparment_3114006159.dno=speciality_3114006159.dno2、查詢選修了課程1上課編號的學(xué)生的學(xué)號、姓名、專業(yè)名稱和這門課的成績實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159select stud
26、ent_3114006159.s_no,sname,spname,scorefrom student_3114006159,student_course_3114006159,speciality_3114006159where student_3114006159.s_no=student_course_3114006159.s_no and student_3114006159.spno=speciality_3114006159.spno and tcid=13、查詢學(xué)生不及格的情況列出不及格學(xué)生的學(xué)號、姓名和不及格的課程名稱。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159s
27、elect student_3114006159.s_no,sname,cnamefrom student_3114006159,student_course_3114006159,course_3114006159where student_3114006159.s_no=student_course_3114006159.s_no andstudent_course_3114006159.tcid=course_3114006159.ctno andscore60嵌套查詢:1、查詢沒有選修了課程1的學(xué)生,列出學(xué)生的學(xué)號和姓名。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159sel
28、ectdistinct student_3114006159.s_no,snamefrom student_3114006159,student_course_3114006159where student_3114006159.s_no notin2、查詢每門課都是80分以上的學(xué)生的學(xué)號與姓名。實現(xiàn)代碼及查詢結(jié)果截圖:use SC_3114006159selectdistinct student_3114006159.s_no,snamefrom student_3114006159wherenotexistsselect*from student_course_3114006159wher
29、e student_3114006159.s_no=student_course_3114006159.s_no and score2、選用Northwind數(shù)據(jù)庫進行查詢1、對NothWind. Products表進行簡單查詢;在查詢分析器在窗口下用SELECT語句以下部分查詢結(jié)果截圖由于表格過長,所以只截取了部分表格內(nèi)容,無法完整截圖整個表格。完成單表查詢:查詢所有Products的詳細記錄;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselect*from Products查詢單價UnitPrice小于20的Products;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindsel
30、ect*from Productswhere UnitPrice20查詢Products中最高單價UnitPrice是多少;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselectmaxfrom Products2、在查詢分析器在窗口下用SELECT語句完成連接嵌套查詢: 查詢所有被訂購過得Products的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselectdistinct Products.ProductID,Products.ProductNamefrom Products,Order Details where Produc
31、ts.ProductID=Order Details.ProductID查詢所有被CustomerID為AROUT客和訂購過的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselect Products.ProductID,Products.ProductNamefrom Products,Order Details,Orderswhere Products.ProductID=Order Details.ProductID and Order Details.OrderID=Orders.OrderID and CustomerID=AROU
32、T查詢所有被CustomerID為AROUT客和訂購過,且單價在20 以上的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselect Products.ProductID,Products.ProductNamefrom Products,Order Details,Orderswhere Products.ProductID=Order Details.ProductID and Order Details.OrderID=Orders.OrderID and CustomerID=AROUTand Products.UnitPrice20
33、查詢Products中單價UnitPrice最高的Products的資料;實現(xiàn)代碼及查詢結(jié)果截圖:use Northwindselect*from Productswhere UnitPrice=all;五、實驗中出現(xiàn)的問題及解決方案六、思考題連接查詢分哪幾類?各有什么特點?答:連接查詢可分為:等值連接與非等值連接:當(dāng)where子句中的連接運算符為=時,稱為等值連接,使用其它運算符為非等值連接。自然連接:在等值連接中把目標(biāo)列中重復(fù)的屬性列去掉則為自然連接。自身連接:一個表與自身連接,稱為表的自身連接。外連接:兩表連接時不存在公共屬性上值相等的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值NULL
34、,那么連接就叫外連接。多表連接:兩個表以上連接為多表連接。進行連接查詢時應(yīng)注意哪些問題?答:連接查詢時應(yīng)注意選擇正確的連接謂詞。實驗題目實驗三創(chuàng)建和使用視圖、索引、存儲過程 一、實驗?zāi)康?、理解視圖、索引、存儲過程的定義、索引、存儲過程的優(yōu)點與、索引、存儲過程的工作原理;2、掌握在查詢分析器和企業(yè)管理器中創(chuàng)建、修改及刪除視圖、索引、存儲過程;3、掌握創(chuàng)建視圖、索引、存儲過程的SQL語句的用法;并能夠熟練利用視圖向表中插入、刪除和修改數(shù)據(jù)。4、掌握使用視圖來查詢數(shù)據(jù)。二、實驗主要儀器設(shè)備和材料1計算機及操作系統(tǒng):PC機,Windows;2數(shù)據(jù)庫管理系統(tǒng):SQL Server 2005;三、實驗方
35、法、步驟及結(jié)果測試一、視圖1、建立計算機學(xué)院的學(xué)生基本情況視圖ies_student_view,該視圖包括計算機學(xué)院所有學(xué)生的學(xué)號、姓名、性別、出身年月、專業(yè)名稱。2、執(zhí)行ies_student_view視圖并觀察結(jié)果。3、建立課程1上課編號的學(xué)生名冊的視圖,該名冊包括學(xué)生的學(xué)號、姓名、專業(yè)名稱和這門課的成績;并查詢結(jié)果。4、建立統(tǒng)計不及格情況的視圖,列出不及格學(xué)生的學(xué)號、姓名和不及格的課程代碼;5、執(zhí)行視圖并觀察結(jié)果。6、修改視圖ies_student_view,使該視圖包括所有學(xué)生的學(xué)號、姓名、性別、出身年月、學(xué)院名稱、專業(yè)名稱。7、執(zhí)行ies_student_view視圖并觀察結(jié)果。8、
36、刪除視圖ies_student_view。并查詢結(jié)果。記錄上述實驗過程并截圖說明。查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語句及執(zhí)行結(jié)果顯示1查詢視圖SQL語句及執(zhí)行結(jié)果截圖2查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語句及執(zhí)行結(jié)果顯示3、4、查詢視圖SQL語句及執(zhí)行結(jié)果截圖5、查詢分析器執(zhí)行情況:修改視圖的SQL語句及執(zhí)行結(jié)果顯示6、查詢視圖SQL語句及執(zhí)行結(jié)果截圖7、查詢分析器執(zhí)行情況:刪除視圖的SQL語句及執(zhí)行結(jié)果顯示8、查詢視圖SQL語句及執(zhí)行結(jié)果截圖二、索引在student_course表學(xué)生選課表的學(xué)生學(xué)號sno列上創(chuàng)建索引sc_sno_index查詢分析器執(zhí)行情況:創(chuàng)建索引的SQL語句及執(zhí)
37、行結(jié)果顯示三、存儲過程題目1創(chuàng)建存儲過程list_student_department,該存儲過程接收學(xué)院代碼作為輸入?yún)?shù),列出數(shù)據(jù)庫sc中某個院系學(xué)生的全部信息。查詢分析器執(zhí)行情況:SQL語句CREATEPROCEDURE list_student_department_3114006159indno charASSELECT*FROM student_3114006159WHERE dno=indno執(zhí)行結(jié)果截圖顯示題目2使用SQL語句執(zhí)行存儲過程list_student_department查詢分析器執(zhí)行情況:SQL語句EXEC list_student_department_31140
38、06159 indno=659801執(zhí)行結(jié)果截圖顯示題目3編寫存儲過程將某班選修某門課程的所有學(xué)生的學(xué)號和上課編號插入到student_course表中查詢分析器執(zhí)行情況:SQL語句CREATEPROCEDURE insert_student_course_3114006159 cno char,class_no char,tcid integerASINSERTINTO student_course_3114006159SELECT tcid,s_no FROM student_3114006159,course_3114006159 WHEREcno=cno AND class_no=cl
39、ass_no AND s_no notIN執(zhí)行結(jié)果截圖顯示題目4使用SQL語句執(zhí)行3創(chuàng)建的存儲過程查詢分析器執(zhí)行情況:SQL語句EXEC insert_student_course_3114006159 cno=6598011001,class_no=1401,tcid=1執(zhí)行結(jié)果截圖顯示題目5使用SQL語句查看3創(chuàng)建的存儲過程代碼查詢分析器執(zhí)行情況:SQL語句EXECsp_helptext list_student_department_3114006159執(zhí)行結(jié)果截圖顯示題目6使用SQL語句刪除一個前面建立的存儲過程查詢分析器執(zhí)行情況:SQL語句DROPPROCEDURE insert_s
40、tudent_course_3114006159執(zhí)行結(jié)果截圖顯示四、實驗中出現(xiàn)的問題及解決方案無五、思考題1、視圖更新的優(yōu)點答:1.視圖可以簡化用戶的操作。2.視圖能使用戶能以多種角度看待同一數(shù)據(jù)。3.視圖對重構(gòu)數(shù)據(jù)提供了一定程度的邏輯獨立性。4.視圖能夠?qū)C密數(shù)據(jù)提供安全保護。5.適當(dāng)利用視圖可以更加清晰的表達查詢。2、哪些視圖是可以更新的?哪些視圖是不可以更新的?針對實驗舉例說明。答:一般的,行列子集視圖時可更新的,除行列子集視圖外,理論上有些視圖也是可以更新的,但它們的確切特征還是尚待研究的課題。還有其他的視圖從理論上就是不可更新的,比如,視圖的屬性來自聚集函數(shù)、表達式,則該視圖肯定是不
41、可更新的。在上述實驗中 ies_student_view_3114006159視圖是可以更新的,其視圖更新既是對student_3114006159表的更新。3、什么是存儲過程,什么是觸發(fā)器,兩者有什么區(qū)別?答:觸發(fā)器與存儲過程可以說是非常相似,可以說是一種變種的存儲過程,觸發(fā)器和存儲過程一樣都是SQL語句集,通常通過創(chuàng)建觸發(fā)器來強制實現(xiàn)不同表中的邏輯相關(guān)數(shù)據(jù)的引用完整性和一致性。由于用戶不能繞過觸發(fā)器,所以可以用它來強制實施復(fù)雜的業(yè)務(wù)規(guī)則,以確保數(shù)據(jù)的完整性。觸發(fā)器不同于存儲過程,觸發(fā)器主要是通過事件執(zhí)行觸發(fā)而被執(zhí)行的,而存儲過程可以通過存儲過程名稱名字而直接調(diào)用4、teacher_cour
42、se表中的class_no是否是外碼?請說明判斷的理由。答:不是外碼,因為class_no并不是其它表的主鍵,也不包含外鍵,所以它不是外碼。5、teacher_course表中的class_no應(yīng)該與class表中的class_no建立對應(yīng)關(guān)系,即第一、當(dāng)向teacher_course表中插入一條元組時,必須保證class_no是class表中的class_no;第二、當(dāng)刪除或修改class表中的class_no時,teacher_course表中的class_no也應(yīng)該隨之變化或不允許變化。請用觸發(fā)器完成上述要求。第一:第二:實驗題目實驗四小型數(shù)據(jù)庫規(guī)劃設(shè)計 實驗?zāi)康膶W(xué)習(xí)數(shù)據(jù)庫原理及應(yīng)用目的
43、就是能創(chuàng)建和管理一個真實的數(shù)據(jù)庫,通過規(guī)劃設(shè)計一個小型數(shù)據(jù)庫系統(tǒng)。讓學(xué)生掌握數(shù)據(jù)庫規(guī)劃設(shè)計的基本技術(shù),熟悉數(shù)據(jù)庫的設(shè)計的基本方法和步驟,明白數(shù)據(jù)庫設(shè)計各階段的任務(wù),加深對數(shù)據(jù)庫系統(tǒng)概念和特點的理解。實驗內(nèi)容和要求根據(jù)你熟悉的實際情況,選一個小型的數(shù)據(jù)庫應(yīng)用項目,銷售管理系統(tǒng),進行系統(tǒng)分析和數(shù)據(jù)庫設(shè)計。要求:1、規(guī)劃設(shè)計一個小型系統(tǒng)的數(shù)據(jù)庫,按照給定要求,對各設(shè)計階段進行描述,要求給出數(shù)據(jù)庫設(shè)計的E-R圖,并將E-R圖轉(zhuǎn)換成相應(yīng)的模型,編制SQL命令腳本。2、要求:數(shù)據(jù)庫結(jié)構(gòu)嚴(yán)謹、基本表及屬性合理、各種約束條件正確。3、涉及的內(nèi)容或知識點:數(shù)據(jù)庫設(shè)計的需求分析、數(shù)據(jù)模型、關(guān)系規(guī)范化理論。4、采用
44、的方法和手段:設(shè)計數(shù)據(jù)模型、進行關(guān)系規(guī)范化處理和用軟件實現(xiàn)數(shù)據(jù)庫的構(gòu)建。實驗主要儀器設(shè)備和材料1計算機及操作系統(tǒng):PC機,Windows XP;2數(shù)據(jù)庫管理系統(tǒng):SQL sever 2000/2003/2005實驗方法、步驟及結(jié)構(gòu)測試一、數(shù)據(jù)庫設(shè)計1、銷售管理系統(tǒng)數(shù)據(jù)庫包括客戶數(shù)據(jù)、商品數(shù)據(jù)和訂單數(shù)據(jù)。2、確定銷售管理系統(tǒng)中的實體及其屬性3、建立銷售管理系統(tǒng)的E-R圖4、設(shè)計銷售管理系統(tǒng)數(shù)據(jù)庫Sales5、設(shè)計customer表客戶表、supplier表供應(yīng)商表、goods表商品信息表、orader表里訂單表、creditgrade表信譽等級表和goodstype表商品類型表的結(jié)構(gòu)。6、確定以
45、上各表的關(guān)鍵字及字段數(shù)據(jù)類型。二、創(chuàng)建數(shù)據(jù)庫和表1、創(chuàng)建Sales數(shù)據(jù)庫2、創(chuàng)建customer表客戶表、supplier表供應(yīng)商表、goods表商品信息表、orader表里訂單表、creditgrade表信譽等級表和goodstype表商品類型表3、分別向以上各表輸入入數(shù)據(jù)三、設(shè)計數(shù)據(jù)完整性1、定義customer表客戶表、supplier表供應(yīng)商表、goods表商品信息表、order表里訂單表、creditgrade表信譽等級表和goodstype表商品類型表的主鍵2、定義以上各表的外鍵約束3、定義唯一性約束四、創(chuàng)建和使用視圖1、創(chuàng)建一個包含XX客戶信息的視圖customer_guangz
46、hou2、創(chuàng)建一個視圖ordersum_goods,其中的內(nèi)容是每種商品的名稱和每種商品的訂單金額的總和。五、創(chuàng)建和執(zhí)行存儲過程1、創(chuàng)建一個存儲過程proc_hub,用來查看hub商品的所有訂貨情況2、創(chuàng)建一個帶參數(shù)的存儲過程proc_gooods,參數(shù)為商品名稱,通過該存儲過程可查看任何指定商品訂單信息。五、實驗報告要求建立系統(tǒng)的E-R圖2、列出設(shè)計的數(shù)據(jù)庫表customer表:字段名代碼類型約束姓名cnamechar非空客戶編號cnochar主鍵地區(qū)cregionchar非空信譽等級cgradeint外鍵supplier表:字段名代碼類型約束供應(yīng)商名稱snamechar非空供應(yīng)商編號sno
47、char主鍵goods表:字段名代碼類型約束商品名稱gnamechar非空商品編號gnochar主鍵商品類型編號gtype_nochar外鍵供應(yīng)商編號snochar外鍵價格gpriceint大于0order表:字段名代碼類型約束訂單號order_nochar10主鍵客戶編號cnochar外鍵order_goods表:字段名代碼類型約束訂單號order_nochar主鍵,外鍵商品編號gnochar主鍵,外鍵商品數(shù)量goods_numint大于0總金額amountint等于數(shù)量乘單價creditgrade表:字段名代碼類型約束等級名稱grade_namechar非空信譽等級cgradeint主鍵g
48、oodstype表:字段名代碼類型約束商品類型名gtype_namechar非空類型編號gtype_nochar主鍵生成數(shù)據(jù)庫關(guān)系圖查詢customer_guangzhou視圖,獲得XX客戶信息。截圖顯示5、查詢ordersum_goods視圖,獲得每種商品的名稱和每種商品的訂單金額的總和。截圖顯示6、執(zhí)行存儲過程并觀察結(jié)果。截圖顯示7、代碼附錄列出所有的SQL語句,并標(biāo)注每段代碼的功能,宋體五號字,分欄打印/創(chuàng)建數(shù)據(jù)庫.CREATE DATABASE SALES_3114006159ON PRIMARYLOG ON/創(chuàng)建表USE SALES_3114006159GOcreate table
49、customercname char not null, cno char primary key, cregion char not null, cgrade int;create table suppliersname char, sno char primary keycreate table goodsgname char not null, gno char primary key, gtype_no char, sno char, gprice int ;create table orderorder_no char primary key, cno char;create tab
50、le order_goodsorder_no char, gno char, goods_num int, amount int, primary key;create table creditgradegrade_name char not null, cgrade int primary key;create table goodstypegtype_name char not null, gtype_no char primary key;ALTER TABLE customer ADD FOREIGN KEY REFERENCES creditgrade; ALTER TABLE goods ADD FOREIGN KEY REFERENCES goodstype;ALTER TABLE goods ADD FOREIGN KEY REFERENCES supplier;ALTER TABLE order ADD FOREIGN KEY REFERENCES customer;ALTER TABLE order_goods ADD FOREIGN KEY
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新員工入職產(chǎn)品手冊
- 世界地圖集各樣民族故事讀后感
- 企業(yè)風(fēng)險評估報告表
- 企業(yè)員工績效獎勵激勵制度實施協(xié)議
- 汽車銷售排行榜
- 市場營銷活動效果評估與優(yōu)化實戰(zhàn)指南
- 環(huán)衛(wèi)公司勞動合同書
- 高分子化學(xué)與材料合成考試要點解析
- 中小學(xué)生國學(xué)經(jīng)典故事解讀
- 酒店業(yè)投資經(jīng)營與股權(quán)轉(zhuǎn)讓協(xié)議
- 2025遼寧大連融金征信服務(wù)選聘8人筆試參考題庫附帶答案詳解
- 2025年浙江機電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 2024年鞍山市臺安農(nóng)業(yè)發(fā)展集團有限公司招聘考試真題
- 糖尿病合并胃輕癱護理查房
- 2025年協(xié)議離婚夫妻模板
- 福建省龍巖市2024-2025學(xué)年九年級上學(xué)期期末語文試題(解析版)
- 人教版(2024新版)七年級下冊生物3.2.1 水的利用與散失 教案
- 2025-2030年中國高爾夫產(chǎn)業(yè)規(guī)模分析及投資前景規(guī)劃研究報告
- 《中醫(yī)體重管理臨床指南》
- 科技小院在鑄牢中華民族共同體意識中的作用及路徑
- 糖尿病視網(wǎng)膜病變PPT課件
評論
0/150
提交評論