数据库实验报告实验二.docx

上传人:b****1 文档编号:520101 上传时间:2023-04-29 格式:DOCX 页数:22 大小:378.43KB
下载 相关 举报
数据库实验报告实验二.docx_第1页
第1页 / 共22页
数据库实验报告实验二.docx_第2页
第2页 / 共22页
数据库实验报告实验二.docx_第3页
第3页 / 共22页
数据库实验报告实验二.docx_第4页
第4页 / 共22页
数据库实验报告实验二.docx_第5页
第5页 / 共22页
数据库实验报告实验二.docx_第6页
第6页 / 共22页
数据库实验报告实验二.docx_第7页
第7页 / 共22页
数据库实验报告实验二.docx_第8页
第8页 / 共22页
数据库实验报告实验二.docx_第9页
第9页 / 共22页
数据库实验报告实验二.docx_第10页
第10页 / 共22页
数据库实验报告实验二.docx_第11页
第11页 / 共22页
数据库实验报告实验二.docx_第12页
第12页 / 共22页
数据库实验报告实验二.docx_第13页
第13页 / 共22页
数据库实验报告实验二.docx_第14页
第14页 / 共22页
数据库实验报告实验二.docx_第15页
第15页 / 共22页
数据库实验报告实验二.docx_第16页
第16页 / 共22页
数据库实验报告实验二.docx_第17页
第17页 / 共22页
数据库实验报告实验二.docx_第18页
第18页 / 共22页
数据库实验报告实验二.docx_第19页
第19页 / 共22页
数据库实验报告实验二.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库实验报告实验二.docx

《数据库实验报告实验二.docx》由会员分享,可在线阅读,更多相关《数据库实验报告实验二.docx(22页珍藏版)》请在冰点文库上搜索。

数据库实验报告实验二.docx

数据库实验报告实验二

湘潭大学

数据库实验报告

 

实验名称

SQL操作

班级

软件工程一班

指导老师

郭云飞(老师)

学生姓名

汤能武

系(院)

信息工程学院

实验时间

2011年12月

SQL操作

一、实验目的

 

1.了解和掌握MSSQLServer工具的使用;

2.熟悉掌握SQL'

3.训练学生设计与编写过程,函数与触发器的能力;

2、实验环境

1.硬件:

数据库服务器,客户机,局域网;

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

20

Notnull

学校教学楼名称

教室

属性名

类型

长度

约束

备注

教室编号

Varchar

10

Notnull,pk

教学楼中教室号

教学楼号

Varchar

6

Notnull

教室所在教学楼号

楼层

Varchar

10

Notnull

教室所在楼层

院系

属性名

类型

长度

约束

备注

院系号

Varchar

20

Notnull,pk

学校中院系的编号

院系名称

varchar

20

Notnull

学校中院系名称

课程

属性名

类型

长度

约束

备注

课程号

Varchar

20

Notnull,pk

课程编号

课程名称

varchar

20

Notnull

课程名称

学分

int

Notnull,>=0

课程学分

课程类型

varchar

10

Notnull

课程类型(全校选修、专业选修、专业必修、人文修养、艺术教育)

开课院系号

Varchar

20

Notnull

课程开课的院系

教师

属性名

类型

长度

约束

备注

教师编号

Varchar

20

Notnull,pk

教师编号

教师姓名

char

3

Notnull

教师姓名

性别

varchar

2

Notnull

教师性别(男、女)

所属院系

varchar

20

Notnull

教师所属院系

职称

varchar

10

Notnull

教师的职称(教授、副教授、讲师)

身份证号

Varchar

18

Notnull

教师身份证号

学生

属性名

类型

长度

约束

备注

学号

Varchar

10

Notnull,pk

学生编号

姓名

varchar

10

Notnull

学生姓名

院系号

Varchar

20

Notnull

学生所属院系

身份证号

Varchar

18

Notnull

学生的身份证号

讲授

属性名

类型

长度

约束

备注

教师号

Varchar

20

Notnull

Notnull

Notnull,pk

教师编号

教室号

Varchar

10

教室编号

课程号

Varchar

20

该教室所开的课程

工作日

varchar

8

Notnull

工作日

上课时间段

varchar

20

Notnull

上课时间段

借用

属性名

类型

长度

约束

备注

教室号

Varchar

10

Notnull

Notnull,pk

教室编号

使用人编号

Varchar

10

借用教室人员的编号

使用日期

varchar

10

Notnull

使用教室的日期

工作日

varchar

8

Notnull

使用教室的星期

借用时间段

varchar

20

Notnull

使用教室的时间段

用途

varchar

100

借用教室的用途

状态

char

1

借用教室审批的状态

管理员

属性名

类型

长度

约束

备注

管理员编号

Varchar

10

Notnull,pk

管理员编号

姓名

varchar

10

Notnull

管理员姓名

电话

Varchar

20

Notnull

管理员电话

性别

varchar

2

Notnull

性别

年龄

Varchar

3

Notnull

年龄

 

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.组合查询语句是否可以用其他语句代替,有什么不同

解答:

可以,但是两者的执行效率会有所不同。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2