广工数据库原理与应用实验报告_第1页
广工数据库原理与应用实验报告_第2页
广工数据库原理与应用实验报告_第3页
广工数据库原理与应用实验报告_第4页
广工数据库原理与应用实验报告_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

广东工业大学实验报告_自动化_学院物联网工程专业_1_班 学号3113001548 姓名李泓庚 成绩评定_ 实验_题目_ 课程名称 数据库原理及应用实验 教师签名 实 验 报 告 课程名称 数据库原理与应用 学生学院 自动化学院 专业班级 物联网专业1班 学 号 3113001548 学生姓名 李泓庚 指导教师 2016 年 5 月 27日实验3 数据定义一实验目的使用SQL语言实现数据库的创建、删除、基本表的创建、删除、更新工作,以及索引的创建、删除工作。二实验软件环境SQL Server 2008、SQL manager studio三实验内容1定义数据库定义一个借阅数据库,要求所定义的数据库大小为3M,且数据库名称为Labery_学号。2定义下列数据库基本表在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表:1)书(book)2)借书证(Card)3)借书记录(Borrow)3完整性约束条件:主要内容为:1)确定各基本表的主码;2)确定各基本表的外码;3)要求在定义各基本表的同时,确定如下完整性约束条件:1、定义各基本表主码,并且要求主属性不能为空;2、如果有外码,定义各基本表外码;3、要求检查借书证中属性Type的值是否为(T,G,U,O);4、借书记录Borrow基本表中borrow_date默认日期为当前时间。5、确定各基本表哪些字段需要建立索引。四实验的结果及分析五思考题1)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?答:以后增加数据库数据时,有可能插入无效或重复的数据。当想删除有多张表中的一张时,由于删除了该表导致其他表数据不完整不能用。2)如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?答:索引是以牺牲内存空间换取检索时间的,未创建索引时会使运行时的检索变得很慢。六实验心得体会本次实验接触了较为基础的数据库处理操作,如创建数据库,建表等操作,在做这些操作前,要考虑各个元素的约束,如主码,外码还有非空,唯一等约束,还有各个表之间的联系,这些都要预先考虑清楚,否则将会造成数据库中的数据关系混乱,以致影响应用程序的调用,后果不堪设想。实验4 数据更新一实验目的要求学生熟练掌握和使用TransactSQL及SQLserver企业管理器向数据库中输入数据、修改数据和删除数据的操作。要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。二实验软件环境SQL Server 2008、SQL manager studio三实验内容1、数据输入分别向book、card、borrow三个基本表中输入10条数据(备注:考虑到以后的可操作性,希望数据的数据具有一定的现实意义),其次插入的数据满足数据完整性约束条件及表与表之间的关联性的要求。2、修改数据修改book、card、borrow三个基本表的数据,并要求将book表中price属性的值全部打8折、清华大学出版社的书籍总藏书量增加100本等,同时满足数据完整性约束条件。3、删除操作删除book、card、borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。要求删除borrow表中借书日期为1年前的数据,以及要求删除电子工业出版社的书籍。四实验的结果及分析五思考题1)如果在实验3中,没有定义数据完整性约束条件,则在数据录入或删除过程中会对数据库造成什么影响?答:录入数据时,有可能插入无效或重复的数据。删除数据时系统没提示有可能残留一些待删除的数据,导致其他表数据不完整不能用。2)思考如何利用SQLServer2000中所提供的时间函数实现对时间的操作,如需要查询当前时间50天以前的图书的借阅数据该如何处理?答:调用getdate()函数可以返回当前系统日期,如下:Select*fromborrowwhereborrow_date=getdate()-50六实验心得体会通过本实验基本学会掌握和使用TransactSQL及SQLserver企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。同时,在数据输入、修改和删除时应当谨慎地对数据进行操作,避免严重损失。实验5 简单查询和连接查询一实验目的使学生熟练掌握简单表的数据查询、数据联接查询以及数据排序的操作方法,并加深对SQL和Transact-SQL语言的查询语句的理解。二实验软件环境SQL Server 2008、SQL manager studio三实验内容要求完成以下查询要求:1、 将计算机类的书存入永久的计算机图书表;2、 将借书日期在05年以前的借阅记录存入临时超期借阅表;3、查询发生了借阅关系的借书证卡号,并按卡号降序排列;4、查询清华大学出版社出版的图书情况;5、查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期排序;6、查询“程军”老师所借阅的书籍的书名;7、查询借书者的编号,姓名,单位,所借书号,书名和借阅日期,并按读者编号排序。四实验的结果及分析五思考题1、对于“查询程军老师所借阅的书籍的书名”的查询语句,分别使用左连接、右连接和自然连接命令,试比较所产生的结果有何不同,说明其原因,并指出对于该查询要求,哪种连接更符合实际要求。答:使用左连接:selectbook.*frombookleftjoinborrowon(book.bno=borrow.bnoandcno=U002)使用右连接:selectbook.*fromborrowrightjoinbookon(borrow.bno=book.bnoandcno=U002)使用自然连接:selectbook.*fromborrow,bookwhereborrow.bno=book.bnoandcno=U002该查询使用自然连接更符合实际要求。六实验心得体会通过本实验基本学会掌握简单表的数据查询、数据联接查询以及数据排序的操作方法,并加深对SQL和Transact-SQL语言的查询语句的理解。实验6 嵌套查询一实验目的使学生熟练掌握数据查询中嵌套查询语句的操作方法,并加深对Transact-SQL语言的查询语句的理解。二实验软件环境SQL Server 2008、SQL manager studio三实验内容要求完成以下查询要求:1、哪一年出版的图书的总藏书数量最多?2、查询每本借书证的借书册数3、今年未借过书的借书证4、哪个系的同学借书最多5、今年哪种类别的书借出最多?四实验的结果及分析6.46.5五思考题1、试用多种形式表示实验中的查询语句,并进行比较。答:如以上的第三小题,既可以用selectcnofromcardwherecnonotin(selectcnofromborrowwhereyear(borrow_date)=year(getdate()也可以用exists语句:selectcnofromcardwherenotexists(select*fromborrowwhereyear(borrow_date)=year(getdate()o=cno)六实验心得体会通过本实验基本学会掌握数据查询中嵌套查询语句的操作方法,并加深对Transact-SQL语言的查询语句的理解。实验7 集合查询、分组查询、函数查询一实验目的使学生熟练掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Transact-SQL语言的查询语句的理解。二实验软件环境SQL Server 2008、SQL manager studio三实验内容要求完成以下查询要求:1、查询计算机类和机械工业出版社出版的图书;2、查询藏书量在10本以上的书(书名、作者、出版社、年份);3、查询“数据库系统原理教程,王珊,清华大学出版社出版”还有多少本;4、查询最近两年(2006、2007)都未被借过的书;5、查询藏书种数、总册数、最高价、最低价;6、查询哪些出版社的总藏书超过100种;7、查询目前已借出多少册书;8、查询这样的图书类别:要求该类别中最高的图书定价不低于该类别的图书平均定价的2倍;9、查询“机械工业出版社”的各类图书的平均定价;10、查询计算机类图书的书号、名称及价格,并计算册数和总价格。四实验的结果及分析7.10五思考题对于较为复杂的SELECT查询语句,比较通过创建临时表或创建视图的方式来简化查询语句的特点,并在大数据量的情况下,这三种情况对数据库性能会有何影响。答:在大数据量的情况下在临时表中保持数据的子集,以在随后的连接中使用,这样能大大改善性能,如果访问很频繁,加载就会加重,tempdb的性能就会对整个DB产生重要的影响。而SELECT查询语句则可能要重复查询工作。而视图虽然使操作简单,安全性高,但由于视图是虚拟的表,在使用包括视图引用的SQL语句时,除了执行所键入的SQL语句中的查询或更新之外,还要告诉DBMS执行定义视图的查询,这就影响了查询的效率。六实验心得体会通过本实验基本学会掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Transact-SQL语言的查询语句的理解。实验8 存储过程一实验目的在SQLServer的查询分析器中,掌握创建存储过程的方法和步骤,并掌握存储过程的使用方法以及存储过程的查看、修改和删除。二实验软件环境SQL Server 2008、SQL manager studio三实验内容要求完成以下要求:1)利用已有的Book、Card、Borrow表,创建一个带参数的存储过程Borr_book。该存储过程的作用是:当输入基本表Card中的任意一个“姓名”时,将从三个表中返回该借阅者的借书证号、借阅的书名和借阅时间。2)执行Borr_book存储过程,查询“刘永辉”的借书证号、借阅的书名和借阅时间。3)使用系统存储过程sp_helptext查看存储过程Borr_book的文本信息。4)为基本表“书”创建一个存储过程“jmxs”。当执行该存储过程时,将返回“T”类型借阅者的所有信息。5)执行jmxs存储过程,查看“T”类型的借阅者的情况。6)删除jmxs存储过程。四实验的结果及分析8.11)createprocedureborr_booksnamechar(8),cnochar(7)output,titlevarchar(40)output,borrow_o,title,borrow_datefrombook,card,borrowwherebook.bno=o=oan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论