实验二 表操作和数据完整定义.doc_第1页
实验二 表操作和数据完整定义.doc_第2页
实验二 表操作和数据完整定义.doc_第3页
实验二 表操作和数据完整定义.doc_第4页
实验二 表操作和数据完整定义.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

洛阳理工学院实验报告系别计算机与信息工程系班级学号姓名课程名称数据库系统应用实验日期实验名称实验二 表操作和数据完整性定义成绩实验目的:1.掌握表结构设计中各种数据类型的应用;2.熟练掌握用SSMS和create table语句创建表与定义完整性约束;3.巩固insert、update、delete语句的使用;4.掌握数据库导入、导出操作和数据库关系图的创建;5.熟练掌握索引与视图的创建和应用。实验条件:连在局域网中的微机1台、SQL Server 2008实验内容与步骤:请按顺序完成下面各题:1创建图书管理数据库XXX(用自己的名字的缩写作为数据库名),按照下面的要求,在其中创建三个表:“图书”、“读者”、“借阅”。(1)各个表应含有如下各个字段,要求为各个字段合理选择数据类型、长度等。图书:书号、ISBN、书名、作者、出版社、出版年、状态、书库读者:借书证号、类别、已借书数、最多借书数、编号、姓名、系别、密码借阅:借书证号、书号、借出日期、还书日期(2)用SSMS创建“图书”表,要求定义主键,为“状态”定义默认值为“未借”,定义一个CHECK约束:图书的状态只能是“借出”、“未借”两种状态之一。(3)用SSMS创建“读者”表,要求定义主键,并定义一个CHECK约束:借书证号必须是6位数字。(4)用CREATE TABLE语句创建“借阅”表,要求定义主键和外键。该表的主键是“书号”,外键有两个,一个是“书号”,参照“图书”表的主键,另一个是“借书证号”,参照“读者”表的主键。并定义一个CHECK约束:借书证号必须是6位数字。2 用SSMS向“图书”和“读者”表中分别添加2条记录。3用insert语句向“借阅”表中添加2条记录。 INSERT INTO dbo.借阅 (借书证号 ,书号 ,借出日期 ,还书日期) VALUES (111111 ,1 ,2012/11/1 ,2012/12/1)GO4执行下面的update语句,说明该语句的作用是:_某个读者借的书数Update 读者set 已借书数=(select count(*) from 借阅where 借书证号=读者.借书证号)5 新建数据库new,将数据库XXX中的三个表导出到new中。6 创建books数据库的数据库关系图。7在数据库XXX中(1)执行语句:ALTER TABLE 借阅 ADD id int identity(1,1);回答问题:id列被称为什么列?答:序号列,代表当前是第几列。(2)执行语句:Select * from借阅记录id 列中现有哪些值:答:1,2(3) 写出delete语句,删除“借阅”表中的第一条记录;delete from 借阅 where id=1;(4) 写出truncate table语句,删除“借阅”表中全部记录。TRUNCATE TABLE 借阅; 8. 附加teaching数据库,在teaching数据库中完成索引操作(1)查看student表上已有哪些索引,记录各个索引的索引名以及其依据的是哪一列。IX_student_1非聚簇唯一索引 依据sname列,PK_student_07020F21聚簇索引 依据studentno列(2)在student表上新建一个按姓名的非聚集索引,然后在查询分析器中执行下面的语句,查看这些查询的执行计划(并抓图),说明其分别运用了哪些索引。select studentno,sname from student where sname like %王 非聚簇索引 Tablesnameselect studentno,sname from student where studentno = 0805101 聚簇索引PK_student_07020F219.在teaching数据库中完成视图操作(1)执行如下创建视图的语句:Create view credit_of_student asselect student.studentno,sname, course.creditfrom student ,score ,course where student.studentno= score.studentno and score.courseno= course.courseno回答问题:该视图有几个基表?分别是?答:两个;student表和course表(2)执行如下语句,记录是否成功执行,说明其原因:Insert into credit_of_student (studentno,credit) values(08050288,5);不能:原因:视图或函数credit_of_student 不可更新,因为修改会影响多个基表。update credit_of_student set credit=5 where studentno=08050203;可以实验总结(结论或问题分析): 这次比较难,因为没有提前预习导致在做的过程中进度比较慢,虽然按时完成了实验内容但也认识到提前预习的重要性,最

温馨提示

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

评论

0/150

提交评论