欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库系统实验报告广东工业大学.doc

    • 资源ID:2607357       资源大小:2.55MB        全文页数:39页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统实验报告广东工业大学.doc

    ,.数据库系统实验报告学 院 计算机学院 专 业 计算机科学与技术 班 级 级 班 学 号 姓 名 指导教师 ( 2016 年 12 月) 实验_一_题目 数据库及基本表的建立 实验_二_题目 查询数据库_ 实验_三_题目 创建和使用视图、索引、存储过程 实验_四 _题目 小型数据库规划设计 实验平台:SQL Sever 2005实验题目 实验一 数据库及基本表的建立 一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows 2000/xp;2数据库管理系统:SQL sever 2000/2003/2005;四、实验方法、步骤及结果测试创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。1、创建数据库:确定数据库名称;数据库用于学生管理,命名为SC确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。(1)、利用查询分析器(Query Analyzer),使用SQL语句指定参数创建数据库;实现代码及截图:SQL语句CREATE DATABASE SC_3114006159ON PRIMARY(NAME=SC_3114006159_DATA,FILENAME=E:3114006159SC_3114006159.mdf,SIZE=30,FILEGROWTH=20%)LOG ON(NAME=SC_3114006159_LOG,FILENAME=E:3114006159SC_3114006159.ldf,SIZE=3,FILEGROWTH=1)查询分析器执行情况:SQL语句及执行结果截图显示2、创建基本表利用查询分析器,使用SQL语句方式创建方式将下面各表建立到教学管理数据库中。(1) 创建student表字段名代码类型约束学号s_nochar(8)主键姓名snamechar(8)非空性别sexchar(2) 出生日期sbirthdaySmalldatetime学生所在院系编号dnochar(6) 外键专业代码spnochar(8)外键班级编码class_nochar(4) (2)创建Course表字段名代码类型约束课程编号cnochar(10)主键课程名称cnamechar(20)非空专业代码spnochar(8)外键课程类型编号ctnotinyint理论学时lecturetinyint实验学时experimenttinyint开课学期semestertinyint课程学分credittinyint(3)创建student _course表字段名代码类型约束学号s_nochar(8)主键,与student表中s_no 外键关联,级联删除上课编号tcidsmallint主键学生成绩score tinyint (4)创建teacher表 字段名代码类型约束教师编号t_nochar(8)主键教师姓名t_namechar(8)非空性别t_sexchar(2)出生日期t_birthdaysmalldatetime教师所在院系编号dnochar(6) 外键职称tech_titlechar(10)(5)创建系部表(department) 字段名代码类型约束院系编号dnochar(6)主键院系名称dept_namechar(20)非空院系负责人headerchar(8) (6)创建专业信息表(speciality) 字段名代码类型约束专业代码spnochar(8)主键院系编号dnochar(6)外键,非空专业名称spnamechar(20)非空(7)创建teacher_course表字段名代码类型约束上课编号tcidsmallint主键教师编号t_nochar(8)外键专业代码spnochar(8)外键班级编码class_nochar(4)课程编号cnochar(10)非空,外键学期semesterChar(6)学年schoolyear Char(10) (8)创建班级表(class) 字段名代码类型约束专业代码spnochar(8)主键,与 speciality 表中spno 外键关联,班级编码class_nochar(4)主键,班负责人headerchar(8)3、 查看各数据表之间的关系,生成数据库关系图。生成数据库关系图截图显示4、创建各表的实现代码及截图:SQL语句USE SC_3114006159GOCREATE TABLE student_3114006159 (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);CREATE TABLE course_3114006159 (cno char(10) PRIMARY KEY, cname char(20) NOT NULL, spno char(8), ctno tinyint, lecture tinyint, experiment tinyint, semester tinyint, credit tinyint);CREATE TABLE student_course_3114006159 (s_no char(8), tcid smallint, score tinyint, PRIMARY KEY(s_no,tcid);CREATE TABLE teacher_3114006159 (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);CREATE TABLE deparment_3114006159 (dno char(6) PRIMARY KEY, dept_name char(20)NOT NULL, header char(8);CREATE TABLE speciality_3114006159 (spno char(8) PRIMARY KEY, dno char(6) NOT NULL, spname char(20) NOT NULL);CREATE TABLE teacher_course_3114006159 (tcid smallint PRIMARY KEY, t_no char(8), spno char(8), class_no char(4), cno char(10) NOT NULL, semester char(6), schoolyear char(10);CREATE TABLE class_3114006159 (spno char(8), class_no char(4), header char(8), PRIMARY KEY(spno,class_no);ALTER TABLE student_3114006159 ADD FOREIGN KEY (dno) REFERENCES deparment_3114006159(dno);ALTER TABLE student_3114006159 ADD FOREIGN KEY (spno) REFERENCES speciality_3114006159(spno);ALTER TABLE course_3114006159 ADD FOREIGN KEY (spno) REFERENCES speciality_3114006159(spno);ALTER TABLE student_course_3114006159 ADD FOREIGN KEY (s_no) REFERENCES student_3114006159(s_no);ALTER TABLE teacher_3114006159 ADD FOREIGN KEY (dno) REFERENCES deparment_3114006159(dno);ALTER TABLE speciality_3114006159 ADD FOREIGN KEY (dno) REFERENCES deparment_3114006159 (dno);ALTER TABLE teacher_course_3114006159 ADD FOREIGN KEY (t_no) REFERENCES teacher_3114006159(t_no);ALTER TABLE teacher_course_3114006159 ADD FOREIGN KEY (spno) REFERENCES speciality_3114006159(spno);ALTER TABLE teacher_course_3114006159 ADD FOREIGN KEY (cno) REFERENCES course_3114006159(cno);ALTER TABLE class_3114006159 ADD FOREIGN KEY (spno) REFERENCES speciality_3114006159(spno);查询分析器执行情况:SQL语句及执行结果截图显示5、利用查询分析器修改上述各表。(1)、用INSERT语句向各个表中插入数据录入5 条记录。录入时注意体会外键约束。实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示insert into deparment_3114006159values(659801,计算机,周杰伦);insert into deparment_3114006159values(659802,机电,陈奕迅);insert into deparment_3114006159values(659803,外国语,章子怡);insert into deparment_3114006159values(659804,土木,梁朝伟);insert into deparment_3114006159values(659805,环境,张国荣);insert into teacher_3114006159values(65980101,刘德华,男,1975-03-25,659801,高级);insert into teacher_3114006159values(65980201,周润发,男,1964-09-24,659802,高级);insert into teacher_3114006159values(65980301,张学友,男,1956-06-15,659803,高级);insert into teacher_3114006159values(65980401,张曼玉,女,1965-04-21,659804,高级);insert into teacher_3114006159values(65980501,陈坤,男,1988-03-02,659805,高级);insert into speciality_3114006159values(65980110,659801,计算机科学与技术);insert into speciality_3114006159values(65980210,659802,自动化);insert into speciality_3114006159values(65980310,659803,商务英语);insert into speciality_3114006159values(65980410,659804,土木工程);insert into speciality_3114006159values(65980510,659805,环境工程);insert into class_3114006159values(65980110,1401,刘德华);insert into class_3114006159values(65980210,1402,周润发);insert into class_3114006159values(65980310,1403,张学友);insert into class_3114006159values(65980410,1404,张曼玉);insert into class_3114006159values(65980510,1405,陈坤);insert into course_3114006159values(6598011001,数据库,65980110,1,48,12,1,2);insert into course_3114006159values(6598021001,制图,65980210,2,56,6,2,2);insert into course_3114006159values(6598031001,口语,65980310,3,48,0,1,4);insert into course_3114006159values(6598041001,建筑学,65980410,4,48,12,1,2);insert into course_3114006159values(6598051001,基础化学,65980510,5,48,12,1,2);insert into teacher_course_3114006159values(1,65980101,65980110,1401,6598011001,一学期,第二学年);insert into teacher_course_3114006159values(2,65980201,65980210,1402,6598021001,一学期,第二学年);insert into teacher_course_3114006159values(3,65980301,65980310,1403,6598031001,一学期,第二学年);insert into teacher_course_3114006159values(4,65980401,65980410,1404,6598041001,一学期,第二学年);insert into teacher_course_3114006159values(5,65980501,65980510,1405,6598051001,一学期,第二学年);insert into student_3114006159values(31140001,王小波,男,1997-01-03,659801,65980110,1401);insert into student_3114006159values(31140002,韩寒,男,1992-03-23,659802,65980210,1402);insert into student_3114006159values(31140003,莫言,男,1997-06-15,659803,65980310,1403);insert into student_3114006159values(31140004,三毛,女,1994-05-30,659804,65980410,1404);insert into student_3114006159values(31140005,郭敬明,男,1995-12-03,659805,65980510,1405);insert into student_course_3114006159values(31140001,1,96);insert into student_course_3114006159values(31140002,3,67);insert into student_course_3114006159values(31140003,2,91);insert into student_course_3114006159values(31140004,4,89);insert into student_course_3114006159values(31140005,5,96);实验结果截图显示(插入数据的表格)共8组(共8个表)(2)、用UPDATE语句更改student表中数据;实现代码:use SC_3114006159update student_3114006159set sname=村上春树where sname=莫言student表更改前的内容截图显示查询分析student表更改后的内容截图显示(3)、用DELETE语句删除student表中数据;实现代码:use SC_3114006159delete from student_course_3114006159where s_no in(select s_nofrom student_3114006159where sname=郭敬明);deletefrom student_3114006159 where sname=郭敬明student表更改前的内容截图显示查询分析student表更改后的内容截图显示五、实验中出现的问题及解决方案在插入数据时没注意外键约束,结果导致插入失败,于是根据数据表关系图先插入没有外键约束的表,再根据外键约束关系按照一定顺序插入表。在删除student的元组时,因为其主键被student_course表外键所参照,所以无法删除,于是先删除student_course表中的元组,再删除student中的元组。六、思考题1、 说明数据库中的表和数据文件的关系。答:表存储于数据文件中,一个数据文件可以存储多个表。2、 数据库中的日志文件能否单独修改?不能,SQL Server数据库都有log日志文件,log日志文件记录用户对数据库修改的操作,只有数据库发生更改时,日志文件才会发生更改,不能单独更改。3、 附加练习题.(代码以及运行结果采用截图显示)(1) 将计算机专业所有学生的数据库原理的成绩增加10分代码以及运行结果: (2) 删除计算机专业所有学生的数据库原理的选修信息代码以及运行结果:(3) 为speciality的spname添加唯一约束代码以及运行结果:(4) 为student_course的score设置检查约束代码以及运行结果:实验题目 实验二 查询数据库 一、实验目的熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询1、掌握基本的SELECT查询及其相关子句的使用;2、掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询。二、实验内容和要求使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法,掌握存储查询结果的方法,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。三、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows 2000/xp;2数据库管理系统:SQL sever 2000/2003/2005;四、实验方法、步骤及结果测试要求用SELECT完成以下查询, 1、对实验一建立的数据库表进行查询简单查询:(1)、查询全部学生的学号、姓名、性别和出身年月日。实现代码及查询结果截图:格式如下查询分析器执行情况:SQL语句及执行结果显示use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159查询结果截图显示(2)、查询全体学生的学号、姓名和年龄实现代码及查询结果截图:use SC_3114006159select s_no,sname,sex,year(getdate()-year(sbirthday)from student_3114006159(3)、查询院系编号为510000(计算机学院)的全部学生的学号、姓名、性别和出身年月日。实现代码及查询结果截图:use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159where dno=659801(4)、查询“计算机科学与技术”专业(专业代码为080605)并且班级代码为0201的学生的学号、姓名和出生日期。实现代码及查询结果截图:use SC_3114006159select s_no,sname,sbirthdayfrom student_3114006159where spno=65980110 and class_no=1401(5)、查询在1983/01/10以后出生的计算机学院(院系编号为510000)学生的学号、姓名、性别和出身年月日。实现代码及查询结果截图:use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159where dno=659801and sbirthday>1983-01-10(6)、查询全部学生的学号、姓名、性别和出身日期结果按照出生日期的升序排列。实现代码及查询结果截图:use SC_3114006159select s_no,sname,sex,sbirthdayfrom student_3114006159order by sbirthday连接查询:(1)、查询全部学生的学号、姓名、性别、所在院系名称和专业名称实现代码及查询结果截图:use 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.dno(2)、查询选修了课程1(上课编号)的学生的学号、姓名、专业名称和这门课的成绩实现代码及查询结果截图:use SC_3114006159select student_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=1(3)、查询学生不及格的情况列出不及格学生的学号、姓名和不及格的课程名称。实现代码及查询结果截图:use SC_3114006159select student_3114006159.s_no,sname,cnamefrom student_3114006159,student_course_3114006159,course_3114006159where student_3114006159.s_no=student_course_3114006159.s_no and student_course_3114006159.tcid=course_3114006159.ctno and score<60嵌套查询:(1)、查询没有选修了课程1的学生,列出学生的学号和姓名。实现代码及查询结果截图:use SC_3114006159select distinct student_3114006159.s_no,snamefrom student_3114006159,student_course_3114006159where student_3114006159.s_no not in( select s_no from student_course_3114006159 where tcid=1)(2)、查询每门课都是80分以上的学生的学号与姓名。实现代码及查询结果截图:use SC_3114006159select distinct student_3114006159.s_no,snamefrom student_3114006159where not exists( select * from student_course_3114006159 where student_3114006159.s_no=student_course_3114006159.s_no and score<80)2、选用Northwind数据库进行查询(1)、对NothWind. Products表进行简单查询;在查询分析器在窗口下用SELECT语句以下部分查询结果截图由于表格过长,所以只截取了部分表格内容,无法完整截图整个表格。完成单表查询:查询所有Products的详细记录;实现代码及查询结果截图:use Northwindselect *from Products查询单价(UnitPrice)小于20的Products;实现代码及查询结果截图:use Northwindselect *from Productswhere UnitPrice<20查询Products中最高单价(UnitPrice)是多少;实现代码及查询结果截图:use Northwindselect max(UnitPrice)from Products(2)、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询: 查询所有被订购过得Products的ProductsID和ProductName;实现代码及查询结果截图:use Northwindselect distinct Products.ProductID,Products.ProductNamefrom Products,Order Details where Products.ProductID=Order Details.ProductID查询所有被CustomerID为AROUT客和订购过的ProductsID和ProductName;实现代码及查询结果截图:use Northwindselect Products.ProductID,Products.ProductNamefrom Products,Order Details,Orderswhere Products.ProductID=Order Details.ProductID and Order Details.OrderID=Orders.OrderID and CustomerID=AROUT查询所有被CustomerID为AROUT客和订购过,且单价在20 以上的ProductsID和ProductName;实现代码及查询结果截图:use Northwindselect Products.ProductID,Products.ProductNamefrom Products,Order Details,Orderswhere Products.ProductID=Order Details.ProductID and Order Details.OrderID=Orders.OrderID and CustomerID=AROUT and Products.UnitPrice>20查询Products中单价(UnitPrice)最高的Products的资料;实现代码及查询结果截图:use Northwindselect *from Productswhere UnitPrice>=all(select UnitPrice from Products);五、实验中出现的问题及解决方案六、思考题1、 连接查询分哪几类?各有什么特点?答:连接查询可分为:1. 等值连接与非等值连接:当where子句中的连接运算符为=时,称为等值连接,使用其它运算符为非等值连接。2. 自然连接:在等值连接中把目标列中重复的属性列去掉则为自然连接。3. 自身连接:一个表与自身连接,称为表的自身连接。4. 外连接:两表连接时不存在公共属性上值相等的元组也保存在结果关系中,而在其他属性上填空值(NULL),那么连接就叫外连接。5. 多表连接:两个表以上连接为多表连接。2、 进行连接查询时应注意哪些问题?答:连接查询时应注意选择正确的连接谓词。实验题目 实验三 创建和使用视图、索引、存储过程 一、实验目的1、理解视图、索引、存储过程的定义、索引、存储过程的优点与、索引、存储过程的工作原理;2、掌握在查询分析器和企业管理器中创建、修改及删除视图、索引、存储过程;3、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据。4、掌握使用视图来查询数据。二、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows;2数据库管理系统:SQL Server 2005;三、实验方法、步骤及结果测试(一)、视图1、建立“计算机学院”的学生基本情况视图ies_student_view,该视图包括计算机学院所有学生的学号、姓名、性别、出身年月、专业名称。2、执行ies_student_view视图并观察结果。3、建立课程1(上课编号)的学生名册的视图,该名册包括学生的学号、姓名、专业名称和这门课的成绩;并查询结果。4、建立统计不及格情况的视图,列出不及格学生

    注意事项

    本文(数据库系统实验报告广东工业大学.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开