《某送水公司的送水系统》课程设计报告题目:某送水公司的送水系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日学号数据库系统概论课程设计报告11设计内容及要求1.1实现工作人员、客户信息的管理;实现矿泉水类别和供应商的管理;实现矿泉水入库管理和出库管理;1.2创建触发器,实现入库、出库时相应类型矿泉水的数量的增加或减少;创建存储过程统计每个送水员工指定月份送水的数量;创建存储过程查询指定月份用水量最大的前10个用户,并按用水量递减排列;建立数据库相关表之间的参照完整性约束。2概要设计2.1需求分析随着经济不断发展,城市的不断扩张,城市居民的用水需求量也在不断的攀高。为了适应人们的消费需求,近年来我国的饮用水市场发展极快。各地类似“送水公司”这样的服务业也随之不断发展。各企业竞争激烈,提高公司员工工作效率和服务质量是制胜的重要因素,另一方面在于与客户的沟通和公司自我形象的不断完善。在用水旺季电话较多时由于接话员效率低,不可避免的会发生漏接电话等情况,失去一些定水客户。在这种情况下,拥有一个专业的针对送水行业上述问题的软件系统就成为同行业中竞争发展的有利优势。另外,目前市场上这方面的软件系统使用范围比较有限,就算有使用的也很少涉及送水配送业务。目前大多数公司现行的管理系统虽然解决了公司业务上的处理问题,但在员工工作效率、客户数据库系统概论课程设计报告1信息管理、信息查询分析等方面不完善,需要进一步的优化系统处理业务流程和解决公司以往单人操作系统处理烦琐事务等问题。本系统需完成的功能:工作人员、客户的管理、矿泉水的类别(信息)、供应商的信息、矿泉水入库、出库、收费、进货、销售管理。2.2系统功能结构数据库系统概论课程设计报告1员工管理:新建、查询、编辑、删除员工信息、奖惩、权限管理客户管理:新建、查询、编辑、删除客户信息矿泉水管理:新建、查询、编辑、删除矿泉水信息,实现时时更新供应商管理:新建、查询、编辑、删除供应商信息,实现时时更新以保证公司利益仓库管理:进货、出库登记、商品库存统计管理,生成商品积压或缺货报告单订单管理:新建、查询、订单编辑、未发货订单显示、发货中订单显示、已完成订单显示、已取消订单显示数据库系统概论课程设计报告1财务管理:新建、查询、编辑、删除财务报表,统计、比较各级阶段的财务情况进货管理:新建、查询、编辑、删除进货订单信息,与供应商的联系,交易,员工人员分配销售管理:新建、查询、编辑、删除销售信息,与客户的联系,交易,员工人员分配,做好售后服务等2.3E-R图矿泉水与仓库的E-R图进货E-R图数据库系统概论课程设计报告1销售E-R图订单处理E-R图数据库系统概论课程设计报告1全局E-R图将E-R图转换成关系模式,并注明主码和外码员工:{员工编号,姓名,职称,电话,工资,业绩,出勤}客户:{客户编号,姓名,地址,电话}公司:{公司编号,公司名称,地址,联系电话}矿泉水:{产品编号,产品名称,生产商,生产日期,产品种类,进货价格,销售价格}订单:{订单编号,客户编号,商品编号,订单数量,订单日期订单处理情况,总金额}供应商:{供应商编号,单位名称,地址,电话}费用:{费用编号,付费方式,已付,金额}数据库系统概论课程设计报告1仓库:{仓库编号,仓库名称,仓库容量}进货:{公司编号,员工号,订单号,进货日期,进货数量,订单处理状态}存取:{商品编号,仓库编号,存取数量,存取日期}销售:{公司编号,客户编号,数量,产品编号,金额}2.4数据结构数据结构:员工含义说明:是送水系统进行完成事务的数据结构,定义了一个员工的有关信息组成:员工编号、姓名、职称、电话、工资、业绩、出勤数据结构:客户含义说明:是送水系统产生事务的数据结构,定义了一个客户的有关信息组成:客户编号、姓名、地址、联系电话数据结构:公司含义说明:是送水系统产生事务的另一方的数据结构,定义了一个公司的有关信息组成:公司编号、公司名称、地址、联系电话数据结构:矿泉水含义说明:是送水系统主体数据的数据结构,定义了一个矿泉水的有关信息数据库系统概论课程设计报告1组成:产品编号、产品名称、生产商、生产日期、产品种类、进货价格、销售价格数据结构:订单含义说明:是送水系统矿泉水交易依据的数据结构,定义了一个订单的有关信息组成:订单编号、客户编号、商品编号、订单数量、订单日期、订单处理情况、总金额数据结构:供应商含义说明:是送水系统提供货源的数据结构,定义了一个供应商的有关信息组成:供应商编号、单位名称、地址、电话数据结构:费用含义说明:是送水系统订单里包含的一部分数据结构,定义了一个费用的有关信息组成:费用编号、付费方式、已付、金额数据结构:仓库含义说明:是送水系统矿泉水存储地的数据结构,定义了一个仓库的有关信息组成:仓库编号、仓库名称、仓库容量数据库系统概论课程设计报告13设计过程或程序代码createtablebuy(w_idchar(8)notnull,c_idchar(8)notnull,order_idchar(8)notnull,order_numnumeric(36)null,oder_datedatenull,order_statevarchar(100)null,constraintPK_BUYprimarykey(w_id,c_id));createindexbeingbuy_FKonbuy(w_idASC);createindexbuy_FKonbuy(c_idASC);createtablebuyin(com_idchar(8)notnull,o_idchar(8)notnull,in_datedatenull,in_moneynumeric(8,2)null,数据库系统概论课程设计报告1in_numrealnull,in_goodsvarchar(100)null,in_pricenumeric(36)null,constraintPK_BUYINprimarykey(com_id,o_id));createindexbuyin_FKonbuyin(com_idASC);createindexsale_FKonbuyin(o_idASC);createtablecompany(com_idchar(8)notnull,c_idchar(8)notnull,com_namevarchar(50)null,com_telchar(11)notnull,com_addressvarchar(50)notnull,out_datedatenull,out_moneynumeric(30)null,out_numrealnull,out_goodsvarchar(100)null,constraintPK_COMPANYprimarykey(com_id),数据库系统概论课程设计报告1constraintAK_COM_ADDRESS_COMPANYunique(com_address));createindexout_store_FKoncompany(c_idASC);createuniqueindexcompany_AKoncompany(com_addressASC);createtablecusterm(c_idchar(8)notnull,c_namevarchar(50)null,c_addressvarchar(100)null,c_telnumeric(11)notnull,constraintPK_CUSTERMprimarykey(c_id));createtabledeal(w_idchar(8)notnull,c_idchar(8)notnull,数据库系统概论课程设计报告1e_idchar(8)notnull,deal_datedatenull,deal_numrealnull,constraintPK_DEALprimarykey(w_id,c_id,e_id));createindexdeal_FKondeal(e_idASC);createindexdeal2_FKondeal(w_idASC,c_idASC);createtableemployee(e_idchar(8)notnull,com_idchar(8)null,e_namevarchar(50)null,e_telchar(11)notnull,e_levealvarchar(50)null,e_wagenumeric(11)null,e_presentvarchar(100)null,constraintPK_EMPLOYEEprimarykey(e_id));数据库系统概论课程设计报告1createindexbelong__to_FKonemployee(com_idASC);createtablemoney(w_idchar(8)null,c_idchar(8)null,money_idchar(8)notnull,money_wayvarchar(100)null,money_insumnumeric(36)null,money_sumnumeric(36)null,order_idchar(8)null);createindexbelongto_FKonmoney(w_idASC,c_idASC);createtableoffer(o_idchar(8)notnull,o_namevarchar(50)null,o_addressvarchar(50)null,o_telvarchar(11)null,数据库系统概论课程设计报告1constraintPK_OFFERprimarykey(o_id),constraintAK_O_TADDRESS_OFFERunique(o_address));createtablesave(s_idchar(8)notnull,s_namevarchar(50)null,s_numrealnotnull,constraintPK_SAVEprimarykey(s_id));createtablesave_produce(w_idchar(8)notnull,s_idchar(8)notnull,save_water_datedatenull,save_water_numrealnull,constraintPK_SAVE_PRODUCEprimarykey(w_id,s_id));createindexsave_produce_FKonsave_produce(w_idASC);数据库系统概论课程设计报告1createindexsave_produce2_FKonsave_produce(s_idASC);createtablewater(w_idchar(8)notnull,w_namevarchar(50)null,w_kindvarchar(50)null,w_producevarchar(50)null,w_timedatenotnull,in_pricenumeric(36)null,out_pricenumeric(36)null,constraintPK_WATERprimarykey(w_id));altertablebuyinaddconstraintFK_BUYIN_SALE_OFFERforeignkey(o_id)referencesoffer(o_id)altertablecompanyaddconstraintFK_COMPANY_OUT_STORE_CUSTERMforeignkey(c_id)数据库系统概论课程设计报告1referencescusterm(c_id)altertabledealaddconstraintFK_DEAL_DEAL_EMPLOYEEforeignkey(e_id)referencesemployee(e_id)altertabledealaddconstraintFK_DEAL_DEAL2_BUYforeignke