实验室管理系统数据库设计.docx
实验室管理系统数据库设计说明书拟制人 刘平平戴祺审核人批准人【2 0 13年1月15日】错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。1. 引言1。1课题背景1.2研究意义储误!未定义书签。2. 外部设计储误!未定义书签。2。1支持软件储误!未定义书签。3. 结构设计3。1逻辑结构3。2物理结构储误!未定义书签。4. 代码设计4。1触发器脚本4。2视图脚本4. 3数据库恢复与备份储误!未定义书签。1. 引言1。1课题背景计算机技术的进步,促使现代工业技术在快速发展,随着科研和生产技术 的不断发展,原来的人工管理模式已显得不太适应,而对于高校实验室,无 论其规模的大小,每时每刻都会产生例如实验设备信息、实验数据、设备维修 等等这样大量的信息,这些数据、信息不仅是一些测量、分析的数据,还有许 多维持实验室运行的管理型数据。在以往的手工管理、纸袋储存数据的方式下, 这些海量般的数据、信息,使得实验室的管理人员以及使用人员为维护这些数据 浪费了大量的物力和时间,效率低下,并且经常出错,更谈不上数据的快速 科学分析。在这一背景下, 实验室信息管理系统(LIMS )开始出现,并在实际 应用中得到了快速发展,成为一项崭新的实验室管理与应用技术。在当今这样一 个网络信息时代,除了提高实验室自身专业水准,提高实验室的管理水准已经 是唯一的选择。实验室信息管理系统(LIMS)无疑会把实验室的管理水平提 升到信息时代的高水平。1。2研究意义高校实验室信息管理系统是一个以实验室信息管理和实验信息管理为主的 先进的网络系统,能够为用户提供充足的实验室信息和实验信息的查询手段。传 统的人工管理实验室这种古老的方式来进行,已完全不能满足学校对实验室规划 的需要,实验室信息管理系统能够极大地提高实验室管理的效率,也是使学校的 科学化、正规化管理的重要条件.随着科学技术的不断提高,计算机科学日渐成 熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越 来越重要的作用.高校实验室信息管理系统就是要将手工管理变为计算机管理,把实验管理 放在网上进行,达到高效、准确、便捷的目的。供学生查阅相关信息,限定学生 在一定时间内统一在网上预约实验,实验完成后,由实验指导教师在网上为自己的学生评分,上传到网络后学生查看成绩。实验室管理系统能加强实验室规范管理,进行优化组合,理顺内、外部关系, 有效利用实验室资源,优化实验室教学仪器的运行环境,构建一种全新的整合优 势,将实验室管理员、教师、学生三者有机结合,以保证教学实验有序、顺利、 合理的完成,提高实验课的效率,从而保障实验教学质量,提高实验室综合能力和 效率,提高实验室的投资效益.2. 外部设计2.1支持软件本数据库主要采用微软公司的成熟数据库系统SQL Se r ver2005,提供了较 为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。SQL Server数据库SQL是英文Structured Query Language的缩写,意思为结构化查询语 言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美 国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQ L语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提 取数据等。目前,绝大多数流行的关系型数据库管理系统,如O racle、Sybase、Mi c rosoft SQL Serv er> Access等都采用了 SQL语言标准13。虽然很多 数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert,、Up date、Delete、Cr eate以及Drop在内的标准的SQL命令仍然可以被用 来完成几乎所有的数据库操作。3. 结构设计3. 1逻辑结构5 =3.1.1系统涉及的关系实体和对应关系本系统有三个实体,分别是实验室、教师、学生。实验室实体的基本属性有实验室名称,实验室地址,实验室标识、实验编 号,实验教师,实验名称,实验内容,实验地点。一个实验室可以对多个学生,一个 学生可以使用一个实验室,所以是一对多的关系.一教师可以指导一个实验,一个 实验可以被一个教师所指导,所以是一对一的关系;一个学生可以选修多个实验, 一实验可以被多个学生选修,所以是多对多的关系.教师实体的基本属性有用户名,教师编号,性别,部门。由于一名教师可以 使用多个实验室,一个实验室库可以被多个老师使用,所以是多对多的关系。学生实体的基本属性有学号,性别,姓名。一个教师可以交多个学生一个 学生被一个老师交,所以是一对多的关系。3.1。3总体E-R图总体E-R图,如图3.5所示。图3. 5 ER图3。1。4关系图3。1.2关系模式用户(用户名,用户密码,用户级别,关联ID)实验室(实验室标识,实验室名称,实验室地点)学生(学号,姓名,班级,性别,系别,专业)教师(教师编号,用户名,性别,部门)实验(实验编号,实验教师,实验地点,实验名称,实验内容,时间)实验预约表(学生编号,实验编号,实验状态)实验成绩表(学生编号,实验编号,成绩)公告(编号,公告名称,公告要求,公告发布时间)3。2物理结构表31用户信息表(ex_user)字段名称字段标识数据类型长度允许空主键标识IDint4NoYes用户名iuservcha r50NoNo用户密码Passvcha r50NoNo用户级别Typei n t4NoNo关联IDglidvc h ar20YesNo表3-2实验室(ex_sys)字段名称字段标识数据类型长度允许空主键实验室标识S y s_i dint4NoYes实验室名称Sys_namevchar50NoNo实验室地点S y_placevch ar50NoNo表 33 学生(e x _stu)字段名称字段标识数据类型长度允许空主键学号Stu _idvchar20NoYes姓名Stu _namevchar5 0NoNo班级S t u _c 1assvChar50NoNo专业Stu _zhyvC ha r50NoNo性别Stu_stuvChar50NoNo系别Stuxbv Char50NoNo用户名iu se rv ch ar50NoYes表 3-4 教师(e x_ t ch)字段名称字段标识数据类型长度允许空主键教师编号tchidv cha r5 0NoYes用户名Use r namevcha r5 0Ye sNo性别tch_ s exvch a r50YesNo部门tc h d e par tmentv c har5 0YesNo表 3-5 实验(ex_sy)字段名称字段标识数据类型长度允许空主键自动编号idInt4Non o实验编号sy_idv a r char80NoYes实验教师Sy_t c hvar c har50NoNo实验地点S y_placevarchar50NoNo实验名称S y_titl evarchar50NoNo实验内容Sy_ c on t entnte x t16NoNo开始时间S y_s t arttimedatetime8NoNo结束时间Sy_endtimedat e time8NoNo表3-6实验预约表(ex_syyy)字段名称字段标识数据类型长度允许空主键学生编号Stu_idInt4NoYes实验编号s y _idvc h ar50NoYes实验状态S y_tc hvch ar50NoNo表 3-7 公告(ex_n o te)字段名称字段标识数据类型长度允许空主键自动学号idInt4NoYes公告名称itit 1 evcha r5 0NoNo公告要求contentnt e xt1 6NoNo公告发布时间itimeda tetime8NoNo表38实验成绩表(ex_sycj)字段名称字段标识数据类型长度允许空主键学生学号S t u_idv c ha r4NoYes实验编号s y _ i dvcha r50NoYes成绩Sy_t c hvchar50NoNo4. 代码设计4。1触发器脚本修改表exsy中的sy_pl ace,则表e x_s y s中的sy_place随之改变i f exists (select * from ex_s y w here name =' P ro d uct_ID and typ e= tr) drop tr i g ge r sy_pla c eg。cr ea te trig ger sy_place on P ro d u ct s f or u pdate asif u p dat e ( sy _ pl ace)be gi nde c la re sy_ p lac e _ n ew cha r(50), s y_ p lace_ o ld char (5 0)s e lect sy_ p la c e_ n ew=P rod uctID from i ns e r tedselect s y _plac e= sy plac e from de let edupdate ex_sys set sy p l ace = sy_place _n e ww he re e x _sy=sy_pl a ceendgou pdate e x_st u se t sy_pl ac e=asd where s y _place=s d fgoselect 大 from e x_syselect * from ex_sys4。2视图脚本SELECT dbo。ex_st u .iuse r , dbo.ex_s y。id, dbo°e x_ s y c j。Stu_idFROM d b o。ex_note INN ER J GINdbo.e x _sy O N dbo. ex _no te。i d = d bo.e x _s y .id INN ER JO I Ndbo. ex_s y cj ON dbo. e x_sy. sy_id = dbo.ex_sycj. sy_id INNERJOINdbo. ex_s y s ON db o. ex_ s y。sy_id = dbo。ex_sys°sy _i d CRO S SJOINdbo。e x s t u4.3存储过程脚本统计每位老师所教学生的人数的存储过程c r eate proc p ro_t j x s rstc h in t ,stu nu m int out putassel e c t stunum=count( *) f r om j i aoke gro up by t ch_id ha v ing t ch_ id=tc h测试存储过程de cl a re tc h i nt, stu n um int Aselec t t ch=1exec p r o _ tj x sr s tch, st u num out putp r int stunumaa统计某一实验的状态的存储过程Acreat e proc pro _s t ateAstu i n t, sy int, Sytc h va rc har( 5 0) out puta s a s elect S y_tc h = S y_ t ch fr om ex_s y yy where stu=stu _ id a n d sy =sy i d4o3数据库恢复与备份数据库的完全备份backup datab a s e sh iya ns h i gu a nlit o disk =f: '备份数据库 s h iy an s h ig uan li'with initgo数据库的恢复restore database shiyansh iguanlifrom disk = ' f : 备份数据库shiyan s higua n liwith recoverygo数据库差异备份backup d ata b ase shi yan s hi gu a n lit o d i sk =f:、备份数据库' s hiyan s hi gu an liwith differ e ntia lgo数据库的恢复resto r e databa s e sh i yan shig u anl ifrom disk = ' f:、备份数据库' s hiyansh i guanl iw ith norec ov e r ygorestore database shiyanshiguanlifrom disk = f: '备份数据库 shiya n shi gua nliwith fi l e=2 go