分享
分销 收藏 举报 申诉 / 26
播放页_导航下方通栏广告

类型数据库专业课程设计方案报告(2).doc

  • 上传人:a199****6536
  • 文档编号:2682815
  • 上传时间:2024-06-04
  • 格式:DOC
  • 页数:26
  • 大小:343.04KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 专业课程 设计方案 报告
    资源描述:
    洛 阳 理 工 学 院 课 程 设 计 报 告 课程名称 数据库课程设计 设计题目 药店管理系统 专 业 计算机科学与技术 班 级 学 号 姓 名 完毕日期 .12.30 课 程 设 计 任 务 书 设计题目: 药店管理系统 设计内容与规定: 设计内容:设计实现药店管理系统。可以实现药物库存管理、销售信息管理和查询功能: 库存管理:涉及药物入库、出库管理,药物库存报警,药物有效期管理(过期报警)。 销售管理:依照实际销售自动生成销售单据。如果是会员,则药物价格按95折计算。 查询及记录功能:对指定期间段内出/入库进行查询/记录,对药物有效期进行查询/记录,对药物过期进行查询/记录,对指定期间段内药物销售进行查询/记录以及利润查询/记录等。能帮顾客查询药物信息,能按品名、生产厂家、药物类别、存货量进行查询。 设计规定: 1.完毕数据库概念构造设计、逻辑构造设计、物理构造设计; 2.创立数据库,完毕表、存储过程、触发器等数据库对象设计; 3.用JAVA语言,完毕信息系统某些程序界面设计与调试运营。 指引教师: 年 12 月 24 日 课 程 设 计 评 语 成绩: 指引教师:_______________ 年 1 月 3日 目录 1概述 1 1.1本设计背景和意义 1 1.2采用数据开发工具及应用开发工具 1 2需求分析 1 2.1功能需求 1 2.2数据需求 1 3概念构造设计 2 4逻辑构造设计 2 4.1建立关系模式 3 4.2关系模式规范化解决 3 5物理构造设计 3 5.1建立数据库 3 5.2数据表创立 3 5.2存储过程创立 6 5.3数据触发器创立 11 6 JAVA对数据库系统实现 12 6.1登录界面及系统主界面 12 6.2库存管理 13 6.3销售管理 14 6.4信息查询 15 7设计总结 17 附录 18 1概述 1.1本设计背景和意义 理解到某些药店由于规模较小没有专业药店管理系统,本设计可以适应于规模较小药店。通过运用数据库库技术,不但可以使药店管理更加以便,并且还能提高数据对的性。该药店管理系统以进货、存储、销售为重要业务,分别实现其她详细功能。 1.2采用数据开发工具及应用开发工具 本设计采用数据开发工具为SQL Server ,应用开发工具为Eclipse 2需求分析 2.1功能需求 药店管理系统可以实现药物库存、销售信息管理和查询功能,依照实际销售自动生成销售单据。能帮顾客查询药物信息,能按品名、生产厂家、药物类别、存货量进行查询。 2.2数据需求 通过对学校附近药店调研以及在网上查找资料,药店药物管理系统解决对象重要涉及:药物信息、供应商信息、顾客信息、药物销售信息、药物存储信息等几种方面。依照市场需求需要数据构成如下需要数据有操作员、会员、药物、订单、厂家、进货单这些实体构成数据有,操作人员需要涉及:账号、密码、姓名、联系电话、邮箱、地址;会员表:账号、姓名、年龄、联系电话、邮箱、地址;药物信息中具有:药物ID、药物名、类别、生产日期、有效期、进价、售价、生产厂家;订单详情中具有有:订单编号、药物名、购买数量、售价、购买人员、销售日期;厂家信息涉及:厂家编号、厂家名、电话、地址;进药表、药物ID、操作员、进药日期、进药数量 3概念构造设计 将需求分析阶段得到顾客需求抽象为信息构造即概念模型过程就是概念构造设计,它是整个数据库设计核心,它通过对顾客需求进行综合、归纳、抽象,形成一种独立于详细DBMS概念模型。 依照需求分析,在该系统中存在如下实体集:药物信息实体集、顾客信息实体集、厂家信息实体集、销售信息实体集等等。 存储 N 仓库 N 1 年龄 姓名 账号 电话 邮箱 编号 品名 数量 售价 买家 日期 账号 密码 姓名 电话 邮箱 地址 药物 操作员 订单 会员 提交 参照 解决 厂家 生产 1 1 厂名 类别 ID 电话 地址 名称 编号 编号 数量 生产期 有效期 进价 售价 批次 ID 依照需求做出E-R图如下图2-1 N 1 N 管理 姓名 N 1 N N 总体E-R图2-3-1 4逻辑构造设计 4.1建立关系模式 操作人员(账号、密码、姓名、联系电话、邮箱、地址) 会员(账号、姓名、年龄、联系电话、邮箱、地址) 药物(药物ID、药物名称、类别、生产厂家编号) 仓库(批次ID、药物ID、药物名、类别、生产日期、有效期、进价、售价、生产厂家) 订单详情(订单编号、药物名、购买数量、售价、购买人员、销售日期、操作员姓名) 厂家(厂家编号、厂家名、电话、地址) 进药(药物ID、操作员姓名、进药日期、进药数量) 4.2关系模式规范化解决 依照函数依赖关系,分析得每一种关系模式均满足3NF。 5物理构造设计 5.1建立数据库 物理设计时为逻辑数据模型选用一种最适当应用环境物理构造(涉及存储构造和存取办法),数据库物理构造普通分为两步: (1)拟定数据库物理构造,在关系数据库中重要指存取办法和存储构造; (2)对物理构造进行评价,评价重点是时间和空间效率。 由于本次课程设计数据库数据量不大,再加上数据库实行软件会自动建立某些索引,因此这里没有必要特别建立索引。 需要创立一种数据库文献,命名为DrugControl 创立数据库语句为create database DrugControl 5.2数据表创立 (1)创立Drug表,如图5-1 create table Drug(--品名 Dno varchar(10) primary key,--药物编号 Dname varchar(20) not null,--药物名 Dclass varchar(20),--药物类别 Sname varchar(20)--生产厂家 ) 图5-1 (2)创立供应商Suppliter表如图5-2 create table Supplier(--供应商 Sno varchar(10) primary key, Sname varchar(20) not null, Sphone char(11), Semail varchar(20), Saddress varchar(50)) 图 5-2 (3)创立管理员表Opert如图5-3 create table Opert(--管理员 Mno varchar(10) primary key, Mpassw varchar(20), Mname varchar(20) not null Mphone char(11), Memail varchar(20), Maddress varchar(50) ) 图5-3 (4)创立会员表Customer如图5-4 create table Customer(--会员 Cno varchar(10) primary key, Cname varchar(20) not null, Cage int check(Cage>0 or Cage is null), Cphone char(11), Cemail varchar(20), Caddress varchar(50) ) 图5-4 (5)创立库存表Dugstore如图5-5 create table Drugstore(--库存 Lno varchar(10) primary key,--入库编号 Dno varchar(10) ,--药物编号 Dname varchar(20) not null,--药物名 Dclass varchar(20),--药物类别 Pquantity int,--药物数量 Idate date,--入库时间 out_date date, Dbidd float, Dprice float, Sname varchar(20),--厂家名 Mname varchar(20),--操作员姓名 foreign key(Dno) references Drug(Dno), ) 图 5-5 (6)创立出售表Sale如图5-6 create table Sale(--出售 Slno varchar(10), Dno varchar(10), Cno varchar(10), Ddprice float, Mquantity int,--销售数量 Amoney float, Idate date,--销售日期 foreign key(Dno) references Drug(Dno), ) 图5-6 (7)创立缺货单A如图5-7 create table Absence(--缺货单 Lno varchar(10) primary key, Dno varchar(10), Pquantity int, Pdade date, Astate varchar(10), foreign key(Dno) references Drug(Dno) ) 图 5-7 (8)数据视图创立 依照需求仅需要创立一种视图就可以完毕所需要功能,需要创立视图为“即将过期药物”如图5-8 create view 即将过期药物单(Lno,Dname,Dclass,Pquantity,lessdate) as select Lno ,Dname,Dclass,Pquantity,DATEDIFF(day,GETDATE(),out_date) from Drugstore 图5-8 5.2存储过程创立 (1)创立增长会员存储过程 *增长会员*/ create procedure 增长会员 @Cname varchar(20), @Cage int, @Cphone char(11), @Ccemail varchar(20), @Caddress varchar(50) as declare @i int,@n varchar(10) select @i=max(cast(substring(Cno,2,len(Cno)-1)as int))+1 from Customer --获取最大值+1 select @n=substring('C0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Customer values(@n,@Cname,@Cage,@Cphone,@Ccemail,@Caddress) 验证存储过程如图5-9 exec 增长会员 '没','12','111111','','理工' 图5-9 (2)创立增长操作人员存储过程 /*增长操作人员*/ create procedure 增长操作员 @Mpassw varchar(20), @Mname varchar(20), @Mmphone char(11), @Mmemail varchar(20), @Mmaddress varchar(50) as declare @i int,@n varchar(10) select @i=max(cast(substring(Mno,2,len(Mno)-1)as int))+1 from Opert --获取最大值+1 select @n=substring('C0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Opert values(@n,@Mpassw,@Mname,@Mmphone,@Mmemail,@Mmaddress) 验证存储过程如图5-10 exec 增长操作员 '1','感冒','11111111','','洛阳理工' 图5-10 (3)创立增长品名存储过程 /*增长品名*/ create procedure 增长品名 @Dname varchar(20), @Dclass varchar(20), @Sname varchar(20) as declare @i int,@n varchar(10) select @i=max(cast(substring(Dno,2,len(Dno)-1)as int))+1 from Drug --获取最大值+1 select @n=substring('D0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Drug values(@n,@Dname,@Dclass,@Sname) 验证存储过程如图5-11 exec 增长品名 '感冒灵颗粒','感冒用药类','蜀川' 图5-11 (4)创立增长入库存储过程 /*增长入库*/ create procedure 增长药物 @Ddno varchar(10),--入库编号 @Dname varchar(20), @Dclass varchar(20), @Pquantity int, @Sname varchar(20), @Out_date date, @Dbidd float, @Dprice float, @Mname varchar(20) as declare @i int,@n varchar(10) select @i=max(cast(substring(Lno,2,len(Lno)-1)as int))+1 from Drugstore --获取最大值+1 select @n=substring('D0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Drugstore values(@n,@Ddno,@Dname,@Dclass,@Pquantity,GETDATE(),@Out_date,@Dbidd,@Dprice,@Sname,@Mname) 验证存储过程如图5-12 exec 增长药物 'D0002','感冒灵颗粒','感冒用药类',5,'蜀川','-11-11','1','2','ll' 图5-12 (5)创立增长供应商存储过程 /*增长供应商*/ create procedure 增长供应商 @Sname varchar(20), @Sphone char(12), @Saddress varchar(50), @Semail varchar(20) as declare @i int,@n varchar(10) select @i=max(cast(substring(Sno,2,len(Sno)-1)as int))+1 from Supplier --获取最大值+1 select @n=substring('S0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Supplier values(@n,@Sname,@Sphone,@Semail,@Saddress) 验证存储过程如图5-13 exec 增长供应商 '111','222','洛阳理工','' 图5-13 (6)创立增长销售存储过程 /*增长销售单*/ create procedure 增长订单 @Dno varchar(20), @Cno varchar(20), @Ddprice float, @Mquantity int as declare @i int,@n varchar(10) select @i=max(cast(substring(Slno,2,len(Slno)-1)as int))+1 from Sale --获取最大值+1 select @n=substring('M0000',1,5-len(@i))+cast(@i as varchar(5))--转换成编号 insert into Sale values(@n,@Dno,@Cno,@Ddprice,@Mquantity,,getdate()) update Drugstore set Pquantity=Pquantity-@Mquantity where Lno=@Dno 验证存储过程如图5-14 exec 增长订单 'M0003','D0002','C0001',22,15,440 图5-14 (7)创立缺货单存储过程 /*更新缺货单*/ create procedure 更新缺货单 as declare @Dno varchar(5),@Pquantity int,@i int,@n varchar(5),@Astate varchar(10),@con int declare c cursor for select Dno,sum(Pquantity) from Drugstore group by Dno open c fetch c into @Dno,@Pquantity while(@@FETCH_STATUS=0) begin if(@Pquantity<20) begin declare c1 cursor for select count(Astate),Astate from Absence group by Dno,Astate open c1 fetch c1 into @con,@Astate while(@@FETCH_STATUS=0) begin if(@Astate='未解决' and @con=1) begin update Absence set Astate='已解决' where Dno=@Dno end fetch c1 into @con,@Astate end close c1 deallocate c1 select @i=max(cast(substring(Lno,2,len(Lno)-1)as int))+1 from Absence /*获取最大值+1*/ select @n=substring('L0000',1,5-len(@i))+cast(@i as varchar(5))/*转换成编号*/ insert into Absence values(@n,@Dno,200-@Pquantity,getdate(),'未解决') end if(@Pquantity>19) begin declare c3 cursor for select count(Astate),Astate from Absence group by Dno,Astate open c3 fetch c3 into @con,@Astate while(@@FETCH_STATUS=0) begin if(@Astate='未解决' and @con=1) begin update Absence set Astate='已解决' where Dno=@Dno end fetch c3 into @con,@Astate end close c3 deallocate c3 end fetch c into @Dno,@Pquantity end close c deallocate c 5.3数据触发器创立 依照数据规定在出售过程中会浮现库存局限性即需要创立触发器需要达到功能为在库存表中更新数据时执行存储过程缺货单 create trigger Drug_short on Drugstore after update as begin exec 更新缺货单; end; 验证触发器如图5-14 update Drugstore set Pquantity=1 where Dno='D0002' 如图5-15原缺货单 图5-15执行过后 6 Java对数据库系统实现 1 6.1登录界面及系统主界面 (1)药店登录界面如图6-1 图6-1 (2)药店主页面如图6-2 图6-2 6.2库存管理 (1)入库管理界面如图6-3可以依照名称和药物类型进行搜索单击要入库药物会在下面文本框中显示出来防止药物入库错误 图6-3 (2)增长药物界面如图6-4,可以进行药物类型输入,增长药物类型扩充药物库 图6-4 (3)修改药物信息页面如图6-5,可以对药物信息更改,用来修改和删除药物信息 图6-5 6.3销售管理 销售管理页面如图6-6,用来出售药物,可以实时获取购买数量和会员ID中输入信息,如果输入对的会员ID后并且在数据库中检测到有这个会员信息则会自动在背面会员由否改为是,计算总价时候打折,在提交订单后库中数量减少并且插入销售表。 图6-6 6.4信息查询 (1)进行利润查询如图6-7,如果是匿名顾客购买就显示为匿名,可以依照销售中出售时间来进行规定期间内利润查询并且可以显示出来每笔订单和总价 图6-7 (2)缺货单查询如图6-8,如果在售卖中数量低于20,就会自动在缺货单中显示出来,并且在添加药物后自动将状态改成已解决,缺货详情中不再浮现,除非售卖后数量再次低于20 图6-8 (3)过期药物显示如图6-9,并且支持销毁已过期药物。 图6-9 7设计总结 通过这次课设,我对数据库理解有了深一步结识,从需求分析到数据库运营和维护,每一某些都是不可省掉,都需要咱们认真地思考、设计,从中我更加深刻理解了关系模式、E-R图等内容。这次课程设计咱们使用语言是SQL SERVER ,让我再次理解并掌握了SQL SERVER 功能及存储过程,也学习Java软件操作,有两手准备。实习中,遇到问题后才发现自己知识很有限,才发现基本重要性,让我又拿起课本认认真真地学习了一遍。生活也需要咱们一步一步规划,认认真真地做好每一件事,解决好遇到每一种问题,发现自己局限性,并加以修正。 这次课程设计可以说看起来比较容易,真做起来却困难重重,深刻体会到要做好一种项目,真不容易!在此后学习中咱们会加强理论实践结合,通过不断练习、摸索来弥补自己局限性。不能由于困难就失去信心!人如果没有自信,没有目的,就不也许把事情做好!相信可以,就会可以,一定可以! 附录 参照文献 [1] 郑阿奇.SQL Server实用教程(第2版)[M].北京:电子工业出版社,. [2] 王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教诲出版社, . [3].张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社 [4]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社, [5].王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社, [6].高林,周海燕.Jsp网上书店系统与案例分析[M]. 北京:人民邮电出版社, [7].刘腾红,孙细明.信息系统分析与设计[M]. 北京:科学出版社, [8].林邦杰,彻底研究java.北京:电子工业出版社,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:数据库专业课程设计方案报告(2).doc
    链接地址:https://www.zixin.com.cn/doc/2682815.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork