计算机与信息学院实验报告专业班级计科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_data\userdb1.mdf' ,--物理名称,注意路径必须存在size=5,--数据初始长度为5Mmaxsize=10,--最大长度为10Mfilegrowth=1)--数据文件每次增长1Mlog on( name=userdb1_log,filename='d:\sql_data\userdb1.ldf ' ,size=2 ,reate database EDUCon(name=EDUC_data,filename='E:\jxgl\EDUC.mdf',size=10,maxsize=60,filegrowth=5%)log on( name=EDUC_log,filename='E:\jxgl\EDUC.ldf ',size=4 ,maxsize=10,filegrowth=1)2.根据步骤1的sql语句,写出创建数据库EDUC的sql语句,点击‘执行’按钮建立数据库EDUC。
3.将新创建的数据库设置为当前数据库。
USE userdb1GOUSE EDUCGO五.实验总结:通过这次实验我学会了怎么建立一个数据库,知道数据库建立时要注意的一些细节,让我对数据库有了一定的了解。
实验二数据库的分离和附加一. 实验目的掌握数据库的分离和附加的具体操作方法。
二. 实验要求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,数值型(整数),年龄要求10~30之间身高: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<=30),height numeric(4,2),);3.course表的结构要求课程号:cno,字符型(定长),长度为4,主键课程名:cname,字符型(变长),长度为16,非空先修课程号:cpno,字符型(定长),长度为4,外键学分:Ccredit,数值型(长度为2,含1位小数)create table course(cno char(4)primary key,cname varchar(16)not null,cpno char(4),foreign key(cpno)references course(cno),Ccredit numeric(2,1),);4.sc表的结构要求学号:sno,字符型(定长),长度为8课程号:cno,字符型(定长),长度为4成绩:grade,数值型(长度为3,含一位小数)注意:本表主码与外码的定义。
create table sc(sno char(8),cno char(4),primary key(sno,cno),foreign key (sno)references student(sno),foreign key (cno)references course(cno),grade numeric);四.实验步骤1.创建基本表打开查询分析器,在其编辑窗口中输入基本表的创建语句,点击“执行”按钮,分别完成四个基本表的创建。
2.修改表结构按照student的要求创建表student1,修改基本表student1:create table student1(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<=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 ;五.实验总结通过这次的实验我学会了如何在数据库中创建表,同时在实验中要时刻注意表中各种属性的完整性的定义,防止因为数据定义中因为码定义的问题而使数据库中表定义的失败。
实验四数据更新操作一. 实验目的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. 注意操作结果的截图与保存,供撰写实验报告使用。