客户姓名 客户性别 客户的电话
varchar(10) not null —— varchar(2)
—— ——
varchar(20)
采购
列名 数据类型 约束
采购单编号 varchar(10) not null
供应商编号 varchar(10) not null
药品名称 varchar(30) not null
职员编号 varchar(10) not null
采购量 int not null
发货 列名 发货单编号 供应商编号 药品名称 职员编号 发货量 发货日期
数据类型
约束
采购日期
date
主外键 主键 外键 外键 外键 —— ——
主外键 主键 外键 外键 外键 —— ——
varchar(10) not null varchar(8)
not null
varchar(30) not null varchar(10) not null int date
not null
采购退货 列名
数据类型
约束 not null not null not null not null
主外键 主键 外键 外键 外键
采购退货单编号 varchar(10) 供应商编号 药品名称 职员编号
varchar(10) varchar(30) varchar(10)
退货量 退货原因
int
varchar(30)
not null
—— ——
客户退货 列名
客户退货单编号 客户编号 药品名称 职员编号 退货量 退货原因
数据类型
约束
主外键
varchar(10) not null 主键 varchar(10) not null 外键 varchar(30) not null 外键 varchar(10) not null 外键 int
not null ——
——
varchar(30)
销售 列名 销售单编号 客户编号 药品名称 职员编号 销售量 销售日期
数据类型
约束
主外键 主键 外键 外键 外键 —— ——
varchar(10) not null varchar(10) not null varchar(30) not null varchar(10) not null int date
not null
客户订药 列名 订药单编号 客户编号 药品名称 职员编号 订药量
数据类型
约束
主外键
varchar(10) not null 主键 varchar(10) not null 外键 varchar(30) not null 外键 varchar(10) not null 外键 int
not null ——
订药日期 date ——
入库 列名 入库单编号 药品名称 仓库编号 职员编号 入库量 入库日期
数据类型
约束
主外键
varchar(10) not null 主键 varchar(30) not null 外键 varchar(10) not null 外键 varchar(10) not null 外键 int date
not null ——
——
出库 列名 出库单编号 药品名称 仓库编号 职员编号 出库量 出库日期
报损 列名 报损单编号 药品名称 仓库编号 职员编号 报损量 报损原因
数据类型
约束
主外键 主键 外键 外键 外键 —— ——
数据类型
约束
主外键
varchar(10) not null 主键 varchar(30) not null 外键 varchar(10) not null 外键 varchar(10) not null 外键 int date
not null ——
——
varchar(10) not null varchar(30) not null varchar(10) not null varchar(10) not null int
not null
varchar(30)
盘存 列名 盘存单编号 药品名称 仓库编号 职员编号 盘存量
数据类型
约束
主外键
varchar(10) not null 主键 varchar(30) not null 外键 varchar(10) not null 外键 varchar(10) not null 外键 int
not null ——
四、系统实现
4.1 数据库实施(详见附录)
数据库的物理设计阶段之后就进入了实施阶段,这一阶段要用SQL2000来操作。具体的数据库,数据表,视图,索引和存储过程等都是这个阶段用SQL语句创建。
4.1.1数据库及数据库对象建立
药店的药品管理所涉及的对象主要包括:数据库、基本表、视图、索引、触发器以及存储过程。以实现对数据的操作的简便和有效。
(详细的sql代码见附录)。 4.1.2 数据入库
对各个主要数据表要录入20条以上的记录,方法可用EXCEL批量导入,也可以逐条录入。 4.1.3 数据库测试
主要内容是对建立的数据库及数据库对象进行测试 具体要求:
(1)要设计好测试数据
(2)对测试的结果要以图片形式,同时注意图片的格式 (3)对测试结果进行分析,是否满足设计要求。 (数据操作的验证,存储过程的验证详见附录。)
五、系统评价
这次数据库的课程设计是医院药品进销存系统,医院药品进销存系统能够为用户提供充足的信息和快捷的查询手段。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好等。这些优点能够极大地提高医院药品进销存系统的效率, 而在本系统中还有很多的遗漏和欠缺,但是基本的医院药品进销存系统的功能,已经能够实现。
六、课程设计心得、总结
在此次数据库设计中,我有一下心得及体会: 一.在这学期的数据库系统概论学习中,因为对数据库系统的认识不够深刻,以及平时所做的练习都是老师给定的表,自己只是做简单的查询,删除,更新工作,所以给了我一个很大的误区:数据库系统只是一个很简单的系统,它只会做简单的工作。在老师说做数据库设计师,我觉得就是一个简单的事情。但是我错了,在这次实习中我遇到了很多的问题,比如:对于我的题目《医药销售管理系统》,在对现实的抽象上我遇到了较多的问题,我觉得自己可以做的业务一经老师的指导才知道看似简单的问题其实是那么的复杂。
二.我深刻的感受到了数据库设计是环环嵌套的,只有做好了需求分析,有了好的数据流图,才会使后期的工作顺利的展开,否则就会在折回来接着做需求分析,所以我们要花大量的时间去做需求分析。
在此次课程设计中我按时完成了数据库设计的要求。同时经过这次课程设计我知道了做任何事都要事先考虑好所有可能发生的事情,然后做好相应的准备。
附录: Sql
语句
create database YYJXC --表
create table Supplier(
Supnumber varchar(10) primary key, Supname varchar(30) not null, Supadress varchar(40) not null, Supphone varchar(20))
create table Goods(
Gname varchar(30) primary key, Gkind varchar(20), Gtype varchar(20),