南华大学2011~2012学年数据库原理与技术实验的报告
南华大学
计算机科学与技术学院
实验报告
( 2011 ~2012 学年度 第 二 学期 )
课程名称 实验名称
数据库原理与技术 数据库实验
姓名 谢志兴 学号 20104030342
专业 电气信息类
班级 1003班
地点 8—209
教师 刘征海
南华大学2011~2012学年数据库原理与技术实验的报告
实验 1 认识 DBMS
一、利用管理工具创建数据库、表和表间关系
(一) 实验目的和注意事项
实验目的:熟悉SQL Server Management Studio的基本操作,进一步理解数据库、表、表间关系的概念。 注意事项:创建数据库和数据表时应认真,如果出现错误,应相应地修改结 构或删除。
(二) 实验内容
(1) 利用SQL Server Management Studio 创建数据库,名称为【学生选课 XXXX】。XXXX为各位同学的学号中的最后四位
(2) 在【学生选课XXXX】中建立数据表,表的定义如下所示。
学生XXXX(学号,姓名,性别,出生日期,院系名称,备注); 课程XXXX(课程号,课程名,选修课,学分); 选修XXXX(学号,课程号,分数)。
要求定义每张表的主码,为属性选择合适的数据类型,决定是否允 许为空, 为【性别】和【学分】属性定义默认值。
(3) 定义表之间的关系。
(4) 分别为表录入几行数据记录,同时练习数据的修改和删除操作。
(三)实验步骤
(1) SQL Server Management Studio,连接数据库服务器,进入SQL Server
Management Studio 主界面。
(2) 右击【对象资源管理器】|【数据库】,选择快捷菜单中的【新建数据库】命令,弹出【新建数据库】窗口,在各属性页中设置新建数据库的属性,包括设置数据库逻辑名、所有者、文件的逻辑名、文件的物理名、文件类型、文件增长方式、文件的路径、文件组等属性,如图下所示。
南华大学2011~2012学年数据库原理与技术实验的报告
(3)保存新建的数据库,该数据库的逻辑名为【学生选课XXXX】。
(4)在【对象资源管理器】中,右击【学生选课XXXX】 |【表】,选择快捷菜单中的【新建表】命令,弹出表设计器对话框,新建“学生XXXX、课程XXXX、选修XXXX”3个表,如图所示。
(5) 通过设计关系图,设置数据库的数据完整性。在【对象资源管理器】中,右击【学生选课XXXX】|【数据库关系图】,选择快捷菜单中【新建数据库关系图】命令,弹出【添加表】对话框。将这 3个表添加到关系图设计器中,设置数据完整性,如图所示
南华大学2011~2012学年数据库原理与技术实验的报告
(6)右击要操作的表,选择快捷菜单中的【打开表】命令,弹出表窗口。 直接在表数据窗口中对表数据进行操作,包括插入、删除、修改记录,如图所示。
(7) 如果数据库和表需要修改、删除,还可以在SQL Server Management
Studio 中进行修改、删除操作。
二、利用SQL 语句创建数据库、表和表间关系
(一)实验目的和注意事项
实验目的:熟悉创建数据库和数据表的SQL 语句。
注意事项:输入SQL 语句时应注意,语句中均使用西文操作符号。
南华大学2011~2012学年数据库原理与技术实验的报告
(二)实验内容
在SQL Server Management Studio中新建查询,实现以下操作。
(1) 用SQL语句创建数据库,名称为“StudentCourseXXXX”。其中XXXX为各位同学的学号中的最后四位。
(2) 用SQL语句创建StudentCourseXXXX中的3张表,同时指定主码、外 码、默认值等。
(3) 比较“学生选课XXXX”和StudentCourseXXXX 两个数据库是否一致。
(三)实验步骤
选择数据库master,右击【新建查询】,或者选择系统菜单中的【文件】
|【新建】|【使用当前连接查询】命令,或者单击标准工具栏中的【新建查询】 按钮,即可新建一个查询窗口。如果查询数据库不是master,则可在可用数据库 下拉列表中进行选择,或用USE语句调用。在查询窗口中输入对应的创建数据库 和表的语句。
(2) 创建数据库StudentCourseXXXX。
(1)
(3) 创建3 个表。StudentsXXXX、CoursesXXXX、SCXXXX
南华大学2011~2012学年数据库原理与技术实验的报告
(4) 直接在表数据窗口中录入表数据记录。
南华大学2011~2012学年数据库原理与技术实验的报告
南华大学2011~2012学年数据库原理与技术实验的报告
实验一完成后,数据库结构应该和下图类似:
(四)实验小结
通过这个实验熟悉了SQL Server Management Studio的基本操作,进一步理解了数据库、表、表间关系的概念。熟悉了创建数据库和数据表的SQL 语句
实验 2
交互式 SQL(1)
南华大学2011~2012学年数据库原理与技术实验的报告
一、 数据库单表查询
实验目的:掌握单表查询SELECT、FROM、WHERE 的用法,特别要掌握比较运 算符、逻辑运算符的使用。 注意事项:子句WHERE<条件>表示元组筛选条件;子句HAVING<条件>表示元 组选择条件;子句HAVING<条件>必须和GROUP BY 子句配合使用;注意输入SQL 语 句时均应使用西文操作符号。
实验内容 :
实验步骤
(1) 创建查询窗口,设置查询环境。 (2) 单表查询。
1) 选择要查询的数据库,右击【新建查询】,或者选择系统菜单中的【文 件】|【新建】|【使用当前连接查询】命令,或者单击标准工具栏中的【新建查 询】按钮,即可新建一个查询窗口。如果查询数据库不是StudentCourseXXXX, 则可在可用数据库下
拉列表中进行选择,或用USE 语句调用。
(2) 在查询窗口中输入SELECT 查询语句,对StudentCourseXXXX 数据库 进行查询操作。
① 查询计算机系全体学生的信息
② 查询姓“李”的学生的学号和姓名。
南华大学2011~2012学年数据库原理与技术实验的报告
③ 查询课程表中先行课为空的课程名。
④ 查询考试成绩有不及格的学生的学号。
南华大学2011~2012学年数据库原理与技术实验的报告
⑤ 求选修了C1 课程或C2 课程的学生的学号及成绩。
⑥ 查询全体计算机系学生的姓名及其年龄。
南华大学2011~2012学年数据库原理与技术实验的报告
⑦ 查询计算机系在1986-1987 年之间出生的学生的姓名。
⑧ 查询姓“李”的前两个学生的学号和姓名。
南华大学2011~2012学年数据库原理与技术实验的报告
⑨ 查询选修了两门以上课程的学生学号与课程数。
⑩ 查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。
南华大学2011~2012学年数据库原理与技术实验的报告
二、数据库多表连接查询
实验目的和注意事项
实验目的:理解多表查询的概念;掌握多表查询的SELECT、
FROM、WHERE、 JOIN子句的用法,特别要求比较内连接、外连接的结果。
注意事项:内连接、左外连接和右外连接的含义及表达方法;注意输入SQL 语 句时均应使用西文操作符号。
实验内容
(1) 创建查询窗口,设置查询环境。 (2) 多表复杂查询。
实验步骤
新建查询窗口,选择StudentCourseXXXX 为当前数据库,输入如下SELECT 查询语句并执行,对数据库进行多表连接查询操作。
(1) 查询选修了【数据库原理】的计算机系的学生学号和姓名。
南华大学2011~2012学年数据库原理与技术实验的报告
(2) 查询每一门课的间接先行课(即先行课的先行课)。
(3) 查询学生的学号、姓名、选修课程的名称和成绩。
南华大学2011~2012学年数据库原理与技术实验的报告
(4) 查询选修了课程的学生姓名。
(5) 查询所有学生的信息和所选修的课程。
南华大学2011~2012学年数据库原理与技术实验的报告
(6) 查询已被选修的课程的情况和所有课程的名字。
(7) 列出学生所有可能的选修情况。
南华大学2011~2012学年数据库原理与技术实验的报告
南华大学2011~2012学年数据库原理与技术实验的报告
(8) 查找计算机系的学生选修课程数大于2 的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列。
实验总结
通过这个实验掌握了单表查询select、from、where的用法,和比较运算符、逻辑运算符的使用。理解了多表查询的概念,掌握了多表查询的select、from、where、join子句的用法。熟练了group ,order by和聚合函数COUNT(),AVG()的操作,以及嵌套操作,连接操作的应用。