《数据库实验报告》word版.docx_第1页
《数据库实验报告》word版.docx_第2页
《数据库实验报告》word版.docx_第3页
《数据库实验报告》word版.docx_第4页
《数据库实验报告》word版.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

计算机与信息学院实验报告专 业 班 级计科3班学生姓名及学号2014217151 李勤阳课程教学班号任 课 教 师实验指导教师实验地点计算机楼30320 16 20 17 学年第 一 学期实验一 数据库的创建和删除一. 实验目的:1. 了解SQL Server数据库的环境。2. 掌握使用SQL 语句创建数据库的方法。二 实验要求1. 掌握通过查询分析器进行交互式SQL语句的使用方法。 2. 理解SQL Server中的共享架构dbo。3. 注意操作结果的截图与保存,供撰写实验报告使用。三 实验内容1. 使用SQL语句创建数据库EDUC。数据库的参数要求: 数据库名称:EDUC 数据库存储路径:将数据库文件存储在D:jxgl目录中。(注,如果该目录不存在,需在D盘新建一个名为jxgl的文件夹) 其他参数要求: 数据文件的初始大小:10M 最大:60M 按5%的比例自动增长。 日志文件的初始大小:4M 最大:10M 增量为1M。 2. 将新创建的数据库设置为当前数据库。四实验步骤1创建数据库EDUC的SQL语句: 示例:创建数据库userdb1maxsize=5 , filegrowth=1)create database userdb1on(name=userdb1_data,-数据文件的逻辑名称,注意不能与日志逻辑同名filename=d:sql_datauserdb1.mdf ,-物理名称,注意路径必须存在size=5,-数据初始长度为5Mmaxsize=10,-最大长度为10Mfilegrowth=1)-数据文件每次增长1Mlog on( name=userdb1_log, filename=d:sql_datauserdb1.ldf , size=2 , reate database EDUC on (name=EDUC_data,filename=E:jxglEDUC.mdf ,size=10,maxsize=60,filegrowth=5%)log on( name=EDUC_log, filename=E:jxglEDUC.ldf , size=4 ,maxsize=10,filegrowth=1) 2. 根据步骤1的sql语句,写出创建数据库EDUC的sql语句,点击执行按钮建立数据库EDUC。3. 将新创建的数据库设置为当前数据库。 USE userdb1 GO USE EDUC GO五.实验总结: 通过这次实验我学会了怎么建立一个数据库,知道数据库建立时要注意的一些细节,让我对数据库有了一定的了解。实验二数据库的分离和附加一. 实验目的掌握数据库的分离和附加的具体操作方法。二. 实验要求1 对数据库EDUC进行分离,并将该数据库的数据文件及日志文件拷贝到U盘。2 注意操作结果的截图与保存,供撰写实验报告使用。三. 实验内容1)数据库的分离 在对象资源管理器中,选择数据库节点EDUC,右击-任务-分离,进入如下图所示的界面,选择“更新统计消息”下的复选框,单击确定,完成数据库的分离,此时可以在存储数据库的文件夹中将分离后的数据库的数据文件和日志文件拷贝到U盘里。注:在SQL server 2000中,在企业管理器中,选择相应数据库节点EDUC,右击-所有任务-分离数据库。2)数据库的附加在对象资源管理器中,选择数据库节点,右击-附加-添加,选择数据文件(.mdf),单击确定,完成数据库的附加。注:在SQL server 2000中,在企业管理器,在数据库的节点,右击-所有任务-附加数据库,选择数据文件(.mdf),单击确定,完成数据库的附加。实验三 使用SQL语句创建和删除基本表一实验目的1了解SQL Server的基本数据类型。2学会使用Create table语句创建基本表。二实验要求1. 在查询分析器中使用SQL语句完成基本表的创建、修改、删除。2. 实现基本表定义中有关完整性约束的要求。3. 注意操作结果的截图与保存,供撰写实验报告使用。三. 实验内容在数据库EDUC中,创建如下四个表: Class、student、course、sc表的具体要求如下:1. class表的结构要求班级号: clsNO, 字符型(定长),长度为6,主码班级名称:clsName,字符型(变长),长度16,非空辅导员: Director,字符型(变长),长度10专业: Specialty,字符型(变长),长度30create table class( clsNO char(6) primary key, clsName varchar(16) not null, Director varchar(10) , Specialty varchar(30),);2. student表的结构要求学号:sno,字符型(定长),长度为8,主码姓名:sname,字符型(变长),长度为10,非空性别:ssex,字符型(定长),长度为2,性别只能为男或女班级号:clsNO,字符型(定长),长度为6,外键住址:saddr,字符型(变长),长度为20年龄:sage,数值型(整数),年龄要求1030之间身高:height,数值型(长度为4,含两位小数)create table student( sno char(8) primary key, sname varchar(10) not null, ssex char(2) check (ssex in (男,女), clsNO char(6), foreign key(clsNO) references class(clsNO), saddr varchar(20), sage smallint check (sage=10 and sage=10 and sage=30), height numeric(4,2),);1) 增加“入学时间”列s_entrance,其数据类型为日期型(SQL server 2000中日期型为datetime)。alter table student1add s_entrance datetime;alter table student1alter column saddr varchar(40);2) 将住址(saddr)的长度改为40。3 删除基本表 删除基本表student1。drop table student1 ;5 实验总结 通过这次的实验我学会了如何在数据库中创建表,同时在实验中要时刻注意表中各种属性的完整性的定义,防止因为数据定义中因为码定义的问题而使数据库中表定义的失败。实验四 数据更新操作一. 实验目的1 掌握INSERT/UPDATE/DELETE语句的使用。2 体会数据更新操作对完整性约束的影响。二. 实验要求1 实验内容中要求的数据必须插入到相关基本表中,在此基础上每个表需另插入不少于3个元组。2 注意操作结果的截图与保存,供撰写实验报告使用。三. 实验内容1. 数据插入操作(1)向表(Class)中插入数据要求:不少于5个元组插入数据之后使用命令:Select * from Class; 检查插入数据的正确性(2) 向表(Student)中插入数据 要求:不少于10个元组插入数据之后使用命令:Select * from Student; 检查插入数据的正确性select * from student;(3)向表(Course )中插入数据要求:不少于10个元组插入数据之后使用命令:Select * from Course; 检查插入数据的正确性(4)向表(SC )中插入数据 要求:不少于20个元组2.数据修改与删除操作1) 对于student表,根据指定的班级号且年龄小于20岁的学生的班级号改为新的值。2) 对于SC表,删除指定学号的所有选课元组。四、实验步骤:在查询分析器中完成实验内容。五,实验总结:通过这次的实验,我学会了怎样在建立的表中插入数据,同时进行一些简单的数据的修改,虽然没有深入,但是基本上了解。同时在插入数据的时候我深刻了解了在插入时要满足数据的完整性的定义,防止数据插入的失败。实验五 创建和删除索引一. 实验目的 1.了解索引的类型和作用。 2.学会用SQL语句对表创建和删除索引二. 实验准备1. 成功创建了数据库EDUC中各表2. 了解创建和删除索引的方法。三. 实验要求1. 了解索引类型并比较各类索引的不同之处。 2. 完成索引的创建和删除。 3. 注意操作结果的截图与保存,供撰写实验报告使用。四. 实验内容 1. 用SQL语句分别建立以下索引(1) 在student表的Sname列上建立普通降序索引Stusname。(2) 在course表的Cname列上建立唯一索引Coucname。(3) 在sc表的Sno(升序), Cno(升序)和grade (降序)三列上建立一个普通索引SCno。 2. 检查创建索引的完成情况。 3. 用SQL语句删除索引 删除Student表的Stusname索引。5 实验指导 1. 在企业管理器中检查索引的初始情况。 2. 在查询分析器中用SQL语句分别建立所要求的索引。 3. 在企业管理器中检查索引创建完成情况。 4. 在查询分析器中用SQL语句删除指定的索引。6 实验总结 通过这次实验我学会了怎样在数据库中创建和删除索引,但是具体的应用并没有涉及,同时由于数据太少,数据建立索引的优势没有体现出来。不过还是对索引有了一定的体会。实验六 数据查询一 实验目的1. 观察查询结果, 体会SELECT语句实际应用;2. 要求学生能够在查询分析器中使用SELECT语句进行简单查询。3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。二 实验准备1. 成功建立了基本表。2. 了解简单SELECT语句的用法。3. 熟悉查询分析器中的SQL脚本运行环境。三 实验要求1. 完成所要求的全部查询。 2. 注意操作结果的截图与保存,供撰写实验报告使用。四 实验内容1.单表查询1)查询学生的学号、姓名、性别、年龄、班级。要求:表头部分改为中文显示,结果按学号升序重新排列。2) 查询学生姓名中包含“晓”(视实际数据自行确定)字的学生资料(全部)。; 3) 查询所有1995年出生全体男生的信息。4)查询“0001”与“0003”(具体数据视情况而定)学号、姓名、班级号。; 2.多表查询1)查询“计算机应用”专业的学生学号和姓名。2) 查询选修课程“0001”且成绩在8090 之间的学生学号和成绩,并将成绩乘以系数0.75 输出。3) 查询“0001”课程的成绩高于“张三”的学生学号和成绩。; 4) 查询没有选修“0002”课程的学生姓名。5) 查询课程平均成绩达到80分的学生学号、姓名、专业名称。; 6) 查询课程的课程号、课程名、选修该课程的人数。7) 查询课程的选课人数、平均分及最高分。8) 查询没有选修“操作系统”(视具体数据而定)课程的学生学号、姓名。五 实验步骤在查询分析器中完成上述所有查询6 实验总结: 通过这次实验中我学会了如何通过select语句来实现数据库中数据的查询,通过不同方法都可实现对数据的查询,从而通过对数据的查询,也对关系代数的运用有了一定的巩固和提高。实验七 视图的定义与使用一 实验目的1. 熟悉和掌握对数据表中视图的查询操作和SQL语句的使用;2. 熟悉和掌握对数据表中视图的更新操作和SQL语句的使用,并注意视图更新与基本表更新的区别与联系;3. 学习灵活熟练的进行视图的操作,认识视图的作用。二实验准备.EDUC数据库。.复习有关视图操作的SQL语句。三实验要求1. 在实验开始之前做好准备工作。2. 思考视图和基本表的区别。3. 注意操作结果的截图与保存,供撰写实验报告使用。四实验内容1.定义视图在EDUC数据库中,已Student、Course 和SC表为基础完成一下视图定义:1) 定义一个反映学生出生年份的视图V_YEAR,该视图要求使用系统函数(YEAR(),GETDATE())来获取当前日期及转换;2) 定义视图:该视图将反映学生选修课程的门数及平均成绩;2.使用视图1) 查询平均成绩为90分及以上的学生学号、姓名和成绩;2) 查询1995年出生的学生学号和姓名。五、实验步骤在查询分析器中完成所有实验内容。6 实验总结: 通过这次的实验,我学会了怎样建立和删除视图,同时通过对视图的使用可以在不用建立完整的表而将自己想要的数据放在一个视图中,从而实现自己数据查询的方便。实验7 触发器的创建与使用一、实验目的本实验的目的是使学生进一步掌握SQL Server触发器的创建及使用方法,加深SQL触发器的理解。通过对数据的更新操作体会其触发器的作用。二、实验准备 结合课堂教学内容,了解触发器的相关知识,掌握触发器的定义,理解触发器的使用方法及其特点。三、实验要求1. 掌握T-SQL创建触发器语句Create trigger的使用。2. 完成所规定的触发器定义要求。3. 通过数据查询检查触发器的使用效果。4.注意操作结果的截图与保存,供撰写实验报告使用。四、实验内容1. 在班级表class中增加班级人数(c_total)字段。2. 为学生表(student)创建INSERT触发器t_inst_stu:新增一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动加1。3. 为学生表(student)创建DELETE触发器t_dele_stu:删除一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动减1。4. 为学生表(student)创建UPDATE触发器t_update_stu:当某学生所在班号发生变化时(即调到另一班级后),将其原先所在班级的人数(c_total)减1,将新调入的班级班级的。5. 体会触发器的作用。五、实验步骤 在查询分析器中完成实验内容。1. 使用alter table语句在班级表class中增加班级人数(c_total)字段,默认值(DEFAULT)是0;对表中c_total字段的值进行修改。2. 为学生表(student)分别创建:l INSERT触发器t_inst_stul DELETE触发器t_dele_stul UPDATE触发器t_update_stu3. 体会触发器的作用:1) 查看班级表(class)2)对学生表(student)分别插入(INSERT)、删除(DELETE)和修改(UPDATE)元组3)再次查看班级表(class),检查其数据的变化情况,体会触发器的作用。六实验总结通过这次我学会了怎样创建触发器,同时利用触发器可以很好地观察到数据的更新和变化,这种手段为数据的更新,提供了更加广阔的空间,为我们的查询和数据的更新提供了方便。实验9 存储过程的创建与使用一、实验目的本实验的目的是使学生进一步掌握SQL Server存储过程的创建及使用方法,加深对SQL存储过程的理解。通过对存储过程的调用体会其作用。二、实验准备 结合课堂教学内容,了解存储过程的相关知识,掌握存储过程的定义,理解存储过程的调用及其参数的使用方法。 三、实验要求1. 掌握T-SQL创建触发器语句Create procedure的使用。2. 完成所规定的存储过程定义要求。3. 调用(EXEC)所创建的过程,检查过程的执行结果。4.注意操作结果的截图与保存,供撰写实验报告使用。四、实验内容1、创建一个不带参数的存储过程p_stu_info1,实现对满足要求的学生基本信息的查询。要求:所有年龄21岁的男同学2、 创建一个带有参数的存储过程p_stu_info2,实现对满足要求的学生基本信息的查询。要求:输入参数为学号,与指定学号的学生同龄的所有同学。3、 创建一个存储过程p_stu_info3,根据输入的学号,查询某学生的基本信息。要求:输入参数为学号。4、 创建一个存储过程p_stu_grade,根据输入的学号,返回其选课及其成绩。要求:输入参数为学号6. 使用SQL语句分别执行p_stu_info1、p_stu_info2、p_stu_info3和p_stu_grade,并查看显示结果。 五、实验总结通过这次实验我学会了如何创建存储过程,通过这样建立存储过程,可以实现数据的很好的处理。实验10 用户管理操作一、实验目的本实验的目的是使学生进一步掌握SQL Server用户角色及权限的使用方法,加深SQL用户管理的理解。SQL Server的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问该数据库数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。二、实验准备 结合课堂教学内容,了解用户及角色权限的相关知识,掌握用户管理的定义,理解用户和角色的创建和分配,及有哪些权限。 三、实验要求1. 通过SQL Server企业管理器,实现对SQL Server的用户和角色管理2. 分别通过SQL Server企业管理器和SQL的数据控制功能,设置和管理数据操作权限四、实验内容1、创建登录帐号方法一:用语句创建: 使用sp_addlogin 创建。注意:用这条语句建立的登陆账号,没有给登录账号提供相应的用户名;删除:1)可以用语句drop login 来删除; 2

温馨提示

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

评论

0/150

提交评论