数据库系统设计上机实验报告
院系:人文经管学院专业:信息管理和信息系统
上机实习报告目录
一、上机实验报告简介 ................................................................................................................... 2
1、上机实验时间安排 ............................................................................................................. 2
2、上机实验地点 ..................................................................................................................... 2
3、上机实验情况介绍 ............................................................................................................. 2
二、上机实验操作内容 ................................................................................................................... 2
1、操作对象 ............................................................................................................................. 2
2、学生数据库的创建 ............................................................................................................. 3
3、表的操作 ............................................................................................................................. 5
4视图的简单创建 .................................................................................................................. 11
1
数据库上机实验报告
一、上机实验报告简介
1、上机实验时间安排
上机实验从本学期第十周开始,到第十三周结束,历时四周。
2、上机实验地点
上机实验地点为科研楼1114室。
3、上机实验情况介绍
数据库上机实验实在对数据库系统设计的学习基础上,以理论结合实战的形式进行。目的是通过学习和动手实践加强自我能力的训练和提升,并且在SQL server数据库的操作学习中加深对数据库的认识和了解,并且进一步掌握SQL server语句(包括数据库、表、视图的创建、修改、删除,学习数据库的查询,修改,还有权限的处理等)。在此基础上有所创造,并尝试对小组作业中的主要组织进行数据库的运用。
二、上机实验操作内容
1、操作对象
自上课开始,我们小组将组织定为学生数据库管理,即实现通过数据库对学生进行合理管理,我们以地大学生数据库为参考对象进行设计,数据库主要内容包括学生学工管理,学生教育管理,此外还有其他辅助性数据库(如网络)管理。这里我们主要针对学工和教育两大数据库进行设计。
1) 学工管理:参考地大学工在线,对学生进行学籍管理,其内容包括学生
入学开始的基本信息,入学后到毕业这期间的身份变动,重大事项活动
(如奖学金,助学金的申请,发放)的管理。
- 2 - 2
数据库上机实验报告
2) 教育管理:主要对学生平时上课、考试成绩,以及参加的等级考试,选
修课情况进行管理。
2、学生数据库的创建
(1)创建学生学工管理数据库: Xg,存储在students文件下,代码如下:
CREATE DATABASE Xg
ON PRIMARY
(NAME = Xg_Data ,
FILENAME = 'E:\students\ Xg_Data.Mdf',
SIZE = 4MB,
MAXSIZE = 10MB,
FILEGROWTH =1 MB)
LOG ON
(NAME = Xg_Log ,
FILENAME = 'E:\students\Xg_Log.Ldf',
SIZE = 2MB,
MAXSIZE =10MB,
FILEGROWTH = 1MB)
GO
(2)对学生教育数据库进行创建:Jy,存储在students文件下,代码如下:
CREATE DATABASE Jy
ON PRIMARY
(NAME = Jy_Data ,
FILENAME = 'E:\students\ Jy_Data.Mdf',
SIZE = 4MB,
MAXSIZE = 15MB,
FILEGROWTH =1 MB)
LOG ON
(NAME = Jy_Log ,
- 3 - 3
数据库上机实验报告
FILENAME = 'E:\students\Jy_Log.Ldf', SIZE = 2MB, MAXSIZE =10MB, FILEGROWTH = 1MB) GO
接下来对数据库进行查看,在查询分析器进行输入:SP_HELPDB ,如图
1
(3)考虑到未来学生数据库内容的变化和扩充,所以需要对当前数据库容量进行调整。语言如下:
Use XG GO
ALTER DATABASE XG MODIFY FILE
(NAME='XG_Data',SIZE=10MB)
GO
ALTER DATABASE XG MODIFY FILE
(NAME='XG_Log',SIZE=6MB)
GO
Use JY GO
ALTER DATABASE JY MODIFY FILE
(NAME='JY_Data',SIZE=8MB)
GO
ALTER DATABASE JY MODIFY FILE
(NAME='JY_Log',SIZE=5MB)
GO
(4)需要对数据进行压缩的话,课进行一下操作,以XG数据库为例, USE XG GO
DBCC SHRINKFILE (NewSales_Data,5) GO
这样就实现了把XG数据库从当前10MB的大小压缩到5MB。
- 4 - 4
数据库上机实验报告
3、表的操作
(1)这里就以学生学籍信息表为主进行创建: USE XG
GO
CREATE TABLE xjxx
(
学号 Int primary key not null,
姓名 Varchar(20) not null,
性别 char(2) not null default '男', 年龄 Int not null ,
学生籍贯 Varchar(20) not null,
家庭住址 varchar(50) not null,
出生日期 DateTime,
电话 varchar(20),
所在院系 varchar(20), not null,
政治背景 varchar(20) default '男', 奖惩记录 varchar(100) default '无', 入学时间 DateTime default
)
GO 如图2所示
- 5 - 5
数据库上机实验报告
同样,在JY数据库中主要的基本信息表,课程表,选课表,成绩表: Use JY
Go
Create table xsjb
(学号 Int primary key not null,
姓名 Varchar(20) not null,
所在院系 varchar(20) not null,
班级 varchar(20) not null,
专业 varchar(20) not null,
)
go
use JY
go
create table kch
(课程号 int not null,
课程名称 varchar(20) not null
)
同样用类似的语言创建chj表和xk表,如图
3
在创建好的表里进行数据录入,可以用语言进行,也可直接在表中插入数据
如(图4) - 6 - 6
数据库上机实验报告
(2)对表的查询和修改
对于使用SQL 的数据库,检索数据都要使用SELECT 语句。使用SELECT 语句,既可完成简单的单表查询、联合查询,也可以完成复杂的联接查询、嵌套查询。主要有以下子句的基本语法格式:
SELECT 列名1 [ ,列名2 ]...
[ INTO 新表名 ]
FROM 表名1 [ ,表名2 ]...
[ WHERE 条件 ]
[ GROUP BY 列名列表 ]
[ HAVING 条件 ]
[ ORDER BY 列名列表 [ASC | DESC] ]
SELECT 语句至少包含两个子句:SELECT 和FROM,SELECT 子句指定要查询的特定表中的列,FROM 子句指定查询的表。WHERE 子句指定查询的条件,GROUP BY 子句用于对查询结果进行分组,HAVING 子句指定分组的条件,ORDER BY 子句用于对查询结果进行排序。
(3)接下来以已经创建好的数据库进行实验:
1、查看所有学生的基本信息,在查询分析器中输入
Select * from xjxx 结果如下图:
2、相对上述查询,广泛用到的是条件查询,接下来我们一一进行查询
[where 条件]:查询性别为男的同学籍贯:
Select 学生籍贯,姓名,所在院系 from xjxx where 性别=’男’结果如下图 - 7 - 7
数据库上机实验报告
[like 条件]查询姓赵同学的全部信息;
Select * from xjxx where 姓名 like’赵%’
接下来,我们通过导入的上机实验数据表student和study,来进行其他查询语句的操作。
1、求所有同学的总成绩和平均成绩:
select 学号,总成绩=((cast (专业英语 as int))+高等数学+历史+VB程序设计+管理学 ),平均=((cast (专业英语as int))+ 高等数学+历史+ VB程序设计+管理学)/5 from study 结果如图
2、对男女生人数进行统计:
select 男生人数=count(*) from Student where 性别='男'
select 女生人数=count(*) from Student where 性别='女'
- 8 -
8
数据库上机实验报告
3计算Study表中所有同学各门功课的平均成绩;
select avg(专业英语) 专业英语 ,avg(高等数学) 高等数学,avg(历史) 历史,avg(VB程序设计) VB程序设计,avg(管理学) 管理学
from Study
4 用group by 语句查询男女生的各科平均成绩:
Select 性别 性别,avg(专业英语) 专业英语 ,avg(高等数学) 高等数学,avg(历史) 历史,avg(VB程序设计) VB程序设计,avg(管理学) 管理学 from Student,Study where Study.学号=Student.学号 group by 性别
5连接查询,对Student表和Study 表中的数据进行连接;
Select 姓名,专业英语 ,高等数学,历史, VB程序设计,管理学 from Student,Study where Study.学号=Student.学号
6对于有些数据的特殊管理,需要提取一部分数据进行单独使用查询,需要创建新表,辅助以连接查询:创建一个新表Student1,存放Student表中所有性别 - 9 -
9
数据库上机实验报告
为“男”的学号、姓名和年龄字段的数据;
Select 学号, 姓名 ,年龄 into Student1 from Student where 性别='男' 结果如图
7 平时对数据库的管理中需要对数据进行更新和调整,比如修改Student1表中的数据,使每个人的年龄由出生日期计算得出;
UPDATE Student1
SET 年龄=year(GETDATE())-year(s2.出生日期)
FROM Student1 s1,Student s2
WHERE s1.学号=s2.学号
8同样出于对数据优化管理的同时,需要删除冗余失效的数据,如删除Student1表中非“人文经管学院”的学生的数据。
delete Student1 where 学号 in (select 学号 from Student where 所在 院系<>'人文经管学院')
结果提示:(所影响的行数为 9 行)
9自连接也能实现数据查询,用自连接查询在Student表中查找系别相同的学生的姓名及其系别;
Select A.姓名 姓名1, B.姓名 姓名2 ,A.所在院系 系别 from Student A join Student B on A.所在院系=B.所在院系 WHERE A.姓名<>B.姓名
- 10 - 10
数据库上机实验报告
4视图的简单创建
视图也是本次上机实践了解学习的一个内容,下接着以上数据库数据的操作对视图的学习进行简单的试验和汇报。
1、创建视图
比如:创建视图V_score,显示每个学生的学号、姓名,各门功课的成绩及平均成绩,并要求对视图定义文本进行加密存储;
use Student
go
create view V_score with encryption
as select Study.学号,姓名,专业英语,高等数学,历史,VB程序设计,管理学,平均成绩=((cast (专业英语 as int))+高等数学+历史+VB程序设计+管理学)/5 from Student,Study
where Student.学号=Study.学号
结果如下图所示:
- 11 -
11
数据库上机实验报告
2、修改视图
修改视图V_score,显示各个院系的所有同学各门功课的平均成绩; alter view V_score
as select 系别=所在院系,专业英语=avg(专业英语),高等数学=avg(高等数学),历史=avg(历史),VB程序设计=avg(VB程序设计),管理学=avg(管理学) from Student,Study
where Student.学号=Study.学号
group by 所在院系
3、查看视图
查看视图score的完整定义信息;
SP_HELPTEXT score
4、删除视图V_score。
Drop view V_score
- 12 - 12
数据库系统设计
实验报告
掌握数据库设计的基本方法和步骤,熟悉数据库设计各个阶段所要完成的任务和实施方法。通过该实验更加清楚地了解数据库设计的过程。
利用数据库设计的4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。需求分析采用自顶向下,概念模型设计时采用自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法。
根据周围的实际情况,自选一个小型的数据库应用项目,并深入到应用项目中调研,进行分析和设计。例如可选择人事管理系统、工资管理系统、教材管理系统和小型超市商品管理系统和图书管理系统等。要求写出数据库设计报告。
在数据库设计报告中包括以下内容:
(1)系统需求分析报告
(2)概念模型的设计(E-R图)
(3)关系数据模型的设计
(4)对关系表的主键、外键及被参照表进行说明,对关系中数据的约束条件进行说明。
(5)用SQL语言建立该数据库。(包括数据库、数据表的创建以及数据完整性的实施)(选作)
实验指导
1. 小型超市商品管理系统数据库的设计
我们这边就以小型超市商品管理系统为例,介绍数据库的设计。
对于小型超市商品管理系统,要求:能对小型超市商场的商品进货、销售、库存等环节进行管理。主要有:
(1)能记录每一笔进货,查询商品的进货记录。
(2)能记录每一笔售货,查询商品的销售情况和销售记录。
(3)能记录顾客的购买信息。
(4)能查询某个厂商或供应商的信息。
E-R图如下:
转换为关系模式:
供应商(供应商编号,供应商名称,供应商地址,电话,联系人)
商品(商品号,供应商编号,名称,库存,进价,售价)
顾客(顾客号,购货时间)
售货(商品号,顾客号,销售数量,销售总价)
2. 图书馆日常事务管理系统数据库的设计
(1)图书馆日常事务管理系统功能简析
图书信息维护:主要完成图书信息登记、修改、删除等操作。
读者信息维护:主要完成读者信息的添加、修改和删除等操作。
工作人员信息维护:主要完成工作人员信息的添加、修改和删除等操作。
图书类别的管理:主要完成图书类别的添加、修改和删除等操作
图书借还管理:主要完成读者图书借还信息的记录。
(2)图书馆日常事务管理系统中的实体和属性的设计
读者(借书证号,姓名,性别,出生日期,借书量,单位,电话,E-mail)
图书(图书编号,图书名称,作者,出版社,定价,购进日期,购入数,复本数,库存数)
工作人员(工号,姓名,性别,出生日期,联系电话,E-mail)
图书类别(类别号,图书类别)
其中,每本图书都有惟一的一个图书类别,每个图书类别有多本图书;每个读者可以借阅多本图书;工作人员负责读者的借、还工作。
(3)设计该系统数据库的E-R图
(4)将设计好的E-R图转换为关系模式
读者(借书证号,姓名,性别,出生日期,借书量,单位,电话,E-mail)
图书(图书编号,图书名称,作者,出版社,定价,购进日期,购入数,复本数,库存数)
工作人员(工号,姓名,性别,出生日期,联系电话,E-mail)
图书类别(类别号,图书类别)
图书借阅(图书编号,借书证号,借出日期,归还日期)
图书借还(图书编号,工号,借还,数量,借书日期,还书日期)
传媒工程实验教学中心实验报告
实验内容:
(1) 需求分析
(2) 实体和属性设计
(3) 设计E-R图
(4) 将E-R图转化为关系模式
(5) 对关系表的主键、外键及被参照表进行说明,对关系中数据的约束条件进行说明。
(6) 用SQL语言建立该数据库。(选作)
HEFEIUNIVERSITY数据库设计报告题目产品销售系统系别电子信息与电气工程系班级09级电气信息类5班学号090507503…
武夷学院实验报告课程名称管理信息系统项目名称数据库设计姓名苏松仑专业12级物流管理班级2班学号20xx42120xx同组成员20x…
西安科技大学数据库原理及应用课程设计报告题目寄宿学校管理信息系统的设计与实现学院计算机科学与技术学院专业及班级软件工程1202及1…
计算机与信息工程系数据库应用系统设计实验报告专业计算机科学与技术班级计科072班学号姓名指导老师实验一数据库应用系统设计入门一实验…
数据库项目设计实验报告项目名称人力资源管理系统项目需求为了处理公司人事资料可以完成对人事资料进行查询修改增加删除及存储并能快速准确…
系统总体设计报告一引言11编写目的本系统为地震灾害预警系统主要用户为政府部门工作人员在地震来临前有效地预测地震在地震发生后尽快高效…
课程设计说明书设计名称操作系统课程设计题目文件访问接口设计学生姓名陈小浪专业计算机科学与技术班级12级1班学号20xx314118…
实验项目案例名学生饭卡管理系统一实验目的能够正确运用系统设计的过程与方法结合一个模拟课题复习巩固管理信息系统中系统设计知识提高系统…
数据库系统设计实验报告课程数据库系统原理与应用姓名刘晨专业13级计本班学号1307020xx029指导老师王端理一数据库系统设计一…
我对数据库的制作是为了能够更方便更快捷的对学生基本信息、系部基本信息、课程信息、教职工信息以及学生成绩进行查询。数据库的最终效果是…