版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)_一_題目_ 數(shù)據(jù)庫(kù)及基本表的建立_ 實(shí)驗(yàn)_二_題目_ 查詢數(shù)據(jù)庫(kù) _ 實(shí)驗(yàn)_三_題目_創(chuàng)建和使用視圖,索引,存儲(chǔ)過(guò)程 實(shí)驗(yàn)_四_題目_ 小型數(shù)據(jù)庫(kù)規(guī)劃設(shè)計(jì) _ 學(xué) 院 計(jì)算機(jī)學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 級(jí) 班 學(xué) 號(hào) 姓 名 指導(dǎo)教師 (2012年 12 月) 計(jì)算機(jī) 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號(hào): 姓名: 協(xié)作者:_ 教師評(píng)定: 實(shí)驗(yàn)題目 數(shù)據(jù)庫(kù)及基本表的建立 一、實(shí)驗(yàn)?zāi)康?、掌握SQL SERVER的查詢分析器和企業(yè)管理器的使用;2、掌握創(chuàng)建數(shù)據(jù)庫(kù)和表的操作;二、實(shí)驗(yàn)內(nèi)容和要求1、分別使用SQL語(yǔ)句、企業(yè)管理器(Enterprise Mana
2、ger)創(chuàng)建數(shù)據(jù)庫(kù);2、使用SQL語(yǔ)句、企業(yè)管理器(Enterprise Manager)創(chuàng)建數(shù)據(jù)庫(kù)表;三、實(shí)驗(yàn)主要儀器設(shè)備和材料1計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows 2000/xp;2數(shù)據(jù)庫(kù)管理系統(tǒng):SQL sever 2000/2003/2005;四、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試創(chuàng)建一個(gè)教學(xué)管理數(shù)據(jù)庫(kù)SC,其描述的信息有:學(xué)生信息、課程信息、教師信息、學(xué)生選課成績(jī)、授課信息、班級(jí)信息、系部信息、專業(yè)信息。創(chuàng)建:student表(學(xué)生信息表)、course表(課程信息表)、teacher表(教師信息表)、student _course表(學(xué)生選課成績(jī)表)、teacher_course表(教
3、師上課課表)等。1、創(chuàng)建數(shù)據(jù)庫(kù):確定數(shù)據(jù)庫(kù)名稱;數(shù)據(jù)庫(kù)用于學(xué)生管理,命名為SC確定數(shù)據(jù)庫(kù)的位置;要求:數(shù)據(jù)文件和日志文件分別存儲(chǔ)在E盤自己的目錄下。確定數(shù)據(jù)庫(kù)的大??;根據(jù)實(shí)際的數(shù)據(jù)量確定數(shù)據(jù)文件的初始大小為30MB,日志文件的初始大小為3MB。確定數(shù)據(jù)庫(kù)的增長(zhǎng);根據(jù)實(shí)際情況,確定數(shù)據(jù)文件按20%增長(zhǎng),日志文件按1MB增長(zhǎng)。(1)、利用查詢分析器(Query Analyzer),使用SQL語(yǔ)句指定參數(shù)創(chuàng)建數(shù)據(jù)庫(kù);實(shí)現(xiàn)代碼及截圖:SQL語(yǔ)句: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語(yǔ)句及執(zhí)行結(jié)果截圖顯示 2、創(chuàng)建基本表利用查詢分析器,使用SQL語(yǔ)句方式創(chuàng)建方式將下面各表建立到教學(xué)管理數(shù)據(jù)庫(kù)中。(1) 創(chuàng)建student表字段名代碼類型約束學(xué)號(hào)s_nochar(8)主鍵姓名snamechar(8)非空性別sexchar(2) 出生日期sbirthdaySmalldatetime學(xué)生所在院系編號(hào)dnochar(6) 外鍵專業(yè)代碼spnochar(8)外鍵班級(jí)編碼class_nochar(4) (
5、2)創(chuàng)建Course表字段名代碼類型約束課程編號(hào)cnochar(10)主鍵課程名稱cnamechar(20)非空專業(yè)代碼spnochar(8)外鍵課程類型編號(hào)ctnotinyint理論學(xué)時(shí)lecturetinyint實(shí)驗(yàn)學(xué)時(shí)experimenttinyint開(kāi)課學(xué)期semestertinyint課程學(xué)分credittinyint(3)創(chuàng)建student _course表字段名代碼類型約束學(xué)號(hào)s_nochar(8)主鍵,與student表中s_no 外鍵關(guān)聯(lián),級(jí)聯(lián)刪除上課編號(hào)tcidsmallint主鍵學(xué)生成績(jī)score tinyint (4)創(chuàng)建teacher表 字段名代碼類型約束教師編號(hào)t_
6、nochar(8)主鍵教師姓名t_namechar(8)非空性別t_sexchar(2)出生日期t_birthdaysmalldatetime教師所在院系編號(hào)dnochar(6) 外鍵職稱tech_titlechar(10)(5)創(chuàng)建系部表(department) 字段名代碼類型約束院系編號(hào)dnochar(6)主鍵院系名稱dept_namechar(20)非空院系負(fù)責(zé)人headerchar(8) (6)創(chuàng)建專業(yè)信息表(speciality) 字段名代碼類型約束專業(yè)代碼spnochar(8)主鍵院系編號(hào)dnochar(6)外鍵,非空專業(yè)名稱spnamechar(20)非空(7)創(chuàng)建teacher
7、_course表字段名代碼類型約束上課編號(hào)tcidsmallint主鍵教師編號(hào)t_nochar(8)外鍵專業(yè)代碼spnochar(8)外鍵班級(jí)編碼class_nochar(4)課程編號(hào)cnochar(10)非空,外鍵學(xué)期semesterChar(6)學(xué)年schoolyear Char(10)(8)創(chuàng)建班級(jí)表(class) 字段名代碼類型約束專業(yè)代碼spnochar(8)主鍵,與 speciality 表中spno 外鍵關(guān)聯(lián),班級(jí)編碼class_nochar(4)主鍵,班負(fù)責(zé)人headerchar(8)3、 查看各數(shù)據(jù)表之間的關(guān)系,生成數(shù)據(jù)庫(kù)關(guān)系圖。生成數(shù)據(jù)庫(kù)關(guān)系圖截圖顯示:4、創(chuàng)建各表的實(shí)現(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語(yǔ)句向各個(gè)表中插入數(shù)據(jù)錄入5 條記錄。錄入時(shí)注意體會(huì)外鍵約束。實(shí)現(xiàn)代碼及截圖:查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯向depart
14、ment表添加5條記錄USE SCinsert into department values ('01','計(jì)算機(jī)學(xué)院','張明'),('02','財(cái)能學(xué)院','李清'),('03','信息工程學(xué)院','陳東'),('04','自動(dòng)化學(xué)院','劉平芳'),('05','外國(guó)語(yǔ)學(xué)院','李盛龍');向speciality表添加5條記錄USE SCinsert
15、into speciality values('spt001','01','計(jì)算機(jī)科學(xué)與技術(shù)'),('spt002','02','熱能與動(dòng)力工程'),('spt003','03','信息工程'),('spt004','04','機(jī)械自動(dòng)化'),('spt005','05','外語(yǔ)與外貿(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ī)械自動(dòng)化','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','黃開(kāi)明'),('spt003','3003','方德城'),('spt004','4004','邱潤(rùn)'),('spt005','5005','廖玲');實(shí)驗(yàn)結(jié)果截圖顯示(插入數(shù)據(jù)的表格)向department表添加5條記錄向speciality表添加5條記錄向teacher表添加5條記錄向
24、course表添加5條記錄向teacher_course表添加5條記錄向student表添加5條記錄向student_course表添加5條記錄向class表添加5條記錄共8組(共8個(gè)表)(2)、用UPDATE語(yǔ)句更改student表中數(shù)據(jù);實(shí)現(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語(yǔ)句刪除student表中數(shù)據(jù);實(shí)現(xiàn)代碼:USE SC delete from student where s_no='s05'student表更
26、改前的內(nèi)容截圖顯示查詢分析student表更改后的內(nèi)容截圖顯示五、實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方案1.創(chuàng)建表的時(shí)候字打錯(cuò)了,后用update語(yǔ)句糾正過(guò)來(lái)。2.刪除表中數(shù)據(jù)的時(shí)候因?yàn)闆](méi)有級(jí)聯(lián)而出錯(cuò),后通過(guò)界面操作級(jí)聯(lián)了兩個(gè)表解決了該問(wèn)題。3.在一次插入數(shù)據(jù)時(shí)因?yàn)闆](méi)看清楚約束條件而插入非法數(shù)據(jù)面出錯(cuò),后通過(guò)糾正數(shù)據(jù)格式而解決此問(wèn)題。插入數(shù)據(jù)時(shí)一定要看好約束的條件,不然很容易出錯(cuò)。六、思考題1、 說(shuō)明數(shù)據(jù)庫(kù)中的表和數(shù)據(jù)文件的關(guān)系。答:表(table)為數(shù)據(jù)庫(kù)中數(shù)據(jù)存儲(chǔ)的基本單位,其數(shù)據(jù)按行、列存儲(chǔ)。每個(gè)表具有一表名和列的集合。每一列有一個(gè)列名、數(shù)據(jù)類型、寬度或精度、比例。一行是對(duì)應(yīng)單個(gè)記錄的列信息的集合。
27、數(shù)據(jù)文件存放著在數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),且一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)數(shù)據(jù)文件。表作為數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)單位,存儲(chǔ)在數(shù)據(jù)文件中。2、 數(shù)據(jù)庫(kù)中的日志文件能否單獨(dú)修改?答:可以。把對(duì)數(shù)據(jù)的修改寫(xiě)到數(shù)據(jù)庫(kù)中和把表示這個(gè)修改的日子記錄寫(xiě)到日志文件中是兩個(gè)不同的操作。有可能在這兩個(gè)操作之間發(fā)生某種故障,即這兩個(gè)操作只完成了其中一個(gè)。所以,可以單獨(dú)修改數(shù)據(jù)庫(kù)中的日志文件而不一定會(huì)修改數(shù)據(jù)。 計(jì)算機(jī) 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號(hào): 姓名: 協(xié)作者:_ 教師評(píng)定: 實(shí)驗(yàn)題目 查詢數(shù)據(jù)庫(kù) 一、實(shí)驗(yàn)?zāi)康氖煜QL語(yǔ)句的基本使用方法,學(xué)習(xí)如何編寫(xiě)SQL語(yǔ)句來(lái)實(shí)現(xiàn)查詢1、掌握基本的SELECT查詢及其相關(guān)子句的使用;2
28、、掌握復(fù)雜的SELECT查詢,如多表查詢、子查詢、連接查詢和嵌套查詢。二、實(shí)驗(yàn)內(nèi)容和要求使用SQL查詢分析器查詢數(shù)據(jù),練習(xí)查詢語(yǔ)句的使用,掌握SELECT 語(yǔ)句的完整結(jié)構(gòu),包括簡(jiǎn)單查詢、嵌套查詢、連接查詢等基本實(shí)現(xiàn)方法,掌握存儲(chǔ)查詢結(jié)果的方法,體會(huì)各種查詢的異同及相互之間的轉(zhuǎn)換,體會(huì)各種查詢的執(zhí)行過(guò)程,為簡(jiǎn)單綜合應(yīng)用打下良好的基礎(chǔ)。三、實(shí)驗(yàn)主要儀器設(shè)備和材料1計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows 2000/xp;2數(shù)據(jù)庫(kù)管理系統(tǒng):SQL sever 2000/2003/2005;四、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試要求用SELECT完成以下查詢, 1、對(duì)實(shí)驗(yàn)一建立的數(shù)據(jù)庫(kù)表進(jìn)行查詢簡(jiǎn)單查詢:(1)
29、、查詢?nèi)繉W(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:格式如下查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示USE SCselect s_no,sname,sex,sbirthdayfrom student查詢結(jié)果截圖顯示(2) 、查詢?nèi)w學(xué)生的學(xué)號(hào)、姓名和年齡use SCselect s_no,sname,'sage:',year(getdate()-Year(sbirthday)from student ;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:(3)、查詢?cè)合稻幪?hào)為01(計(jì)算機(jī)學(xué)院)的全部學(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect
30、s_no,sname,sex,sbirthdayfrom student where dno='01'(4)、查詢“計(jì)算機(jī)科學(xué)與技術(shù)”專業(yè)(專業(yè)代碼為spt001)并且班級(jí)代碼為1001的學(xué)生的學(xué)號(hào)、姓名和出生日期。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect s_no,sname,sex,sbirthdayfrom student where spno='spt001' and class_no='1001'(5)、查詢?cè)?990/12/10以后出生的計(jì)算機(jī)學(xué)院(院系編號(hào)為01)學(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(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é)號(hào)、姓名、性別和出身日期結(jié)果按照出生日期的升序排列。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE SCselect s_no,sname,sex,sbirthdayfrom studentorder by sbirthday asc連接查詢:(1)、查詢?nèi)繉W(xué)生的學(xué)號(hào)、姓名、性別、所在院系名稱和專業(yè)名稱實(shí)現(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(上課編號(hào))的學(xué)生的學(xué)號(hào)、姓名、專業(yè)名稱和這門課的成績(jī)實(shí)現(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é)號(hào)、姓名和不及格的課程名稱。實(shí)現(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)、查詢沒(méi)有選修了課程1的學(xué)生,列出學(xué)生的學(xué)號(hào)和姓名。實(shí)現(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é)號(hào)與姓名。實(shí)現(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ù)庫(kù)進(jìn)行查詢(1)、對(duì)NothWind. Products表進(jìn)行簡(jiǎn)單查詢;在查詢分析器在窗口下用SELECT語(yǔ)句完成單表查詢:查詢所有Products的詳細(xì)記錄;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE NorthW
36、ind select*from Products查詢單價(jià)(UnitPrice)小于20的Products;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select*from Products where UnitPrice <20查詢Products中最高單價(jià)(UnitPrice)是多少;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select MAX(UnitPrice)from Products (2)、在查詢分析器在窗口下用SELECT語(yǔ)句完成連接(嵌套)查詢: 查詢所有被訂購(gòu)過(guò)得Products的ProductsID和ProductName;實(shí)現(xiàn)代碼及查詢結(jié)果截圖
37、:USE NorthWind select Products.ProductID,ProductNamefrom Products where Products.ProductID in ( select ProductID from Order Details )查詢所有被CustomerID為AROUT客和訂購(gòu)過(guò)的ProductsID和ProductName;實(shí)現(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客和訂購(gòu)過(guò),且單價(jià)在20 以上的ProductsID和ProductName;實(shí)現(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中單價(jià)(UnitPrice)最高的Products的資料;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:USE Northwind select * from Productswhere UnitPrice=(select max(UnitPrice)from Products)五、實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方案
40、答:在本次實(shí)驗(yàn)中,由于只知道出生日期,但其格式是smalldatetime,且發(fā)現(xiàn)年齡不是我最初設(shè)置的值,而是系統(tǒng)自己默認(rèn)的值1905年,后來(lái)通過(guò)update語(yǔ)句改正過(guò)來(lái)。另外,開(kāi)始不知道要怎樣計(jì)算年齡,后來(lái)通過(guò)上網(wǎng)查找解決了該問(wèn)題。其他的一般的查詢、連接查詢和嵌套查詢因?yàn)橹榔涞拇a書(shū)寫(xiě)格式,基本上沒(méi)遇到什么問(wèn)題。六、思考題1、 連接查詢分哪幾類?各有什么特點(diǎn)?答:2、 進(jìn)行連接查詢時(shí)應(yīng)注意哪些問(wèn)題?答:進(jìn)行奪標(biāo)連接查詢的時(shí)候,要指明查詢條件。要有明確的思路 計(jì)算機(jī) 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號(hào): 姓名: 協(xié)作者:_ 教師評(píng)定: 實(shí)驗(yàn)題目 創(chuàng)建和使用視圖、索引、存儲(chǔ)過(guò)程 一、實(shí)驗(yàn)?zāi)?/p>
41、的1、理解視圖、索引、存儲(chǔ)過(guò)程的定義、索引、存儲(chǔ)過(guò)程的優(yōu)點(diǎn)與、索引、存儲(chǔ)過(guò)程的工作原理;2、掌握在查詢分析器和企業(yè)管理器中創(chuàng)建、修改及刪除視圖、索引、存儲(chǔ)過(guò)程;3、掌握創(chuàng)建視圖、索引、存儲(chǔ)過(guò)程的SQL語(yǔ)句的用法;并能夠熟練利用視圖向表中插入、刪除和修改數(shù)據(jù)。4、掌握使用視圖來(lái)查詢數(shù)據(jù)。二、實(shí)驗(yàn)主要儀器設(shè)備和材料1計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows;2數(shù)據(jù)庫(kù)管理系統(tǒng):SQL Server 2000;三、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試(一)、視圖1、建立“計(jì)算機(jī)學(xué)院”的學(xué)生基本情況視圖ies_student_view,該視圖包括計(jì)算機(jī)學(xué)院所有學(xué)生的學(xué)號(hào)、姓名、性別、出身年月、專業(yè)名稱。2、執(zhí)行ie
42、s_student_view視圖并觀察結(jié)果。3、建立課程1(上課編號(hào))的學(xué)生名冊(cè)的視圖,該名冊(cè)包括學(xué)生的學(xué)號(hào)、姓名、專業(yè)名稱和這門課的成績(jī);并查詢結(jié)果。4、建立統(tǒng)計(jì)不及格情況的視圖,列出不及格學(xué)生的學(xué)號(hào)、姓名和不及格的課程代碼;5、執(zhí)行視圖并觀察結(jié)果。6、修改視圖ies_student_view,使該視圖包括所有學(xué)生的學(xué)號(hào)、姓名、性別、出身年月、學(xué)院名稱、專業(yè)名稱。7、執(zhí)行ies_student_view視圖并觀察結(jié)果。8、刪除視圖ies_student_view。并查詢結(jié)果。記錄上述實(shí)驗(yàn)過(guò)程并截圖說(shuō)明。查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語(yǔ)句及執(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語(yǔ)句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:創(chuàng)建視圖的SQL語(yǔ)句及執(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)計(jì)不及格情況的視圖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語(yǔ)句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:修改視圖的SQL語(yǔ)句及執(zhí)行結(jié)果顯示USE SCGOALTER VIEW ies_stu_viewAS SELECT s_no,sname,sex,sbirthday,spnoFROM student查看結(jié)果:SELECT * FROM ies_stu_view查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖查詢分析器執(zhí)行情況:刪除視圖的SQL語(yǔ)句及執(zhí)行結(jié)果顯示USE SCGODROP VIEW ies_stu_view查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖(二)、索引(1)、在student_course表(學(xué)生選課表)的學(xué)生學(xué)號(hào)(sno)列上創(chuàng)建
46、索引sc_sno_index(2)通過(guò)SQL語(yǔ)句查看運(yùn)行結(jié)果查詢分析器執(zhí)行情況:創(chuàng)建索引的SQL語(yǔ)句及執(zhí)行結(jié)果顯示USE SCGOCREATE UNIQUE INDEX sc_sno_indexON student_course(s_no);查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖(三)、存儲(chǔ)過(guò)程題目(1)創(chuàng)建存儲(chǔ)過(guò)程list_student_department,該存儲(chǔ)過(guò)程接收學(xué)院代碼作為輸入?yún)?shù),列出數(shù)據(jù)庫(kù)SC中某個(gè)院系學(xué)生的全部信息。實(shí)驗(yàn)過(guò)程:(1) 啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2) 在編輯窗口輸入SQL語(yǔ)句(3) 按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)行情況:SQL語(yǔ)句示例: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語(yǔ)句執(zhí)行存儲(chǔ)過(guò)程list_student_department 實(shí)驗(yàn)過(guò)程:(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編
48、輯窗口輸入SQL語(yǔ)句(3)按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)行情況:SQL語(yǔ)句示例:EXEC list_student_department department=51000USE SCEXEC list_student_department '01'執(zhí)行結(jié)果截圖顯示題目(3)將某班選修某門課程的所有學(xué)生的學(xué)號(hào)和上課編號(hào)插入到student_course表中:(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編輯窗口輸入SQL語(yǔ)句(3)按F5執(zhí)行該語(yǔ)句 查詢分析器執(zhí)行情況:SQL語(yǔ)句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語(yǔ)句執(zhí)行存儲(chǔ)過(guò)程:(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編輯窗口輸入SQL語(yǔ)句(3)按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)
50、行情況:SQL語(yǔ)句UES SCGOEXEC apdclass '01','spt001','1001','1'執(zhí)行結(jié)果截圖顯示題目(5)使用SQL語(yǔ)句查看存儲(chǔ)過(guò)程代碼:(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編輯窗口輸入SQL語(yǔ)句(3)按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)行情況:SQL語(yǔ)句USE SCGOEXEC sp_helptext list_student_department執(zhí)行結(jié)果截圖顯示題目(6)使用SQL語(yǔ)句修改存儲(chǔ)過(guò)程修改存儲(chǔ)過(guò)程list_student_department,使其返回值只包括student表的部
51、分列(學(xué)生學(xué)號(hào)、姓名、出生年月、學(xué)院名稱和專業(yè)名稱)(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編輯窗口輸入SQL語(yǔ)句(3)按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)行情況:SQL語(yǔ)句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語(yǔ)句刪除存儲(chǔ)過(guò)程實(shí)驗(yàn)過(guò)程:(1)啟動(dòng)查詢分析器,選擇SC為當(dāng)前數(shù)據(jù)庫(kù)(2)在編輯窗口輸入SQL語(yǔ)句 (3)按F5執(zhí)行該語(yǔ)句查詢分析器執(zhí)行情況:SQL語(yǔ)句USE SCGODROP PROC list_student_department執(zhí)行結(jié)果截圖顯示實(shí)驗(yàn)方法:(1)、視圖(使用企業(yè)管理器)1、 啟動(dòng)企業(yè)管理器,選擇要?jiǎng)?chuàng)建視圖的數(shù)據(jù)庫(kù)SC并展開(kāi);2、 執(zhí)行“工具”/“向?qū)А泵睿?、 選擇數(shù)據(jù)庫(kù)SC;4、 選擇數(shù)據(jù)庫(kù)SC,選擇表student、department。5、 選擇student表中的sno snamesex sbirth
53、day字段和speciality表中的spname字段;6、 在“定義限制”對(duì)話框中輸入WHERE子句來(lái)限制視圖的信息;7、 命名視圖:ies_sc_view8、 使用視圖ies_sc_view。在查詢分析器中運(yùn)用SQL語(yǔ)句查詢視圖。(2)、索引(使用企業(yè)管理器)1、啟動(dòng)企業(yè)管理器,選擇要?jiǎng)?chuàng)建索引的數(shù)據(jù)庫(kù)SC并展開(kāi);2、執(zhí)行“工具”/“向?qū)А泵睿?、展開(kāi)“數(shù)據(jù)庫(kù)”文件夾,雙擊“創(chuàng)建索引向?qū)А?、選擇希望為其建立索引的數(shù)據(jù)庫(kù)和對(duì)象(如數(shù)據(jù)庫(kù)SC中的student表)5、查看有關(guān)當(dāng)前索引的信息。選擇一個(gè)或多個(gè)將被包含在索引中的列6、指定索引選項(xiàng)。四、實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方案最初并不很清楚要如何
54、來(lái)寫(xiě)帶有輸入?yún)?shù)的存儲(chǔ)過(guò)程以及如何通過(guò)輸入?yún)?shù)來(lái)顯示表里對(duì)應(yīng)的內(nèi)容,后來(lái)通過(guò)上網(wǎng)查找一些資料和看一些例子之后問(wèn)題就自然而然的解決了五、思考題1、視圖更新的優(yōu)點(diǎn)答:視圖的作用:1. 視圖能夠簡(jiǎn)化用戶的操作;2. 視圖使用戶能以多種角度看待同一數(shù)據(jù);3. 視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性;4. 視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù);5. 適當(dāng)?shù)睦靡晥D可以更清晰地表達(dá)查詢。2、哪些視圖是可以更新的?哪些視圖是不可以更新的?針對(duì)實(shí)驗(yàn)舉例說(shuō)明。答:一般的,行列子集視圖時(shí)可更新的,除行列子集視圖外,理論上有些視圖也是可以更新的。還有其他的視圖從理論上就是不可更新的,比如,視圖的屬性來(lái)自聚集函數(shù)、表達(dá)式,則該視圖肯定是不可更新的。在上述實(shí)驗(yàn)中 ies_stu_view視圖是可以更新的,其視圖更新既是對(duì)student表的更新。而視圖course1_student_view和fail_student_view都是由兩個(gè)基本表組成的,因此視圖不能更新。 計(jì)算機(jī) 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 班 學(xué)號(hào): 姓名: 協(xié)作者:_ 教師評(píng)定: 實(shí)驗(yàn)題目 小型數(shù)據(jù)庫(kù)規(guī)劃設(shè)計(jì) 一、 實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)數(shù)據(jù)庫(kù)原理及應(yīng)用目的就是能創(chuàng)建和管理一個(gè)真實(shí)的數(shù)據(jù)庫(kù),通過(guò)規(guī)劃設(shè)計(jì)一個(gè)小型數(shù)據(jù)庫(kù)系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色交通基礎(chǔ)設(shè)施建設(shè)融資協(xié)議書(shū)
- 施工單位關(guān)于施工方案調(diào)整的工作聯(lián)系函
- 遠(yuǎn)程教育技術(shù)在小學(xué)教育中的應(yīng)用
- 高處墜落機(jī)械傷害搶救應(yīng)急預(yù)案格式
- 二手車質(zhì)押貸款合同范文
- 不履行租賃合同起訴書(shū)范本
- 臨時(shí)聘請(qǐng)合同書(shū)
- 上海市糧食買賣合同參考樣本
- 臨沂沂州醫(yī)院合同醫(yī)療服務(wù)質(zhì)量提升策略
- 中外合資經(jīng)營(yíng)項(xiàng)目投資合同范文(適用于房地產(chǎn)開(kāi)發(fā))
- 2025年常德職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 政治-湖北省湖部分名校(云學(xué)名校聯(lián)盟)2025屆高三1月聯(lián)考試題和答案
- 行政單位會(huì)計(jì)核算職責(zé)(4篇)
- 《義務(wù)教育道德與法治課程標(biāo)準(zhǔn)》解讀
- 2025年春新滬科版物理八年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 2025年國(guó)家廣播電視總局監(jiān)管中心招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)私域電商行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)、市場(chǎng)規(guī)模及發(fā)展趨勢(shì)研究報(bào)告
- 財(cái)務(wù)核算管理制度
- 2024年山東省淄博市中考英語(yǔ)試題(含答案)
- 五十鈴、豐田全球化研究
- 升降柱建設(shè)方案
評(píng)論
0/150
提交評(píng)論