某医院信息管理系统数据库设计.docx
《某医院信息管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《某医院信息管理系统数据库设计.docx(14页珍藏版)》请在冰点文库上搜索。
某医院信息管理系统数据库设计
某医院信息管理系统
数据库设计说明书
拟制人高勇
审核人______________________
批准人______________________
【2013年1月13日星期日】
数据库设计说明书
1.引言
1.1编写目的
通过这次做实验,更加巩固练习SQL,ER图,UML建模,等知识,对自己的逻辑能力的锻炼!
1.2背景
a.待开发软件系统的名称:
某医院信息管理系统
b.本项目的任务提出者:
石河子大学
c.本项目开发者:
高勇
d.本项目用户:
医院职工
1.3参考资料
2.外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQLServer2005,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
3.结构设计
3.1概念结构设计
本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,
系统登陆:
图4.1登录界面图
登录系统后进入XX省数字医院药品管理信息系统:
图4.2药品管理信息系统界面图
选择药品管理的功能。
点数据修改,可以进入添加新的药品信息,对药品必填的信息必须写入,然后会弹出窗口提示添加成功;并可以在药品列表中查看到对于不符合的也可以在列表中进行修改或者直接删除。
图4.3药品信息添加图
图4.4药品列表显示图
添加药品信息后,可以进行库存初始化,选择库存管理项目可以进行库存管理功能:
首先进行库存初始化,并能在库存列表查看,也可以在库存列表中进行修改甚至删除。
图4.5库存初始化添加图
图4.6库存列表图
点入库单管理操作,进行此数据修改,可以实现药品入库处理,进行药品入库之后可以在入库单列表显示。
并根据需要可在此进行数据修改和删除。
需要注意的是,在进行药品入库的时候,需要查询药品编号,按照编号进行添加。
图4.7入库单添加图
图4.8入库单列表图
点击出库管理操作,可以对出库单进行管理,添加出库单即是对药品进行出库。
出库后可在出库单列表显示,用户可以根据出库的内容如果需要修改和删除的可进行操作。
图4.9出库单添加图
3.2E-R图
本系统涉及到以下实体:
图2.4用户E-R图
图2.5药品E-R图
图2.6库存E-R图
图2.7入库E-R图
图2.8入库E-R图
图2.9实体联系E-R图
3关系图
图3.1药品信息管理关系图
图3.2
3.3物理结构设计
表一药品信息表
列名
数据类型
是否允许为空
描述
id
Int
否
药品编号
name
Varchar(100)
是
药品名称
cname
Varchar(100)
是
化学名称
standard
Varchar(100)
是
规格
sort
Varchar(100)
是
药品类型
type
Varchar(100)
是
剂型
marker
Varchar(100)
是
批号
address
Varchar(150)
是
厂商
表二药品入库表
列名
数据类型
是否允许空值
默认值
描述
id
Int
否
入库单号
did
Int
是
药品编号
marker
Varchar(100)
是
批号
intime
Datetime
是
Getdate()
入库日期
usefultime
Datetime
是
有效日期
inprice
Float
是
0
进价
outprice
Float
是
0
预售价
num
Int
是
0
数量
singleunit
Varchar(50)
是
整量单位
multunit
Varchar(50)
是
散量单位
checked
Varchar(50)
是
验收人
表三药品出库表
列名
数据类型
是否允许为空
默认值
描述
id
Int
否
出库单号
did
Int
是
药品编号
marker
Varchar(100)
是
批号
num
Int
是
数量
outtime
Datetime
是
Getdate()
出库日期
checked
Varchar(50)
是
验收人
表四药品库存表
列名
数据类型
是否允许为空
默认值
描述
id
Int
否
库存号
did
Int
是
药品编号
marker
Varchar(100)
是
批号
name
Varchar(100)
是
药品名称
num
Int
是
0
数量
singleunit
Varchar(50)
是
整量单位
multunit
Varchar(50)
是
散量单位
intime
Datetime
是
Getdate()
入库日期
usefultime
Datetime
是
有效日期
inprice
Float
是
0
进价
outprice
Float
是
0
预售价
lowerlimit
Int
是
0
库存下限
checked
Varchar(50)
是
验收人
5.存储过程脚本:
--创建存储过程统计某段时间内,各科室的就诊人数
createprocpro_renshu
@就诊人数int,@科室名varchar(10),@开始时间datetime,@结束时间datetime
as
select@就诊人数=count(*)from病人信息表where病人信息表.就诊科室=科室表.科室号
and就诊时间between@开始时间and@结束时间
groupby科室名
having科室名=@科室名
6.触发器脚本:
--药品入库自动修改库存量
createtriggertri_rk
on药品入库表forinsert
as
declare@药品编号int,@原库存量int,@入库量int
select@药品编号=did,@入库量=numfrominserted
select@原库存量=numfrom药品库存量wheredid=@药品编号
update药品库存表setnum=@原库存量+@入库量wheredid=@药品编号
--药品出库自动修改库存量
createtriggertri_ck
on药品出库表forinsert
as
declare@药品编号int,@原库存量int,@出库量int
select@药品编号=did,@出库量=numfrominserted
select@原库存量=numfrom药品库存量wheredid=@药品编号
update药品库存表setnum=@原库存量-@出库量wheredid=@药品编号
7:
数据库恢复与备份:
数据库的完全备份
backupdatabaseteacher
todisk='f:
\备份数据库\teacher
withinit
数据库的恢复
restoredatabaseteacher
fromdisk='f:
\备份数据库\teacher'
withrecovery
数据库差异备份
backupdatabaseteacher
todisk='f:
\备份数据库\teacher
withinit
数据库的恢复
restoredatabaseteacher
fromdisk='f:
\备份数据库\teacher
withnorecovery
restoredatabaseteacher
fromdisk='f:
\备份数据库\teacher
withfile=2