版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理實驗報告 實驗_一_題目_ 數(shù)據(jù)庫及基本表的建立_ 實驗_二_題目_ 查詢數(shù)據(jù)庫 _ 實驗_三_題目_創(chuàng)建和使用視圖,索引,存儲過程 實驗_四_題目_ 小型數(shù)據(jù)庫規(guī)劃設(shè)計 _ 學(xué) 院 計算機(jī)學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 班 級 級 班 學(xué) 號 姓 名 指導(dǎo)教師 (2012年 12 月) 計算機(jī) 學(xué)院 計算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號: 姓名: 協(xié)作者:_ 教師評定: 實驗題目 數(shù)據(jù)庫及基本表的建立 一、實驗?zāi)康?、掌握SQL SERVER的查詢分析器和企業(yè)管理器的使用;2、掌握創(chuàng)建數(shù)據(jù)庫和表的操作;二、實驗內(nèi)容和要求1、分別使用SQL語句、企業(yè)管理器(Enterprise Mana
2、ger)創(chuàng)建數(shù)據(jù)庫;2、使用SQL語句、企業(yè)管理器(Enterprise Manager)創(chuàng)建數(shù)據(jù)庫表;三、實驗主要儀器設(shè)備和材料1計算機(jī)及操作系統(tǒng):PC機(jī),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表(學(xué)生信息表)、course表(課程信息表)、teacher表(教師信息表)、student _course表(學(xué)生選課成績表)、teacher_course表(教
3、師上課課表)等。1、創(chuàng)建數(shù)據(jù)庫:確定數(shù)據(jù)庫名稱;數(shù)據(jù)庫用于學(xué)生管理,命名為SC確定數(shù)據(jù)庫的位置;要求:數(shù)據(jù)文件和日志文件分別存儲在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語句:CREATE DATABASE SCON(NAME=SC_DAT,FILENAME='E:SC.mdf',SIZE=30MB,FILEGROW
4、TH=20%)LOG ON(NAME=SC_LOG,FILENAME='E:SC.ldf',SIZE=2MB,FILEGROWTH=1MB)查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果截圖顯示 2、創(chuàng)建基本表利用查詢分析器,使用SQL語句方式創(chuàng)建方式將下面各表建立到教學(xué)管理數(shù)據(jù)庫中。(1) 創(chuàng)建student表字段名代碼類型約束學(xué)號s_nochar(8)主鍵姓名snamechar(8)非空性別sexchar(2) 出生日期sbirthdaySmalldatetime學(xué)生所在院系編號dnochar(6) 外鍵專業(yè)代碼spnochar(8)外鍵班級編碼class_nochar(4) (
5、2)創(chuàng)建Course表字段名代碼類型約束課程編號cnochar(10)主鍵課程名稱cnamechar(20)非空專業(yè)代碼spnochar(8)外鍵課程類型編號ctnotinyint理論學(xué)時lecturetinyint實驗學(xué)時experimenttinyint開課學(xué)期semestertinyint課程學(xué)分credittinyint(3)創(chuàng)建student _course表字段名代碼類型約束學(xué)號s_nochar(8)主鍵,與student表中s_no 外鍵關(guān)聯(lián),級聯(lián)刪除上課編號tcidsmallint主鍵學(xué)生成績score tinyint (4)創(chuàng)建teacher表 字段名代碼類型約束教師編號t_
6、nochar(8)主鍵教師姓名t_namechar(8)非空性別t_sexchar(2)出生日期t_birthdaysmalldatetime教師所在院系編號dnochar(6) 外鍵職稱tech_titlechar(10)(5)創(chuàng)建系部表(department) 字段名代碼類型約束院系編號dnochar(6)主鍵院系名稱dept_namechar(20)非空院系負(fù)責(zé)人headerchar(8) (6)創(chuàng)建專業(yè)信息表(speciality) 字段名代碼類型約束專業(yè)代碼spnochar(8)主鍵院系編號dnochar(6)外鍵,非空專業(yè)名稱spnamechar(20)非空(7)創(chuàng)建teacher
7、_course表字段名代碼類型約束上課編號tcidsmallint主鍵教師編號t_nochar(8)外鍵專業(yè)代碼spnochar(8)外鍵班級編碼class_nochar(4)課程編號cnochar(10)非空,外鍵學(xué)期semesterChar(6)學(xué)年schoolyear Char(10)(8)創(chuàng)建班級表(class) 字段名代碼類型約束專業(yè)代碼spnochar(8)主鍵,與 speciality 表中spno 外鍵關(guān)聯(lián),班級編碼class_nochar(4)主鍵,班負(fù)責(zé)人headerchar(8)3、 查看各數(shù)據(jù)表之間的關(guān)系,生成數(shù)據(jù)庫關(guān)系圖。生成數(shù)據(jù)庫關(guān)系圖截圖顯示:4、創(chuàng)建各表的實現(xiàn)代
8、碼及截圖:創(chuàng)建department 表:USE SCcreate table department(dno char(6),dept_name char(20) not null,header char(8),PRIMARY KEY (dno)創(chuàng)建speciality表:USE SCcreate table speciality(spno char(8) primary key,dno char(6) not null,spname char(20) not null,foreign key (dno) references department(dno);創(chuàng)建teacher表:USE SCc
9、reate table teacher(t_no char(8) primary key,t_name char(8) not null,t_sex char(2),t_birthday smalldatetime,dno char(6),tech_title char(10),foreign key (dno) references department(dno)創(chuàng)建course表:USE SCCREATE TABLE course(cno char(10),cname char(20) not null,spno char(8),ctno tinyint,lecture tinyint,e
10、xperiment tinyint,semester tinyint,credit tinyint,primary key (cno),foreign key (spno) references speciality(spno)創(chuàng)建teacher_course表:USE SCcreate table teacher_course(tcid smallint,t_no char(8),spno char(8),class_no char(4),cno char(10) not null,semester char(6),schoolyear char(10),primary key (tcid)
11、,foreign key (t_no) references teacher(t_no),foreign key (spno) references speciality(spno),foreign key (cno) references course(cno)創(chuàng)建student表:USE SCcreate table student(s_no char(8) primary key,sname char(8) not null,sex char(2),sbirthday smalldatetime,dno char(6),spno char(8),class_no char(4),fore
12、ign key (dno) references department(dno),foreign key (spno) references speciality(spno)創(chuàng)建student_course表:USE SCcreate table student_course(s_no char(8),tcid smallint,score tinyint,primary key (s_no,tcid),foreign key (s_no) references student(s_no)創(chuàng)建class表:USE SCcreate table class(spno char(8),class_
13、no char(4),header char(8),primary key (class_no,spno),foreign key (spno) references speciality(spno)創(chuàng)建department 表:創(chuàng)建speciality表:創(chuàng)建teacher表:創(chuàng)建course表:創(chuàng)建teacher_course表:創(chuàng)建student表:創(chuàng)建student_course表:創(chuàng)建class表:5、利用查詢分析器修改上述各表。(1)、用INSERT語句向各個表中插入數(shù)據(jù)錄入5 條記錄。錄入時注意體會外鍵約束。實現(xiàn)代碼及截圖:查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果顯向depart
14、ment表添加5條記錄USE SCinsert into department values ('01','計算機(jī)學(xué)院','張明'),('02','財能學(xué)院','李清'),('03','信息工程學(xué)院','陳東'),('04','自動化學(xué)院','劉平芳'),('05','外國語學(xué)院','李盛龍');向speciality表添加5條記錄USE SCinsert
15、into speciality values('spt001','01','計算機(jī)科學(xué)與技術(shù)'),('spt002','02','熱能與動力工程'),('spt003','03','信息工程'),('spt004','04','機(jī)械自動化'),('spt005','05','外語與外貿(mào)');向teacher表添加5條記錄USE SCinsert into t
16、eacher values('1001','陳一新','男',1985-7-23,'02','教授'),('1002','吳杰','男',1981-3-6,'04','講師'),('1003','秦麗紅','女',1987-11-6,'03','輔導(dǎo)員'),('1004','陳惠英','女',1985-5-3,
17、'05','教授'),('1005','蘇明','男',1789-8-24,'01','博士生導(dǎo)師');向course表添加5條記錄USE SCinsert into course values('cr001','數(shù)據(jù)結(jié)構(gòu)','spt001',001,72,28,1,5),('cr002','熱力學(xué)基礎(chǔ)','spt002',002,72,36,1,5),('cr003',&
18、#39;信息安全概論','spt003',003,68,28,2,4),('cr004','機(jī)械自動化','spt004',004,72,28,1,5),('cr005','外貿(mào)學(xué)','spt005',005,70,18,2,4);向teacher_course表添加5條記錄USE SCinsert into teacher_course values('01','1005','spt001','1001',
19、39;cr001','1','1'),('02','1001','spt002','2002','cr002','2','1'),('03','1003','spt003','3003','cr003','2','1'),('04','1002','spt004','4004
20、39;,'cr004','2','1'),('05','1004','spt005','5005','cr005','1','1');向student表添加5條記錄USE SC insert into student values('s01','張炎','男',1990-12-3,'01','spt001','1001'),('s02
21、','藍(lán)易空','男',1991-3-5,'02','spt002','2002'),('s03','明成旭','男',1990-5-30,'03','spt003','3003'),('s04','劉丹','女',1992-7-27,'04','spt004','4004'),('s05','
22、曾文輝','男',1991-6-13,'05','spt005','5005');向student_course表添加5條記錄USE SC insert into student_course values('s01',01,87),('s02',02,89),('s03',03,76),('s04',04,97),('s05',05,90);向class表添加5條記錄USE SC insert into class values('s
23、pt001','1001','李勇健'),('spt002','2002','黃開明'),('spt003','3003','方德城'),('spt004','4004','邱潤'),('spt005','5005','廖玲');實驗結(jié)果截圖顯示(插入數(shù)據(jù)的表格)向department表添加5條記錄向speciality表添加5條記錄向teacher表添加5條記錄向
24、course表添加5條記錄向teacher_course表添加5條記錄向student表添加5條記錄向student_course表添加5條記錄向class表添加5條記錄共8組(共8個表)(2)、用UPDATE語句更改student表中數(shù)據(jù);實現(xiàn)代碼:USE SC update student set class_no='0702' where s_no='s02'update student set class_no='0801' where s_no='s01'update student set class_no='
25、0903' where s_no='s03'update student set class_no='1005' where s_no='s05'update student set class_no='1104' where s_no='s04'student表更改前的內(nèi)容截圖顯示查詢分析student表更改后的內(nèi)容截圖顯示(3)、用DELETE語句刪除student表中數(shù)據(jù);實現(xiàn)代碼:USE SC delete from student where s_no='s05'student表更
26、改前的內(nèi)容截圖顯示查詢分析student表更改后的內(nèi)容截圖顯示五、實驗中出現(xiàn)的問題及解決方案1.創(chuàng)建表的時候字打錯了,后用update語句糾正過來。2.刪除表中數(shù)據(jù)的時候因為沒有級聯(lián)而出錯,后通過界面操作級聯(lián)了兩個表解決了該問題。3.在一次插入數(shù)據(jù)時因為沒看清楚約束條件而插入非法數(shù)據(jù)面出錯,后通過糾正數(shù)據(jù)格式而解決此問題。插入數(shù)據(jù)時一定要看好約束的條件,不然很容易出錯。六、思考題1、 說明數(shù)據(jù)庫中的表和數(shù)據(jù)文件的關(guān)系。答:表(table)為數(shù)據(jù)庫中數(shù)據(jù)存儲的基本單位,其數(shù)據(jù)按行、列存儲。每個表具有一表名和列的集合。每一列有一個列名、數(shù)據(jù)類型、寬度或精度、比例。一行是對應(yīng)單個記錄的列信息的集合。
27、數(shù)據(jù)文件存放著在數(shù)據(jù)庫中存儲的數(shù)據(jù),且一個數(shù)據(jù)庫只有一個數(shù)據(jù)文件。表作為數(shù)據(jù)庫中的數(shù)據(jù)存儲單位,存儲在數(shù)據(jù)文件中。2、 數(shù)據(jù)庫中的日志文件能否單獨修改?答:可以。把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中和把表示這個修改的日子記錄寫到日志文件中是兩個不同的操作。有可能在這兩個操作之間發(fā)生某種故障,即這兩個操作只完成了其中一個。所以,可以單獨修改數(shù)據(jù)庫中的日志文件而不一定會修改數(shù)據(jù)。 計算機(jī) 學(xué)院 計算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號: 姓名: 協(xié)作者:_ 教師評定: 實驗題目 查詢數(shù)據(jù)庫 一、實驗?zāi)康氖煜QL語句的基本使用方法,學(xué)習(xí)如何編寫SQL語句來實現(xiàn)查詢1、掌握基本的SELECT查詢及其相關(guān)子句的使用;2
28、、掌握復(fù)雜的SELECT查詢,如多表查詢、子查詢、連接查詢和嵌套查詢。二、實驗內(nèi)容和要求使用SQL查詢分析器查詢數(shù)據(jù),練習(xí)查詢語句的使用,掌握SELECT 語句的完整結(jié)構(gòu),包括簡單查詢、嵌套查詢、連接查詢等基本實現(xiàn)方法,掌握存儲查詢結(jié)果的方法,體會各種查詢的異同及相互之間的轉(zhuǎn)換,體會各種查詢的執(zhí)行過程,為簡單綜合應(yīng)用打下良好的基礎(chǔ)。三、實驗主要儀器設(shè)備和材料1計算機(jī)及操作系統(tǒng):PC機(jī),Windows 2000/xp;2數(shù)據(jù)庫管理系統(tǒng):SQL sever 2000/2003/2005;四、實驗方法、步驟及結(jié)果測試要求用SELECT完成以下查詢, 1、對實驗一建立的數(shù)據(jù)庫表進(jìn)行查詢簡單查詢:(1)
29、、查詢?nèi)繉W(xué)生的學(xué)號、姓名、性別和出身年月日。實現(xiàn)代碼及查詢結(jié)果截圖:格式如下查詢分析器執(zhí)行情況:SQL語句及執(zhí)行結(jié)果顯示USE SCselect s_no,sname,sex,sbirthdayfrom student查詢結(jié)果截圖顯示(2) 、查詢?nèi)w學(xué)生的學(xué)號、姓名和年齡use SCselect s_no,sname,'sage:',year(getdate()-Year(sbirthday)from student ;實現(xiàn)代碼及查詢結(jié)果截圖:(3)、查詢院系編號為01(計算機(jī)學(xué)院)的全部學(xué)生的學(xué)號、姓名、性別和出身年月日。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect
30、s_no,sname,sex,sbirthdayfrom student where dno='01'(4)、查詢“計算機(jī)科學(xué)與技術(shù)”專業(yè)(專業(yè)代碼為spt001)并且班級代碼為1001的學(xué)生的學(xué)號、姓名和出生日期。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect s_no,sname,sex,sbirthdayfrom student where spno='spt001' and class_no='1001'(5)、查詢在1990/12/10以后出生的計算機(jī)學(xué)院(院系編號為01)學(xué)生的學(xué)號、姓名、性別和出身年月日。實現(xiàn)代碼及查詢結(jié)果截圖:U
31、SE SCselect s_no,sname,sex,sbirthdayfrom studentwhere student.dno='01' and student.sbirthday>='1990-12-10'(6)、查詢?nèi)繉W(xué)生的學(xué)號、姓名、性別和出身日期結(jié)果按照出生日期的升序排列。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect s_no,sname,sex,sbirthdayfrom studentorder by sbirthday asc連接查詢:(1)、查詢?nèi)繉W(xué)生的學(xué)號、姓名、性別、所在院系名稱和專業(yè)名稱實現(xiàn)代碼及查詢結(jié)果截圖:USE SC
32、select student.s_no,student.sname,student.sex,department.dept_name,speciality.spname from student,department,speciality where student.dno = department.dno and student.spno=speciality.spno(2)、查詢選修了課程1(上課編號)的學(xué)生的學(xué)號、姓名、專業(yè)名稱和這門課的成績實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect student.s_no,sname,class_no,tcid,score from stude
33、nt,student_course where student.s_no = student_course.s_no and student_course.tcid='1'(3)、查詢學(xué)生不及格的情況列出不及格學(xué)生的學(xué)號、姓名和不及格的課程名稱。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect student.s_no,sname, cname,scorefrom student join student_course on (student.s_no=student_course.s_no ) join course on (student.spno=course.spno)
34、select student.s_no,sname, cnamefrom student join student_course on (student.s_no=student_course.s_no ) join course on (student.spno=course.spno)where score < 60嵌套查詢:(1)、查詢沒有選修了課程1的學(xué)生,列出學(xué)生的學(xué)號和姓名。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect student.s_no,snamefrom student where student.s_no in (select s_no from studen
35、t_course where tcid !=01 )(2)、查詢每門課都是80分以上的學(xué)生的學(xué)號與姓名。實現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect student.s_no,snamefrom student where student.s_no in (select s_no from student_course where score >80 )2、選用Northwind數(shù)據(jù)庫進(jìn)行查詢(1)、對NothWind. Products表進(jìn)行簡單查詢;在查詢分析器在窗口下用SELECT語句完成單表查詢:查詢所有Products的詳細(xì)記錄;實現(xiàn)代碼及查詢結(jié)果截圖:USE NorthW
36、ind select*from Products查詢單價(UnitPrice)小于20的Products;實現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select*from Products where UnitPrice <20查詢Products中最高單價(UnitPrice)是多少;實現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select MAX(UnitPrice)from Products (2)、在查詢分析器在窗口下用SELECT語句完成連接(嵌套)查詢: 查詢所有被訂購過得Products的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖
37、:USE NorthWind select Products.ProductID,ProductNamefrom Products where Products.ProductID in ( select ProductID from Order Details )查詢所有被CustomerID為AROUT客和訂購過的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select DISTINCT Products.ProductID,ProductNamefrom Products ,Order Details ,Orders where Or
38、ders.CustomerID='AROUT'and Order Details.OrderID =Orders.OrderID and Order Details.ProductID =Products.ProductID 查詢所有被CustomerID為AROUT客和訂購過,且單價在20 以上的ProductsID和ProductName;實現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select DISTINCT Products.ProductID,ProductNamefrom Products ,Order Details ,Orders where Orde
39、rs.CustomerID='AROUT'and Order Details.OrderID =Orders.OrderID and Order Details.ProductID =Products.ProductID andProducts.UnitPrice>20查詢Products中單價(UnitPrice)最高的Products的資料;實現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select * from Productswhere UnitPrice=(select max(UnitPrice)from Products)五、實驗中出現(xiàn)的問題及解決方案
40、答:在本次實驗中,由于只知道出生日期,但其格式是smalldatetime,且發(fā)現(xiàn)年齡不是我最初設(shè)置的值,而是系統(tǒng)自己默認(rèn)的值1905年,后來通過update語句改正過來。另外,開始不知道要怎樣計算年齡,后來通過上網(wǎng)查找解決了該問題。其他的一般的查詢、連接查詢和嵌套查詢因為知道其的代碼書寫格式,基本上沒遇到什么問題。六、思考題1、 連接查詢分哪幾類?各有什么特點?答:2、 進(jìn)行連接查詢時應(yīng)注意哪些問題?答:進(jìn)行奪標(biāo)連接查詢的時候,要指明查詢條件。要有明確的思路 計算機(jī) 學(xué)院 計算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號: 姓名: 協(xié)作者:_ 教師評定: 實驗題目 創(chuàng)建和使用視圖、索引、存儲過程 一、實驗?zāi)?/p>
41、的1、理解視圖、索引、存儲過程的定義、索引、存儲過程的優(yōu)點與、索引、存儲過程的工作原理;2、掌握在查詢分析器和企業(yè)管理器中創(chuàng)建、修改及刪除視圖、索引、存儲過程;3、掌握創(chuàng)建視圖、索引、存儲過程的SQL語句的用法;并能夠熟練利用視圖向表中插入、刪除和修改數(shù)據(jù)。4、掌握使用視圖來查詢數(shù)據(jù)。二、實驗主要儀器設(shè)備和材料1計算機(jī)及操作系統(tǒng):PC機(jī),Windows;2數(shù)據(jù)庫管理系統(tǒng):SQL Server 2000;三、實驗方法、步驟及結(jié)果測試(一)、視圖1、建立“計算機(jī)學(xué)院”的學(xué)生基本情況視圖ies_student_view,該視圖包括計算機(jī)學(xué)院所有學(xué)生的學(xué)號、姓名、性別、出身年月、專業(yè)名稱。2、執(zhí)行ie
42、s_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、刪除視圖ies_student_view。并查詢結(jié)果。記錄上述實驗過程并截圖說明。查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語句及執(zhí)行結(jié)果顯示CREATE VIEW ies_st
43、u_viewAS SELECT s_no,sname,sex,sbirthday,spnoFROM studentWHERE student.spno='spt001'查看結(jié)果:SELECT * FROM ies_stu_view查詢視圖SQL語句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語句及執(zhí)行結(jié)果顯示CREATE VIEW course1_student_viewAS SELECT student.s_no,sname,sex,sbirthday,dno,spno,tcidFROM student,student_courseWHERE student_cours
44、e.tcid='1' AND student.s_no=student_course.s_no查看結(jié)果:SELECT * FROM course1_student_view建立統(tǒng)計不及格情況的視圖USE SCGOCREATE VIEW fail_student_viewAS SELECT student.s_no,sname,tcidFROM student,student_courseWHERE student.s_no=student_course.s_no AND student_course.score<60查看結(jié)果:SELECT * FROM fail_stud
45、ent_view查詢視圖SQL語句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:修改視圖的SQL語句及執(zhí)行結(jié)果顯示USE SCGOALTER VIEW ies_stu_viewAS SELECT s_no,sname,sex,sbirthday,spnoFROM student查看結(jié)果:SELECT * FROM ies_stu_view查詢視圖SQL語句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:刪除視圖的SQL語句及執(zhí)行結(jié)果顯示USE SCGODROP VIEW ies_stu_view查詢視圖SQL語句及執(zhí)行結(jié)果截圖(二)、索引(1)、在student_course表(學(xué)生選課表)的學(xué)生學(xué)號(sno)列上創(chuàng)建
46、索引sc_sno_index(2)通過SQL語句查看運行結(jié)果查詢分析器執(zhí)行情況:創(chuàng)建索引的SQL語句及執(zhí)行結(jié)果顯示USE SCGOCREATE UNIQUE INDEX sc_sno_indexON student_course(s_no);查詢視圖SQL語句及執(zhí)行結(jié)果截圖(三)、存儲過程題目(1)創(chuàng)建存儲過程list_student_department,該存儲過程接收學(xué)院代碼作為輸入?yún)?shù),列出數(shù)據(jù)庫SC中某個院系學(xué)生的全部信息。實驗過程:(1) 啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2) 在編輯窗口輸入SQL語句(3) 按F5執(zhí)行該語句查詢分析器執(zhí)行情況:SQL語句示例:Create pr
47、oc list-.USE SCGOCREATE Procedure list_student_departmentdno char(6)ASSELECT s_no,sname,sex,sbirthday,spno,class_no,student.dnoFROM student,department WHERE department.dno=dno AND student.dno=department.dno執(zhí)行結(jié)果截圖顯示示例:EXEC list-題目(2)使用SQL語句執(zhí)行存儲過程list_student_department 實驗過程:(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編
48、輯窗口輸入SQL語句(3)按F5執(zhí)行該語句查詢分析器執(zhí)行情況:SQL語句示例:EXEC list_student_department department=51000USE SCEXEC list_student_department '01'執(zhí)行結(jié)果截圖顯示題目(3)將某班選修某門課程的所有學(xué)生的學(xué)號和上課編號插入到student_course表中:(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編輯窗口輸入SQL語句(3)按F5執(zhí)行該語句 查詢分析器執(zhí)行情況:SQL語句USE SCGOCREATE PROCEDURE apdclass(dno char(6), spno
49、 char(8),class_no char(4),tcid integer)ASINSERT INTO student_course(tcid,s_no)SELECT tcid,s_noFROM studentWHERE dno=dno AND spno=spno AND class_no=class_no AND s_no not IN(SELECT s_no FROM student_course WHERE tcid=tcid)執(zhí)行結(jié)果截圖顯示題目(4)使用SQL語句執(zhí)行存儲過程:(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編輯窗口輸入SQL語句(3)按F5執(zhí)行該語句查詢分析器執(zhí)
50、行情況:SQL語句UES SCGOEXEC apdclass '01','spt001','1001','1'執(zhí)行結(jié)果截圖顯示題目(5)使用SQL語句查看存儲過程代碼:(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編輯窗口輸入SQL語句(3)按F5執(zhí)行該語句查詢分析器執(zhí)行情況:SQL語句USE SCGOEXEC sp_helptext list_student_department執(zhí)行結(jié)果截圖顯示題目(6)使用SQL語句修改存儲過程修改存儲過程list_student_department,使其返回值只包括student表的部
51、分列(學(xué)生學(xué)號、姓名、出生年月、學(xué)院名稱和專業(yè)名稱)(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編輯窗口輸入SQL語句(3)按F5執(zhí)行該語句查詢分析器執(zhí)行情況:SQL語句USE SCGOALTER Procedure list_student_departmentdno char(6)ASSELECT s_no,sname,sbirthday,dept_name,spnameFROM student,department,specialityWHERE department.dno=dno AND student.dno=department.dnoAND department.dno=
52、speciality.dno執(zhí)行結(jié)果截圖顯示題目(7)使用SQL語句刪除存儲過程實驗過程:(1)啟動查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(2)在編輯窗口輸入SQL語句 (3)按F5執(zhí)行該語句查詢分析器執(zhí)行情況:SQL語句USE SCGODROP PROC list_student_department執(zhí)行結(jié)果截圖顯示實驗方法:(1)、視圖(使用企業(yè)管理器)1、 啟動企業(yè)管理器,選擇要創(chuàng)建視圖的數(shù)據(jù)庫SC并展開;2、 執(zhí)行“工具”/“向?qū)А泵睿?、 選擇數(shù)據(jù)庫SC;4、 選擇數(shù)據(jù)庫SC,選擇表student、department。5、 選擇student表中的sno snamesex sbirth
53、day字段和speciality表中的spname字段;6、 在“定義限制”對話框中輸入WHERE子句來限制視圖的信息;7、 命名視圖:ies_sc_view8、 使用視圖ies_sc_view。在查詢分析器中運用SQL語句查詢視圖。(2)、索引(使用企業(yè)管理器)1、啟動企業(yè)管理器,選擇要創(chuàng)建索引的數(shù)據(jù)庫SC并展開;2、執(zhí)行“工具”/“向?qū)А泵睿?、展開“數(shù)據(jù)庫”文件夾,雙擊“創(chuàng)建索引向?qū)А?、選擇希望為其建立索引的數(shù)據(jù)庫和對象(如數(shù)據(jù)庫SC中的student表)5、查看有關(guān)當(dāng)前索引的信息。選擇一個或多個將被包含在索引中的列6、指定索引選項。四、實驗中出現(xiàn)的問題及解決方案最初并不很清楚要如何
54、來寫帶有輸入?yún)?shù)的存儲過程以及如何通過輸入?yún)?shù)來顯示表里對應(yīng)的內(nèi)容,后來通過上網(wǎng)查找一些資料和看一些例子之后問題就自然而然的解決了五、思考題1、視圖更新的優(yōu)點答:視圖的作用:1. 視圖能夠簡化用戶的操作;2. 視圖使用戶能以多種角度看待同一數(shù)據(jù);3. 視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性;4. 視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù);5. 適當(dāng)?shù)睦靡晥D可以更清晰地表達(dá)查詢。2、哪些視圖是可以更新的?哪些視圖是不可以更新的?針對實驗舉例說明。答:一般的,行列子集視圖時可更新的,除行列子集視圖外,理論上有些視圖也是可以更新的。還有其他的視圖從理論上就是不可更新的,比如,視圖的屬性來自聚集函數(shù)、表達(dá)式,則該視圖肯定是不可更新的。在上述實驗中 ies_stu_view視圖是可以更新的,其視圖更新既是對student表的更新。而視圖course1_student_view和fail_student_view都是由兩個基本表組成的,因此視圖不能更新。 計算機(jī) 學(xué)院 計算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號: 姓名: 協(xié)作者:_ 教師評定: 實驗題目 小型數(shù)據(jù)庫規(guī)劃設(shè)計 一、 實驗?zāi)康膶W(xué)習(xí)數(shù)據(jù)庫原理及應(yīng)用目的就是能創(chuàng)建和管理一個真實的數(shù)據(jù)庫,通過規(guī)劃設(shè)計一個小型數(shù)據(jù)庫系統(tǒng)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國大學(xué)生廣告藝術(shù)大賽作品欣賞
- 《設(shè)立糧食倉庫的戰(zhàn)》課件
- 山東省濟(jì)寧市鄒城市2025屆高三第五次模擬考試語文試卷含解析
- 陜西省西安市碑林區(qū)鐵一中學(xué)2025屆高考數(shù)學(xué)三模試卷含解析
- 吉林省汪清縣六中2025屆高考數(shù)學(xué)三模試卷含解析
- 測量學(xué)基礎(chǔ)常識100個知識點
- 2025屆四川省會理縣第一中學(xué)高三沖刺模擬英語試卷含解析
- 甘肅省天水市甘谷縣第一中學(xué)2025屆高三第五次模擬考試英語試卷含解析
- 現(xiàn)代學(xué)徒制課題:中國特色學(xué)徒制實施現(xiàn)狀調(diào)查研究(附:研究思路模板、可修改技術(shù)路線圖)
- 《信使的信號通路》課件
- 2024河北省建筑安全員-A證考試題庫及答案
- 山東實驗中學(xué)2025屆高三第三次診斷考試 英語試卷(含答案)
- 2023年民航華北空管局招聘考試真題
- 自動化立體倉庫倉儲項目可行性研究報告
- 2024至2030年冬蟲夏草菌粉項目投資價值分析報告
- 2024版發(fā)電機(jī)安全性能檢測服務(wù)合同2篇
- 中小學(xué)校圖書館管理員業(yè)務(wù)培訓(xùn)
- C語言編程新思路知到智慧樹期末考試答案題庫2024年秋山東理工大學(xué)
- 拔罐療法在老年健康護(hù)理中的應(yīng)用與展望-2024年課件
- 2024-2030年中國球扁鋼行業(yè)發(fā)展規(guī)劃及投資需求分析報告
- 2024年社區(qū)工作者考試試題庫
評論
0/150
提交評論