实验室管理系统数据库设计资料.docx
《实验室管理系统数据库设计资料.docx》由会员分享,可在线阅读,更多相关《实验室管理系统数据库设计资料.docx(10页珍藏版)》请在冰豆网上搜索。
实验室管理系统数据库设计资料
实验室管理系统
数据库设计说明书
拟制人刘平平戴祺
审核人
批准人
【2013年1月15日】
1.引言
1.1课题背景
计算机技术的进步,促使现代工业技术在快速发展,随着科研和生产技术的不断发展,原来的人工管理模式已显得不太适应,而对于高校实验室,无论其规模的大小,每时每刻都会产生例如实验设备信息、实验数据、设备维修等等这样大量的信息,这些数据、信息不仅是一些测量、分析的数据,还有许多维持实验室运行的管理型数据。
在以往的手工管理、纸袋储存数据的方式下,这些海量般的数据、信息,使得实验室的管理人员以及使用人员为维护这些数据浪费了大量的物力和时间,效率低下,并且经常出错,更谈不上数据的快速科学分析。
在这一背景下,实验室信息管理系统(LIMS)开始出现,并在实际应用中得到了快速发展,成为一项崭新的实验室管理与应用技术。
在当今这样一个网络信息时代,除了提高实验室自身专业水准,提高实验室的管理水准已经是唯一的选择。
实验室信息管理系统(LIMS)无疑会把实验室的管理水平提升到信息时代的高水平。
1.2研究意义
高校实验室信息管理系统是一个以实验室信息管理和实验信息管理为主的先进的网络系统,能够为用户提供充足的实验室信息和实验信息的查询手段。
传统的人工管理实验室这种古老的方式来进行,已完全不能满足学校对实验室规划的需要,实验室信息管理系统能够极大地提高实验室管理的效率,也是使学校的科学化、正规化管理的重要条件。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
高校实验室信息管理系统就是要将手工管理变为计算机管理,把实验管理放在网上进行,达到高效、准确、便捷的目的。
供学生查阅相关信息,限定学生在一定时间内统一在网上预约实验,实验完成后,由实验指导教师在网上为自己的学生评分,上传到网络后学生查看成绩。
实验室管理系统能加强实验室规范管理,进行优化组合,理顺内、外部关系,有效利用实验室资源,优化实验室教学仪器的运行环境,构建一种全新的整合优势,将实验室管理员、教师、学生三者有机结合,以保证教学实验有序、顺利、合理的完成,提高实验课的效率,从而保障实验教学质量,提高实验室综合能力和效率,提高实验室的投资效益。
2.外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQLServer2005,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
SQLServer数据库
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL语言标准[13]。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert,、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
3.结构设计
3.1逻辑结构
3.1.1系统涉及的关系实体和对应关系
本系统有三个实体,分别是实验室、教师、学生。
实验室实体的基本属性有实验室名称,实验室地址,实验室标识、实验编号,实验教师,实验名称,实验内容,实验地点。
一个实验室可以对多个学生,一个学生可以使用一个实验室,所以是一对多的关系。
一教师可以指导一个实验,一个实验可以被一个教师所指导,所以是一对一的关系;一个学生可以选修多个实验,一实验可以被多个学生选修,所以是多对多的关系。
教师实体的基本属性有用户名,教师编号,性别,部门。
由于一名教师可以使用多个实验室,一个实验室库可以被多个老师使用,所以是多对多的关系。
学生实体的基本属性有学号,性别,姓名。
一个教师可以交多个学生,一个学生被一个老师交,所以是一对多的关系。
3.1.3总体E-R图
总体E-R图,如图3.5所示。
图3.5E-R图
3.1.4关系图
3.1.2关系模式
用户(用户名,用户密码,用户级别,关联ID)
实验室(实验室标识,实验室名称,实验室地点)
学生(学号,姓名,班级,性别,系别,专业)
教师(教师编号,用户名,性别,部门)
实验(实验编号,实验教师,实验地点,实验名称,实验内容,时间)
实验预约表(学生编号,实验编号,实验状态)
实验成绩表(学生编号,实验编号,成绩)
公告(编号,公告名称,公告要求,公告发布时间)
3.2物理结构
表3-1用户信息表(ex_user)
字段名称
字段标识
数据类型
长度
允许空
主键
标识
ID
int
4
No
Yes
用户名
iuser
vchar
50
No
No
用户密码
Pass
vchar
50
No
No
用户级别
Type
int
4
No
No
关联ID
glid
vchar
20
Yes
No
表3-2实验室(ex_sys)
字段名称
字段标识
数据类型
长度
允许空
主键
实验室标识
Sys_id
int
4
No
Yes
实验室名称
Sys_name
vchar
50
No
No
实验室地点
Sy_place
vchar
50
No
No
表3-3学生(ex_stu)
字段名称
字段标识
数据类型
长度
允许空
主键
学号
Stu_id
vchar
20
No
Yes
姓名
Stu_name
vchar
50
No
No
班级
Stu_class
vChar
50
No
No
专业
Stu_zhy
vChar
50
No
No
性别
Stu_stu
vChar
50
No
No
系别
Stu_xb
vChar
50
No
No
用户名
iuser
vchar
50
No
Yes
表3-4教师(ex_tch)
字段名称
字段标识
数据类型
长度
允许空
主键
教师编号
tch_id
vchar
50
No
Yes
用户名
Username
vchar
50
Yes
No
性别
tch_sex
vchar
50
Yes
No
部门
tch_department
vchar
50
Yes
No
表3-5实验(ex_sy)
字段名称
字段标识
数据类型
长度
允许空
主键
自动编号
id
Int
4
No
no
实验编号
sy_id
varchar
80
No
Yes
实验教师
Sy_tch
varchar
50
No
No
实验地点
Sy_place
varchar
50
No
No
实验名称
Sy_title
varchar
50
No
No
实验内容
Sy_content
ntext
16
No
No
开始时间
Sy_starttime
datetime
8
No
No
结束时间
Sy_endtime
datetime
8
No
No
表3-6实验预约表(ex_syyy)
字段名称
字段标识
数据类型
长度
允许空
主键
学生编号
Stu_id
Int
4
No
Yes
实验编号
sy_id
vchar
50
No
Yes
实验状态
Sy_tch
vchar
50
No
No
字段名称
字段标识
数据类型
长度
允许空
主键
自动学号
id
Int
4
No
Yes
公告名称
ititle
vchar
50
No
No
公告要求
content
ntext
16
No
No
公告发布时间
itime
datetime
8
No
No
表3-7公告(ex_note)
表3-8实验成绩表(ex_sycj)
字段名称
字段标识
数据类型
长度
允许空
主键
学生学号
Stu_id
vchar
4
No
Yes
实验编号
sy_id
vchar
50
No
Yes
成绩
Sy_tch
vchar
50
No
No
4.代码设计
4.1触发器脚本
修改表ex_sy中的sy_place,则表ex_sys中的sy_place随之改变
ifexists(select*fromex_sywherename='Product_ID'andtype='tr')
droptriggersy_place
go
createtriggersy_placeonProductsforupdateas
ifupdate(sy_place)
begin
declare@sy_place_newchar(50),@sy_place_oldchar(50)
select@sy_place_new=ProductIDfrominserted
select@sy_place=sy_placefromdeleted
updateex_syssetsy_place=@sy_place_new
whereex_sy=@sy_place
end
go
updateex_stusetsy_place='asd'wheresy_place=sdf'
go
select*fromex_sy
select*fromex_sys
4.2视图脚本
SELECTdbo.ex_stu.iuser,dbo.ex_sy.id,dbo.ex_sycj.Stu_id
FROMdbo.ex_noteINNERJOIN
dbo.ex_syONdbo.ex_note.id=dbo.ex_sy.idINNERJOIN
dbo.ex_sycjONdbo.ex_sy.sy_id=dbo.ex_sycj.sy_idINNERJOIN
dbo.ex_sysONdbo.ex_sy.sy_id=dbo.ex_sys.sy_idCROSSJOIN
dbo.ex_stu
4.3存储过程脚本
统计每位老师所教学生的人数的存储过程
create proc pro_tjxsrs
@tch int,@stunum int output
as
select @stunum=count(*) from jiaoke group by tch_id having tch_id=@tch
测试存储过程
declare @tch int,@stunum int
select @tch=1
exec pro_tjxsrs @tch,@stunum output
print @stunum
--统计某一实验的状态的存储过程
create proc pro_state
@stu int,@sy int,@Sy_tch varchar(50) output
as
select @Sy_tch=Sy_tch from ex_syyy where @stu=stu_id and @sy=sy_id
4.3数据库恢复与备份
数据库的完全备份
backupdatabaseshiyanshiguanli
todisk='f:
\备份数据库\shiyanshiguanli'
withinit
go
数据库的恢复
restoredatabaseshiyanshiguanli
fromdisk='f:
\备份数据库\shiyanshiguanli
withrecovery
go
数据库差异备份
backupdatabaseshiyanshiguanli
todisk='f:
\备份数据库\shiyanshiguanli
withdifferential
go
数据库的恢复
restoredatabaseshiyanshiguanli
fromdisk='f:
\备份数据库\shiyanshiguanli
withnorecovery
go
restoredatabaseshiyanshiguanli
fromdisk='f:
\备份数据库\shiyanshiguanli
withfile=2
go