医学工程学院数据库实验报告专业班级生物医学工程 10-01班学生姓名及学号课程教学班号0001任课教师郑淑丽实验指导教师郑淑丽实验地点逸夫楼5072012 ~20 13年第二学期实验一使用向导创建和删除数据库一.实验目的1.熟悉SQL Server 中SQL Server Management Studio的环境2.了解SQL Server 数据库的逻辑结构和物理结构3.掌握使用向导创建和删除数据库的方法二.实验要求1.熟练使用SSMS进行数据库的创建和删除操作。
2.完成实验报告。
三.实验内容建立一个数据库名为“EDUC”学籍管理系统,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
四.实验步骤1.使用SQL Server Management Studio(简称SSMS)创建数据库。
(1)启动SSMS(2)建立数据库,结果如下图示(3)使用向导删除上面的数据库五.实验总结本次实验使我熟悉SQL Server 中SQL Server Management Studio的环境,了解SQL Server 数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法实验二使用SQL语句创建和删除数据库一. 实验目的:1. 了解SQL Server 2005数据库的逻辑结构和物理结构。
2. 掌握使用SQL 语句创建和删除数据库。
使用SQL语句创建数据库userdb1。
三. 实验要求1. 熟练使用查询分析器进行数据库的创建和删除操作。
2. 完成实验报告。
四.实验步骤1.创建数据库userdb1的SQL语句。
2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.3. 用SQL语句删除步骤1建立的数据库userdb1。
drop database userdb1五.实验总结本次实验使我了解了SQL Server 2005数据库的逻辑结构和物理结构,掌握使用SQL 语句创建和删除数据库。
实验三使用SQL语句创建和删除表一.实验目的1.了解表的结构特点。
2.了解SQL Server的基本数据类型。
3.学会使用T-SQL语句创建表。
1.完成SQL语句创建和删除基本表。
2.完成实验报告。
三. 实验内容在数据库EDUC中,创建如下几个表:表3.1 class表(班级信息表)字段名称类型允许空值主键说明ClsNO Char(6) NOT NULL 是班号ClsName Varchar(16) NOT NULL 班名Director Varchar(10) NULL 辅导员Specialty Varchar(30) NULL 专业表3.2 student表(学生信息表)类型允许空值主键说明字段名称Sno Char(8) NOT NULL 是学号Sname Varchar(10) NOT NULL 姓名Sex Char(2) 性别:男、女ClsNO Char(6) NULL 班级的编号,(外键)参照表ClassSaddr Varchar(20) 住址Sage numeric(3, 0) 年龄,大于10,但小于30岁Height Decimal(4,2) 身高表3.3 course表(课程信息表)字段名称类型允许空值主键说明Cno Char(4) NOT NULL 是主键Cname Varchar(16) NOT NULL 课程的名称Cpno char(4) NULL 先修课程的课程号(外键),参照cnoCcredit Tinyint 学分表3.4 sc表(学生选课成绩表)字段名称类型允许空值主键说明Sno Char(8) NOT NULL 是学号,参照Student,与Cno组成主键CNO Char(4) NOT NULL 是课程号,参照Coursegrade Numeric(4,1) NULL 成绩四.实验步骤1. 打开查询窗口,输入创建基本表的sql语句。
2. 点击“执行”按钮,完成表的创建。
3. 用上述方法创建其他表。
4.将以上创建表的SQL语句以 .SQL文件的形式保存在磁盘上。
建立的图标的SQL语句如下:Student表:Class表:Course表SC表:五.实验总结本次实验是我掌握了如何应用SQL语句建表,并且深刻了解了外码,主码的概念。
实验四数据更新操作一. 实验目的1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;2.能将这些更新操作应用于实际操作中去;二. 实验要求1.完成下面的实验内容,并提交实验报告;2.在实验报告中附上相应的代码;三. 实验内容(1) 向表(Student)中插入数据Sno Sname Ssex ClsNO Saddr Sage Height 20090101 王军男CS01 下关40# 20 1.76 20090102 李杰男CS01 江边路96# 22 1.72 20090306 王彤女MT04 中央路94# 19 1.65 19940107 吴杪女PH08 莲化小区74# 18 1.60插入数据之后使用命令:Select * from Student; 检查插入数据的正确性查询结果如下:(2)向表(Class)中插入数据ClsNO ClsName Director SpecialtyCS01 计算机一班王宁计算机应用CS02 计算机二班王宁计算机应用MT04 数学四班陈晨数学PH08 物理八班葛格物理插入数据之后使用命令:Select * from Class; 检查插入数据的正确性查询结果如下:(3)向表(Course )中插入数据Cno Cname Cpno Credit0001 高等数学Null 60003 计算机基础0001 30007 物理0001 4插入数据之后使用命令:Select * from Course; 检查插入数据的正确性查询结果如下:(4)向表(SC )中插入数据SNO CNO Grade20090101 0001 9020090101 0007 8620090102 0001 8720090102 0003 7620090306 0001 8720090306 0003 9319940106 0007 85结果如下:(5)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。
结果如下:(6)对于student表,删掉所有年龄大于20岁,并且专业号为‘CS02’的学生的记录。
对于student表,插入一条新记录,它的具体信息为,学号:20071101、姓名:张三、性别:男、年龄:19、班级编号:‘CS01’。
结果如下(7)对于student表,将年龄最小的学生的家庭地址去掉。
结果如下:(8)对于student表,将平均年龄最小的一个班级编号改为‘GL01’结果如下:因为没有保存查询结果,所以只把程序写上了。
程序如下:UPDATE StudentSET ClsNo=’GL01’WHERE ClsNo=(select top 1 ClsNoFROM (SELECT ClsNo,AVG(Sage) aFROM StudentGROUP BY ClsNo)AVGRORDER BY a)五.实验总结:通过本次实验,熟悉使用UPDATE/INSERT/DELETE语句进行表操作;能将这些更新操作应用于实际操作中去。
实验五数据查询一.实验目的1.观察查询结果, 体会SELECT语句实际应用;2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。
3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二.实验要求1. 完成简单查询和连接查询操作,并验收实验结果提交实验报告三.实验内容所有的查询全部用SQL语句实现。
此部分查询包括投影、选择条件表达、数据排序等。
对EDUC数据库实现以下查询:1)查询计算机应用专业的学生学号和姓名;2)查询选修了课程的学生学号;3)查询选修课程0001 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;4)查询计算机应用和数学专业的姓“张”的学生的信息。
5)查询“0001”课程的成绩高于张三的学生学号和成绩;6)查询没有选修“0002”课程的学生姓名;四.实验步骤打开查询窗口,输入SQL查询语句,点击“执行”按钮,查看查询结果。
1)查询计算机应用专业的学生学号和姓名;select sno,snamefrom student,classwhere student.clsno=class.clsno andclass.specialty='计算机应用';2)查询选修了课程的学生学号;select snofrom scwhere sno is not null;3)查询选修课程0001 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;select sno,grade*0.75from scwhere cno='0001'andgrade between 80 and 90;4)查询计算机应用和数学专业的姓“张”的学生的信息。
select*from student,classwhere sname like'张__'andstudent.clsno=class.clsno and(specialty='计算机应用'orspecialty='数学');5)查询没有选修“0002”课程的学生姓名;select distinct snamefrom student,scwhere student.sno=sc.sno andcno!='0002'五.实验总结:通过本次实验,掌握了观察查询结果, 体会了SELECT语句实际应用;能够在查询分析器中使用SELECT语句进行简单查询。
熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
实验六使用聚集函数的SELECT语句一.实验目的1. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
2. 进一步掌握SQL Server 查询分析器的使用,加深对SQL语言的嵌套查询语句的理解。
二.实验准备1.了解SELECT语句的GROUP BY和ORDER BY子句的作用。