1、数据库原理课程设计182020年4月19日文档仅供参考目录数据库原理课程设计任务书01.问题描述21.1背景21.2数据需求2.数据库设计32.1 E-R图32.2数据流程图72.3数据字典72.4关系图:93.数据库源代码103.1数据库建立103.2数据初始化124.结果数据处理154.1单表查询155.结束语245.1课程设计心得241.问题描述1.1背景 . 药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。本系统主要包含系统用户管理模块、药品管理模块、销售管理模块、进货管理模块、存货转移管理模块。药品管理系统是以合理
2、、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机制规范了药品的价格。系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存,药品有效期提供采购计划或应暂停采购的药品清单,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理。1.2数据需求药品管理系统需要完成功能主要有:(1) 药品进货管理:当企业需要增加新的销售药品时,利用此模块能够添加新的药品信息,删除旧的药品信息,修改已存在的药品信息,提供所有与药品相关的各类信息,初始化库存,初始化供应商相关信息。(2)药品销售管理:药品统一的价格销售,对已查询销售单,
3、能够对药品的价格进行控制。(3)库存转移管理:实际生活中容易发生药品过期和损毁,此时利用此模块对过期的药品和损毁的药品进行清理。(4)查询与报表分析:此功能并未单独作为一个模块,而是分布在各个模块中,各个模块产生业务时,能够在各模块的相应功能按钮上选择查询。.数据库设计2.1概念结构设计. 药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。本系统主要包含系统用户管理模块、药品管理模块、销售管理模块、进货管理模块、存货转移管理模块。药品管理系统是以合理、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统
4、一的药价管理机制规范了药品的价格。系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存,药品有效期提供采购计划或应暂停采购的药品清单,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理。 2.1.1类别实体E-R图: 药品E-R图制造商信息E-R图 药品存储信息E-R图实体联系E-R图数据库的逻辑设计3.逻辑结构设计:(1)买药人信息:(买药人编号,药品编号,药品数量,买药人姓名,买药人性别,买药人年龄,买药人联系电话)。(2) 药品信息:(药品编号,药品名称,药品分类,药品规格,制造商编号,进药单价,卖药单价)。(3)药品存储信息:(仓库编号,药
5、品编号,药品数量)。(4) 制造商信息(制造商编号,制造商名称,制造商地址,制造商联系电话)。数据库的物理设计药品信息表中列名数据类型可否为空说明药品编号INTNOT NULL(主键)药品编号药品名称CHARNOT NULL药品名称药品分类CHARNOT NULL药品分类药品规格CHARNOT NULL药品规格制造商编号INTNOT NULL制造商编号进药单价MONEYNULL进药单价卖药单价MONEYNULL卖药单价制造商信息表中列名数据类型可否为空说明制造商编号INTNOT NULL(主键)制造商编号制造商名称VARCHARNOT NULL unique制造商名称制造商地址VARCHARN
6、OT NULL制造商地址制造商联系电话VARCHARNULL制造商联系电话药品存储信息表中列名数据类型可否为空说明仓库编号INTNOT NULL (主键),仓库编号药品编号INTNOT NULL (外主键)药品编号药品数量INTNOT NULL药品数量买药人信息表中列名数据类型可否为空说明买药人编号INTNOT NULL (主键),买药人编号药品编号INTNOT NULL (外主键)药品编号药品数量INTNULL药品数量买药人姓名 CHARNULL买药人姓名买药人性别CHARNULL买药人性别买药人年龄INTNULL买药人年龄买药人联系电话CHARNULL买药人联系电话2.4关系图:数据库存表
7、关系图3.数据库源代码3.1数据库建立create database 药品管理系统on(name=药品管理_DATA, filename=e:药品管理系统DATA药品管理_DATA.MDF, size=10, maxsize=50, filegrowth=2)log on( name=药品管理_LOG, filename=e:药品管理系统DATA药品管理_LOG.LDF, size=2, maxsize=10, filegrowth=1)go3.1.2创立药品信息表create table 药品信息(药品编号INT NOT NULL PRIMARY KEY,药品名称CHAR(40) NOT N
8、ULL,药品分类CHAR(20) NOT NULL,药品规格CHAR(20),制造商编号INT NOT NULL FOREIGN KEY REFERENCES 制造商信息(制造商编号),进药单价MONEY CHECK(进药单价0),卖药单价MONEY CHECK(卖药单价0),)3.1.3创立制造商信息表CREATE TABLE 制造商信息(制造商编号INT NOT NULL PRIMARY KEY,制造商名称VARCHAR(40) NOT NULL unique,制造商地址VARCHAR(40) NOT NULL,制造商联系电话VARCHAR(20),)3.1.4创立药品存储信息表CREAT
9、E TABLE 药品存储信息(仓库编号INT NOT NULL PRIMARY KEY,药品编号INT NOT NULL FOREIGN KEY REFERENCES 药品信息(药品编号),药品数量INT NOT NULL CHECK(药品数量=0),)3.1.5买药人信息表CREATE TABLE 买药人信息(买药人编号INT NOT NULL PRIMARY KEY,药品编号INT NOT NULL FOREIGN KEY REFERENCES 药品信息(药品编号),药品数量INT,买药人姓名CHAR(20),买药人性别CHAR(2) DEFAULT男,买药人年龄INT,买药人联系电话CH
10、AR(20),)3.2数据初始化3.2.1添加药品到表药品信息中INSERT 药品信息VALUES( ,珍视明滴眼液,眼科用药,250ml,1002,4.5,8)INSERT 药品信息VALUES( ,阿莫西林胶囊,消炎药,0.25克/粒,1001,4.5,8)INSERT 药品信息VALUES( ,健胃消食片,胃病用药,0.15mg,1001,3,5)INSERT 药品信息VALUES( ,维C银翘片,感冒用药类,0.15mg,1005,5.5,8)INSERT 药品信息VALUES( ,速效伤风胶囊,感冒用药类,0.15mg,1000,4.5,6)INSERT 药品信息VALUES( ,慢
11、咽舒宁,咽喉口腔用药,0.15mg,1004,3,5)INSERT 药品信息VALUES( ,炎可宁片,消炎药,0.2mg,1003,7,8)3.2.2添加制造商到表制作商信息中insert 制造商信息values(1000,上海强生制药有限公司,上海,)insert 制造商信息values(1001,广州白云山制药股份有限公司,广东,)insert 制造商信息values(1002,江西珍视明药业有限公司,江西,)insert 制造商信息values(1003,北京同仁堂,北京,)insert 制造商信息values(1004,太极集团锦阳制药有限公司,北京,)insert 制造商信息val
12、ues(1005,云南白药制药有限公司,云南,)3.2.3添加库存信息到表药品存储信息中INSERT 药品存储信息VALUES(0001, ,14000)INSERT 药品存储信息VALUES(0001, , 0)INSERT 药品存储信息VALUES(0001, ,14300)INSERT 药品存储信息VALUES(0002, ,18740)INSERT 药品存储信息VALUES(0003, ,24300)INSERT 药品存储信息VALUES(0003, ,43500)INSERT 药品存储信息VALUES(0004, ,15200)INSERT 药品存储信息VALUES(0004, ,3
13、4300)3.2.4添加买药人到表买药人信息中INSERT 买药人信息VALUES( 1, ,5,苏子威,女,50,)INSERT 买药人信息VALUES( 2, ,10,叶小四,女,70,)INSERT 买药人信息VALUES( 3, ,1,张三,男,20,)INSERT 买药人信息VALUES( 4, ,6,李四,男,30,)INSERT 买药人信息VALUES( 5, ,8,王五,女,18,)INSERT 买药人信息VALUES( 6, ,8,李刚,女,5,)4.结果数据处理4.1单表查询4.1.1表药品信息中查询演示:4.1.2表制造商信息中查询演示:4.1.3表药品存储信息中查询演示
14、:4.1.4表买药人信息查询演示:查询买药人年龄小于50岁的姓名SQL语言:select 买药人姓名from 买药人信息where 买药人年龄50go查询买药人为女的信息。SQL语言:select *from 买药人信息 where 买药人性别=女go5.结束语5.1课程设计心得经过这次设计,我进一步加深对基础理论的理解,扩大专业知识面,对收集资料、查阅文献、方案制定等实践方面得到了很好的锻练,促进对所学知识应用能力的提高。同时,发现问题、分析归纳、综合比较的逻辑分析能力、处理问题等能力也得到了提高。可是在这次设计过程中,还是发现了自己很多不足之处,也遇到了许多问题和困难,而这些困难大多是学习中不注重自己系统学习,学有所用造成的,这让我认识到系统的学习和锻炼的重要性,基础知识掌握不但要多,而且要会运用它,那样的话设计才会更全面、更顺利、更完美。