数据库实验报告实验二Word格式.docx
- 文档编号:706825
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:22
- 大小:378.43KB
数据库实验报告实验二Word格式.docx
《数据库实验报告实验二Word格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告实验二Word格式.docx(22页珍藏版)》请在冰点文库上搜索。
数据库服务器,客户机,局域网;
2.软件:
MSSQLServer2008,建模软件;
3、实验内容
根据给定的问题建立数据库模型,在MSSQLManagementStudio中建立该数据库,并利用SQL语句建立表格与视图,录入数据,进行查询,插入,删除,修改等操作,编写过程,函数,触发器等;
给定问题如下:
1.一个学校有若干教学楼和若干班;
2.一个教室有若干教室和若干管理人员;
3.一间教室只有一个管理人员,但一个管理人员可以管理若干个教室;
4.每周7天,每周上午,下午,晚上都可以安排上课,每周的课表都不变;
5.一间教室或班在一段时间内只能安排一堂课,但可以是合班上课;
4、实验准备
1.理论知识预习及要求
①使用SQL语句建立数据库;
②使用SQL语句进行查询,修改等操作;
③使用SQL语句建立过程,函数,触发器等;
④使用SQL创建数据表;
2.实验指导书预习及要求
上机前先预习数据库原理指导书的实验,理解和掌握SQL语言的常用操作。
5、实验原理或操作要点简介
注意服务器要先启动,才能与服务器建立连接。
使用SQL命令,完成预定功能。
6、实验步骤
1.分析给定问题,设计E-R模型;
2.根据E-R图设计出该问题的关系数据模型,分析数据模型并规范之;
关系模型
教学楼(教学楼号,教学楼名称)
教室(教室编号,教学楼号,楼层,)
院系(院系号,院系名称)
课程(课程号,课程名称,学分,课程类型,开课院系号)
教师(教师编号,教师姓名,性别,所属院系,职称,身份证号)
学生(学号,姓名,院系号,身份证号)
讲授(教室编号,上课时间,上课时间段,教师号,课程号,)
借用(教室编号,学号,使用日期,借用时间段,工作日,用途)
管理员(管理员编号,姓名,性别,联系电话,年龄)
院教(院系号,教师编号);
院学(院系号,学号);
联系(教学楼号,教室编号,管理员编号);
关系数据模型
教学楼
属性名
类型
长度
约束
备注
教学楼号
Varchar
20
Notnull,pk
学校教学楼号
教学楼名称
varchar
Notnull
学校教学楼名称
教室
教室编号
10
Notnull,pk
教学楼中教室号
6
教室所在教学楼号
楼层
教室所在楼层
院系
院系号
Notnull,pk
学校中院系的编号
院系名称
学校中院系名称
课程
课程号
课程编号
课程名称
学分
int
Notnull,>
=0
课程学分
课程类型
课程类型(全校选修、专业选修、专业必修、人文修养、艺术教育)
开课院系号
课程开课的院系
教师
教师编号
教师姓名
char
3
性别
2
教师性别(男、女)
所属院系
教师所属院系
职称
教师的职称(教授、副教授、讲师)
身份证号
18
教师身份证号
学生
学号
学生编号
姓名
学生所属院系
学生的身份证号
讲授
教师号
教室号
该教室所开的课程
工作日
8
上课时间段
借用
使用人编号
借用教室人员的编号
使用日期
使用教室的日期
使用教室的星期
借用时间段
使用教室的时间段
用途
100
借用教室的用途
状态
1
借用教室审批的状态
管理员
管理员编号
管理员姓名
电话
管理员电话
年龄
3.连接服务器,创建用户19,并设置好权限;
用户
权限
4.建立数据库
5.为该数据库设计合适的索引;
6.依据关系数据模型在数据库中建立各表;
点击新建查询打开查询器
在里面键入代码创建数据表
教学楼表:
学生表:
继续建立剩下的数据表
建表完成
建好所有表系统自动生成关系图
7.给各表插入数据
以学生表,院系表为例
8.简单查询:
包括投影,选择条件表达,数据排序,使用临时表等操作
投影:
投影出学生表中的学号,姓名,身份证号
执行结果如下
选择条件表达:
找到所在学院的院系号为‘CS’的学生
执行结果
数据排序:
打印学生信息并降序排列学号
使用临时表:
查找信息工程学院的学生信息
9.连接查询:
包括等值连接,自然连接,求笛卡尔积,一般连接,外连接,内链接,左连接,右连接和自连接等
求笛卡尔积:
键入如下代码
结果如下
内链接:
计算学生,院系的内链接
左外连接,右外连接:
由于代码类似故以右外连接为例键入代码
自然连接:
全外连接:
当键入这段代码的时候系统提示出错,我不知道什么原因。
一般连接:
10.嵌套查询:
使用in,比较符,any或all和exist操作符等进行嵌套查询操作
使用IN:
使用比较符:
找出学号最小的学生
11.组合查询和统计查询:
分组,使用函数;
分组查询:
查找各个学院的人数
计算管理员年龄平均值:
使用函数:
打印学院人数大于1人的学院情况
7、思考与提高
1.当我输入管理员信息时将性别‘男’,写成了‘难’系统也保存成功了。
我们可以在保存数据前做什么工作,提醒用户有输入错误
解答:
可以在性别一栏添加check约束
2.在插入的过程中出现如下问题,思考为什么会出现
因为“管理员”被设置成了主键,而主键可以标识一个元组,因此在主键属性上不能有重复。
3.当系统运行一段时间后,系统性能会发生什么变化
当系统运行一段时间后,由于系统使用磁盘频繁,是磁盘碎片不断增加,还有IE浏览的时候会产生很多缓存,再一个原因是CPU的温度过高。
4.UML可以描述数据库模型吗
可以。
5如何提高数据查询和连接速度
我们在建立数据库的时候,我们要写出执行效率高的查询代码,以便减少查询时间。
比如说多用投影和条件选择,使要进行连接的项减少,加快查询速度。
6.对于常用的查询形式或者结果,应该怎么处理
对于常用的查询形式或结果我们应该将其形式或结果加到视图,函数,或者过程中去。
7.组合查询语句是否可以用其他语句代替,有什么不同
可以,但是两者的执行效率会有所不同。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告