1、10级信管专业103班数据库应用系统课程设计课程论文信息工程学院数据库课程设计论文题 目:医药销售数据库设计学 号:专业班级:姓 名:指导老师:完成日期:引言- 1 -1需求分析- 1 -2数据库结构设计- 4 -2.1 概念设计- 4 -2.1.1 分E-R图建立- 5 -2.2 逻辑设计- 7 -2.2.1 建立关系模式- 8 -2.2.2 关系模式规范化处理- 9 -2.2.3 用户子模式建立- 9 -2.2.4 关系模式逻辑结构定义- 9 -3 数据库物理设计- 10 -3.1索引- 10 -3.2触发器- 10 -3.3存储过程- 10 -4数据库实施与测试- 11 -4.1 数据库
2、实施- 11 -4.1.1 数据库及数据库对象建立- 11 -4.1.2 数据入库- 11 -4.2 数据库测试- 11 -5总结- 12 -6附录- 12 -6.1 附录一 数据字典- 12 -6.1.1 数据项- 12 -6.1.2数据结构- 14 -6.1.3数据流- 15 -6.1.4处理逻辑- 17 -6.1.5 数据存储- 18 -6.2 附录二 关系表- 19 -6.3 附录三 Sql语句- 23 -6.4 附录四 Sql语句验证- 31 -6.5附录五 Oracle语句- 36 -6.6 附录六Oracle语句验证- 41 -医药销售数据库设计学生姓名 张文萍(信息工程学院信息
3、管理与信息系统10级3班)摘要 目前中小型药店的营业规模不断的扩大,药品的数量和种类不断增加。对于许多仍处于人工管理阶段的药店来说,管理也越来越复杂。如果以药店工作人员的增加来实现药品的管理,虽然能使工作变得方便起来,但是这样带来更大的经济开销,对于中小型药店来说要解决实际问题并不是很合适。开发药品进销存管理系统可以很大程度上方便管理人员对药品的管理,实现药品管理的高效化和统一化。为便于管理的方便性和可行性。根据现阶段的应用需求的开发目标设计药品进销存数据库管理系统。实现药品采购,库存和销售管理的功能,完成对药品从采购到销售的流水作业的数据管理功能。关键字:药品;数据库设计;药品采购入库销引言
4、当今社会不断的进步,医药超市以及便民药店等药品销售服务机构已经走入了人们的生活,成为了人们生活必不可少的一部分,在很大程度上方便了人们的生活。为了在更大程度上满足人们的需求,许多药店的的规模进一步扩大,管理也进一步改善。逐步的走向市场销售的成熟化,管理的成熟化。而方便有效的管理手段已经成为了所有管理部门管理的有力工具,经营和运行整个药店药品进销存工作。传统的管理手段在今天的高速发展的时代中,已经不再体现人工管理的优势了,繁复和大量的手工记录和计算给管理带来了更多的重复工作,如果能将复杂的各类管理过程封装在一个操作中,执行每个管理步骤时使用相对应的功能,那就能给管理者带来更大的便捷。数据库设计的
5、目标就是为用户和各种应用系统提供一个信息基础设施和高效的运行环境。随着科学技术的不断提高, 计算机科学日渐成熟, 其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分, 使用计算机对物资信息进行管理, 具有比手工管理所无法比拟的优点.例如:检索迅速,查找方便,可靠性高,存储量大等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化,正规化管理的重要条件。针对典型的进销存管理系统,以医药销售行业的药品进销存业务为载体,设计药品进销存管理系统。以满足药店管理者对各类档案数据的管理,以现代化的思维模式去经营。1需求分析需求分析阶段就是分析
6、用户的需求,这也是设计数据库的起点。药品进销存管理系统是中型的药店管理人员方便药店作业的各个流程的工作为目的的。在设计需求分析这个阶段,主要确定药品进销存的业务流程、数据流程,以及要实现的功能、目标,还要用来判定设计结果是否符合实际和实用,达到最初的设计目标,就是进一步完善药品管理系统的功能,使销售服务更加方便,也能在很大程度上减轻工作者的负担。药品进销存管理的主要目标就是通过药品销售的整个作业流程管理和控制及对库存数据有效的统计和分析,以保证管理的畅通,使决策人员及早发现问题,采取相应措施,调整管理方式,同时,通过数据的分析,可以或得当前市场信息,也便于管理人员不断的进行管理的优化和提高管理
7、水平。通过查询资料和分析当前的药店经营状况,明确用户的需求而进行设计。并完成业务流程图和数据流程图。进一步创建数据字典,完成数据结构和数据处理功能模块。业务流图主要是阐述整个药品进销存过程的流水作业过程,包括药品的采购,库存管理和销售。实现进销存的有机统一结合。经过进一步的分析,详细的业务流图如图1-1所示。图1-1 药品进销存管理系统业务流图数据流程图反映的是药店作业过程的数据去向和流向。通过数据流程图,抽象现实世界的数据到药品进销存的物理模型。再根据这个物理模型要抽象出信息流,将物理模型转化成逻辑模型,反映信息在系统中的流动、处理和存储情况,在整个过程中,所得到的数据流程图可如下图1-2至
8、图1-6所示,分为顶层数据流图,第一层数据流图,第二层数据流图。- 47 -图1-2 顶层数据流图 图1-3 第一层层数据流图图1-4 第二层层数据流图(采购)图1-5 第二层层数据流图(销售)图1-6 第二层层数据流图(报损管理)图1-7 第二层层数据流图(盘存管理)2数据库结构设计主要包括概念设计和逻辑设计两个部分。2.1 概念设计将需求分析得到的用户需求抽象为信息结构(概念模型)的过程。要能充分的反应事物与事物之间的联系,是对现实世界的一个真实模型。在需求分析阶段得到的应用需求首先抽象为信息世界的结构才能更好的用某一DBMS实现这些需求。E-R模型是概念模型的有力工具。逐一设计分E-R图
9、,再将所有的分E-R图综合成系统的总E-R图。2.1.1 分E-R图建立分E-R图的建立依据于数据流图的建立。以下可从第二层数据流图分别建立分E-R图。详见图2-1至2-8。 图2-1 分E-R图 图2-2 分E-R图 图2-3 分E-R图 图2-4 分E-R图 图2-5 分E-R图 图2-6 分E-R图 图2-7 分E-R图 图2-8 分E-R图综合各部分的分E-R图,药品进销存管理系统的总体E-R图的设计如下图2-10所示。图2-10 全局 E-R图2.2 逻辑设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。根据DB
10、MS产品以及不同系统的限制,设计逻辑结构时一般有以下三个步骤:首先将概念结构转换为一般的关系,网状,层次模型;将转换来的关系,网状,层次模型向特定DBMS支持下的数据模型转换;最后对数据模型进行优化。药品管理系统的设计采用关系模型。E-R图转化为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系有以下不同的情况:(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转
11、换为关系的属性。(2) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系没模式,则与联系向连的各实体的码以及联系本身的属性均转换为关系的属性。(3) 一个m:n联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系的码的一部分。2.2.1 建立关系模式药品进销存系统涉及到的关系主要有:供应厂家和药品为m:n(多对多)的关系,将它们之间的联系转换为独立的关系模式。仓库和药品的关系为1:n(1对多),将其之间的联系与n端实体合并。职工和仓库的关系为1:n(一对多)的关系,也将其之间的联系
12、与n端实体合并。客户和药品之间的联系为m:n(多对多)的关系,将它们之间的联系转换为独立的关系模式。具体的转换如下所示,主键或外键已标注:(主键加粗,外键下划线)供应商(供应商编号,供应商名称,供应商地址,供应商电话)药品(药品名称,药品分类,药品剂型,药品单价,药品保质期)职员(职员编号,职员姓名,职员类别)仓库(仓库编号,仓库类别,仓库地址)客户(客户编号,客户姓名,客户性别,客户电话)采购(采购单编号,供应商编号,药品名称,职员编号,采购量,采购日期)发货(发货单编号,供应商编号,药品名称,职员编号,发货量,发货日期)客户订药(订药单编号,客户编号,药品名称,职员编号,订药量,订药日期)
13、销售(销售单编号,客户编号,药品名称,职员编号,销售量,销售日期)入库(入库单编号,药品名称,仓库编号,职员编号,入库量,入库日期)出库(出库单编号,药品名称,仓库编号,职员编号,出库量,出库日期)报损(报损单编号,药品名称,仓库编号,职员编号,报损量,报损原因)盘存(盘存单编号,药品名称,仓库编号,职员编号,盘存量)采购退货(购退货单编号,供应商编号,药品名称,职员编号,退货量,退货原因)客户退货(户退货单编号,客户编号,药品名称,职员编号,退货量,退货原因)2.2.2 关系模式规范化处理关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。范式是符合某一种级别的关
14、系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合。在本系统中,所有建立的表都符合三范式。2.2.3 用户子模式建立根据需求分析,研究建立满足不同需求的用户子模式,各个子模式的建立在更大程度上方便数据操作。用户子模式的定义如表3-1所示。具体实现过程见附录。供应商(供应商编号,供应商名称,供应商地址,供应商电话)药品(药品名称,药品分类,药品剂型,药品单价,药品保质期)药品销售(药品名称,销售量,销售日期)仓库报损(仓库编号,药品名称,报损量)库存(仓库编号,药品名称,盘存量)编号名称作用V-1
15、Vi_supplier查询供应商的信息V-2Vi_goods查询各类药品的信息V-3Vi_sale查询药品销售信息V-4Vi_baosun查询仓库药品报损信息V-5Vi_Kucun查询仓库药品库存信息 表2-12.2.4 关系模式逻辑结构定义对每个关系模式要以表格形式描述其具体内容。关系模式的表格形势将以附录二形式列出。 3 数据库物理设计主要包括数据库在物理设备上的存储结构与存取方法就是数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构的过程,就是数据库的物理设计。这一阶段主要的任务是确定数据库的物理结构,并不断的进行优化处理,主要建立
16、索引,触发器,存储过程。3.1索引建立索引是加快查询速度的有效手段。如果访问某一数据项的频率较高时,可为之建立索引。而系统在存取数据时会自动选择合适的索引作为存取路径,对用户是透明的。在本系统由于药品和供应厂家的访问频率较大,故为之建立索引。由于在使用时供应商的信息表,药品信息表,客户信息表访问的次数较多。故为之建立索引。建立的索引如下表所示。 表3-1编号名称定义备注I-1In_SupName见附录3.2触发器触发器是用户定义在关系表上的一类由事件驱动的过程。触发器的定义可以更加便捷的实现数据的操作,增加数据操作的灵活性,对数据有更大的控制能力。这里只要建立触发器来实现对数据的约束条件。如进
17、货量,药品入库时保质期的检测等。主要建立的触发器见表。编号触发器名称定义作用T-1tri_C02见附录三限制删除C-02客户的退货记录T-2tri_Acc见附录三限制某一药品入库量不小于400T-3tri_gprice见附录三限制更新的药品价格不小于1元,小于元的改为1元T-4tri_gshelf见附录三保质期到2010年的不允许插入T-5tri_buy见附录三限制采购量更新量不小于100表3-23.3存储过程存储过程可以实现数据库操作的增删改功能,在执行时需要调用。运用想函数一样,也可以有参数的参与。定义存储过程提供了过程封装的效果,执行只需调用,在更大程度上简化了数据处理过程。药品的进销存
18、过程部分存储过程如下表所示。表3-3编号存储过程名称定义作用P-1Goods_shelf见附录三查询某一药品保质期P-3pro_Gtype见附录三查询剂型为普通片的药品P-4pro_cback见附录三查询某种原因的药品的退货量P-5pro_addgoods见附录三插入一条药品信息P-6pro_delgoods见附录三删除一条药品记录P-7pro_orderSale见附录三按药品销量排序P-8pro_updIn见附录三更新入库量4数据库实施与测试数据库的物理设计阶段之后就进入了实施阶段,这一阶段要用SQL2008来操作。具体的数据库,数据表,视图,索引和存储过程等都是这个阶段用SQL语句创建。4
19、.1 数据库实施4.1.1 数据库及数据库对象建立药店的药品管理所涉及的对象主要包括:数据库、基本表、视图、索引、触发器以及存储过程。以实现对数据的操作的简便和有效。(详细的sql代码见附录三)。4.1.2 数据入库对各个主要数据表要录入20条以上的记录,方法可用EXCEL批量导入,也可以逐条录入。4.2 数据库测试主要内容是对建立的数据库及数据库对象进行测试具体要求:(1)要设计好测试数据(2)对测试的结果要以图片形式,同时注意图片的格式(3)对测试结果进行分析,是否满足设计要求。(数据操作的验证详见附录,存储过程的验证详见附录四。)5总结在此次数据库设计中,我有一下心得及体会:一在这学期的
20、数据库系统概论学习中,因为对数据库系统的认识不够深刻,以及平时所做的练习都是老师给定的表,自己只是做简单的查询,删除,更新工作,所以给了我一个很大的误区:数据库系统只是一个很简单的系统,它只会做简单的工作。在老师说做数据库设计师,我觉得就是一个简单的事情。但是我错了,在这次实习中我遇到了很多的问题,比如:对于我的题目医药销售管理系统,在对现实的抽象上我遇到了较多的问题,我觉得自己可以做的业务一经老师的指导才知道看似简单的问题其实是那么的复杂。二实习时,我深刻的感受到了数据库设计是环环嵌套的,只有做好了需求分析,有了好的数据流图,才会使后期的工作顺利的展开,否则就会在折回来接着做需求分析,所以我
21、们要花大量的时间去做需求分析。在此次实习中我按时完成了数据库设计的要求。同时经过实习我知道了做任何事都要事先考虑好所有可能发生的事情,然后做好相应的准备。6附录6.1 附录一 数据字典6.1.1 数据项 数据项编号数据项名数据项含义与其他数据项关系类型Dl-1Supnumber供应商编号varchar(10)Dl-2Supname供应商名称varchar(30)Dl-3Supadress供应商地址varchar(30)Dl-4Supphone供应商电话varchar(20)Dl-5Gsname药品名称varchar(20)Dl-6Gkind药品分类varchar(20)Dl-7Gtype药品剂
22、型varchar(20)Dl-8Gprice药品单价floatDl-9Gshelf药品保质期dateDl-10Empnumber职员编号varchar(10)Dl-11Empkind职员类别varchar(10)Dl-12Empname职员姓名varchar(10)Dl-13Hounumer仓库编号varchar(10)Dl-14Houkind仓库类别varchar(10)Dl-15Houaddr仓库地址varchar(20)Dl-16Buynumber采购单编号varchar(10)Dl-17Buydate采购日期dateDl-18Buyliang采购量intDl-19Sendnumber发
23、货单编号varchar(10)Dl-20Sendliang发货量intDl-21Senddate发货日期dateDl-22Lostnumber报损单编号varchar(10)Dl-23Lostreas报损原因varchar(30)Dl-24Lostliang报损量intDl-25Swnumber实物清单编号varchar(10)Dl-26Swliang实物数量intDl-27Jcnumber盘查记录单编号varchar(10)Dl-28Jcliang记录量intDl-29Pancnumber盘存单编号varchar(10)Dl-30Pancliang盘存实际量intDl-31Dynumber订
24、药单编号varchar(10)Dl-32Dydate订药日期dateDl-33Dyliang订药数量intDl-34Salenumber销售单编号varchar(10)Dl-35Saledate销售日期dateDl-36Saleliang销售量intDl-37Cusnumber客户编号varchar(10)Dl-38Cusname客户姓名varchar(10)Dl-39Cussex客户性别varchar(2)Dl-40Cusphone客户电话varchar(20)Dl-41Innumber药品入库单编号varchar(10)Dl-42Indate药品入库日期dateDl-43Inliang药品
25、入库量intDl-44Outnumber药品出库单编号varchar(10)Dl-45Outreas药品出库原因varchar(30)Dl-46Outdate药品出库时间dateDl-47Outliang药品出库量intDl-48CBacknum客户退货单编号varchar(10)Dl-49Cbackliang客户退货单量intDl-50Cbackreas客户退货原因varchar(30)Dl-51Sbacknum药店退货单编号varchar(10)Dl-52Sbackliang药店退货单数量intDl-53Sbackreas药店退货原因varchar(30)6.1.2数据结构数据结构编号数据
26、结构名称数据结构含义 数据结构组成DS-1Supplier供应商Supnumber,Supname,Supadress,SupphoneDS-2Customer客户Cusnumber,Cusname,Cussex,CusphoneDS-3Goods药品Gname,Gkind,Gtype,Gprice,GshelfDS-4Hourse仓库Hounumber,Houkind,HouaddrDS-5Employer职员Empnumber,Empname,EmpkindDS-7Buylist采购单Buynumber,Buydate,Buyliang,Gname,Supnumber,EmpnumberD
27、S-8Sendlist发货单Sendnumber,Sendliang,Senddate,Gname,Supnumber,EmpnumberDS-9Lostlist报损单Lostnumber,Lostreas,Lostliang,Gname,Empnumber,HounumberDS-10Swlist实物清单Swlistnumber,Swliang,Gname,Empnumber,HounumberDS-11Jclist盘查记录单Jcnumber,Empnumber,JcliangDS-12Panclist盘存单Pancnumber,Pancliang,Gname,Hounumber,Empnu
28、mberDS-13Dyaolist订药单Dynumber,Dydate,Dyliang, Gname,Cusnumber,EmpnumberDS-14Salelist销售单Salenumber,Saledate,Saleliang,Cusnumber,Empnumber,GnameDS-15Inlist入库单Innumber,Indate,Inliang,Gname,Empnumber,HounumberDS-16Outlist出库单Outnumber,Outdate,Outliang,Gname,Empnumber,HounumberDS-17Cbacklist客户退货单CBacknumbe
29、r,Cbackliang,Cbackreas,Gname,Cusnumber,EmpnumberDS-18Sbacklist采购退货单Sbacknumber,Sbackliang,Sbackreas,Gname,Empnumber,Supnumber6.1.3数据流数据流名称简述数据流来源数据流去向 数据流组成数据流量高峰流量发货单供应商发出的收货单供应商验收货品模块Sendnumber,Sendliang,Senddate,Gname,Supnumber,Empnumber15/月30/月采购单采购部发给供应商的采购单采购部供应商Buynumber,Buydate,Buyliang,Gnam
30、e,Supnumber,Empnumber15/月30/月合格单采购部发给库管员的进货单采购部库管模块Buynumber,Buydate,Buyliang,Gnumber,Gsname,Empnumber,Kugname15/月30/月不合格单采购部发给退货部的清单采购部退货模块Buynumber,Buydate,Buyliang,Gnumber,Gsname15/月30/月退货单退货部发给供应商的退货单退货部供应商Sbacknumber,Sbackliang,Sbackreas,Gname,Empnumber,Supnumber15/月30/月入库单库管员编制的入库记录库管员编制库存记录模块
31、Innumber,Indate,Inliang,Gname,,Hounumber30/月60/月退货记录单退货部向供应商的退单记录退货部编制退货记录模块Sbacknum,Sbackliang,Sbackreas,Sbackdate,Gnumber,Gsname31/月61/月采购记录单采购部编制的采购记录采购部采购记录模块SendnumberSendliangSenddate,Gnumber,Gsname,Supnumber,Supname32/月62/月订货单客户发出的订货单客户销售部Dynumber,Dydate,Dyliang, Gname,Cusnumber,Empnumber50/月
32、100/月销售单销售部给客户的销售记录销售部客户Salenumber,Saledate,Saleliang,Cusnumber,Empnumber,Gname51/月101/月出库单销售部给库房的出库记录销售部库房Outnumber,Outdate,Outliang,Gname,Empnumber,Hounumber52/月102/月退货单客户给退货部的退货单客户退货模块CBacknumber,Cbackliang,Cbackreas,Gname,Cusnumber,Empnumber15/月30/月销售记录单销售部编制的销售记录销售部销售记录模块Salenumber,Saledate,Sal
33、eliang,Cusnumber,Empnumber16/月31/月退货记录单退货部给客户的退单记录退货部编制退货记录模块CBacknumber,Cbackliang,Cbackdate,Gnumber,Cusnumber17/月32/月退单退货部审核通过的客户退单客户退货模块CBacknum,Cbackliang,Cbackreas,Cbackdate,Gnumber,Cusnumber18/月33/月退货确认单退货部给库房的退货记录退货部库房CBacknum,Cbackliang,Cusnumber,Empnumber,19/月34/月报损单库管给主管部的报损记录库管员编制主管部Lostn
34、umber,Lostreas,Lostliang,Gname,Empnumber,Hounumber30/月50/月不合格报损单主管检查不生效的报损单主管部库管Lostnumber,Lostliang,Gnumber,Gsname,Empnumber31/月51/月合格报损单主管检查生效的报损单主管部报损模块Lostnumber,Lostliang,Gnumber32/月52/月报损记录单主管检查的生效报损记录单主管部报损记录模块Lostnumber,Lostliang,Gnumber33/月53/月报损清单主管部发给库房的报损记录主管部库房记录模块Lostnumber,Lostliang,G
35、number,Empnumber34/月54/月药品清单库管发给盘查部的实物清单库管员编制盘查部Pancnumber,Pancdate,Pancliang,Gnumber,Empnumber35/月55/月记录单盘查部盘查后的记录单盘查部编制盘查部Pancnumber,Pancdate,Pancliang,Gnumber36/月56/月盘存单账务不实盘查部生成新的盘存单盘查部编制库房和盘存记录Pancnumber,Pancliang,Gname,Hounumber,Empnumber37/月57/月盘存清单盘查部发给库房的记录盘查部编制库房记录模块Pancnumber,Pancdate,Pan
36、cliang,Gnumber,Empnumber38/月58/月盘存记录单盘查部生成的盘查记录盘查部编制盘查记录模块Pancnumber,Pancdate,Pancliang,Gnumber,Empnumber38/月58/月6.1.4处理逻辑处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数据流处理频率P1.1验收采购部检验来货F1发货单根据发货单检验商品F3合格单,F4不合格单30/月P1.2入库检验合格入库F3合格单登记库存账目F6入库记录单,F8采购记录单35/月P1.3退货检验不合格退去F4不合格单确定退货F5退货单,F7退货记录单10/月P2.1销售销售部向客户卖货F9订货单导购
37、提货F10销售单,F11出库单50/月P2.2确认退货退货部处理客户退货单F12退货单处理退货单F15退单5/月P2.3退货客户退货成功F15退单客户退货成功F14退货记录单,F16退货确认单5/月P3.1主管检查主管检查报损单F17报损单根据报损单检查报损F18不合格报损单,F19合格报损单1/月P3.2确定报损单主管接受合格报损单F19合格报损单确定报损单F20报损记录单,F21报损清单1/月P3.3报损不生效主管反馈不合格报损单F18不合格报损单向库管反馈不合格报损单F18不合格报损单1/月P4.1存货清查对仓库存货清查F22药品清单根据药品清单存货清查F23记录单2/月P4.2对比账单
38、对比清查结果F23记录单根据药品清单对比记录单F22药品清单,F24盘存单3/月P4.3确定盘存单确定盘存单F24盘存单登记盘存和库存记录F25盘存清单,F26盘存记录单4/月6.1.5 数据存储数据存储编号数据存储名称 简述 数据存储组成相关联的处理S1库存记录商品入库出库,客户退货,报损盘存清查后修改库存量商品编号,仓库编号,存储量P1.2,P2.2,P2.3,P3.2,P4.3S2采购记录商店从供应商采购的货物记录供应商编号,商品编号,商品名,商品数量,商品价格P1.2S3退货记录商店退给供应商的退货记录供应商编号,商品编号,商品名,商品数量P1.3S4销售记录商品卖给客户的销售记录商品
39、编号,客户编号,商品名,商品数量P2.1S5退货记录客户退给商店的退货记录商品编号,客户,商品名,商品数量P2.3S6报损记录库房报损记录仓库编号,商品编号,商品名,报损数量P3.2S7盘存记录商品盘存清查的记录仓库编号,商品编号,商品名,实际数量P4.36.2 附录二 关系表 供应商列名数据类型约束主外键供应商编号varchar(10)not null主键供应商名称varchar(30)not null供应商地址varchar(40)供应商电话varchar(20) 药品列名数据类型约束主外键药品名称varchar(30)not null主键药品分类varchar(20)药品剂型varchar(20)药品单价floatnot null药品保质期date 职员列名数据类型约束主外键职员编号varchar(10)not null主键职员姓名varchar(10)职员类别varchar(10) 仓库列名数据类型约束主外键仓库编号varchar(10)not null主键仓库类别varchar(10)仓库地址varchar(20)