说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取。

项目背景

疫情期间实体经济收到打击,实体药店经营困难,医院也面临着疫情患者的压力运转着,这种情况下更需要网上药店的存在,居民可以通过这种途径减少外出,降低自己被感染的风险,虽然目前我国抗疫形势一片大好,但网上药店这种方式的基础医疗,可以适应各种国内情况,尤其是像这种社会性疾病发生的时候,可以极大的降低人员流动,分摊相关机构的压力,满足居民的日常需求。

即便国内疫情形势并不严峻,网上药店也有其存在的必要性,依托于快递行业的蓬勃发展,这势必在未来会成为实体药店的良性竞争对手,网上药店有着经营成本低、管理容易等优点,依托快递行业,网上药店可以弥补实体药店覆盖范围有限的缺点,保障地区的医疗建设。

本项目着力于解决居民购买日常药物的需求,提高地区基础医疗建设而开展。

现状分析

市场现状

这几年随着大数据和互联网医疗的快速发展,其发展前景较大。在新冠肺炎疫情的影响下,线上医药用品被大量抢购。医药电商迎来发展机遇。

疫情对线上药店的影响如下:

(1) 提高全民认知度。医药电商一直发展迟缓,受限于国家政策、线上线下联动和医药产业链长等诸多痛点,而经过此次疫情,大量宅家的消费者开始关注医药电商。

(2) 求医咨询。线上购药虽不能让病人面对面现场咨询,但是在疫情现状不明朗的情况下,医药电商拓宽线上求医咨询的业务,提高了病人对线上购药的体验。

(3) 政策的调整。医药行业是一个国家高度监管的行业,此次疫情可能让国家在医药电商的相关政策方面给予一定支持。目前医药电商政策趋势逐渐明朗。

(4) “医+药”的磨合。医药电商服务平台能够提供种类多样、实用性强、覆盖范围广的医药产品服务是其发展的核心动力。以药品销售为基础,增加健康咨询、就医指导服务等等特色业务,还能进行线下线上相融合,多方合作。

现有平台现状

系统设计

本系统的总目标是为需要买药的消费者提供安全可靠、快速便捷的网上购药平台。在阅读互联网药品交易服务现状的相关文献后,了解到我国在互联网药品交易服务过程中存在买家没见到实物,难免不放心、运输途中需要时间,不能应急等问题。因此,本系统围绕着总目标、针对现存问题、结合经营者和消费者的具体需求,经过概念结构设计、逻辑结构设计、物理结构设计等过程,即数据库系统设计,E-R 图设计,数据表的设计,最终完成了互联网药品交易系统的设计。

功能需求分析

买方需求分析  

卖方需求分析

系统功能模块图

设计的系统功能模块图

互联网药品交易系统(设计图)

实现的系统功能模块图

互联网药品交易系统(简化版 实现功能版)

实体集

用户表:用户编号、用户名、用户密码、用户头像路径、用户真实姓名、用户地址、邮编、联系电话、电子邮箱 、身份证。

医师表:医师编号、医师姓名、医师用户密码、医师资格证信息、身份证。

客服表:客服编号、所属门店的编号、真实姓名、昵称、密码、客服头像路径、联系电话、身份证。

优惠券:优惠券编号、优惠券使用规则描述、开始日期、结束日期、优惠券使用情况。

商品采购表:采购编号、采购的门店编号、采购数量、商品编号、商品种类、采购日期。

广告信息表:广告编号、投放时间、每个广告对应的图片路径、产品信息描述。

店面信息表:门店编号、门店名称、门店地址、门店邮编、门店热线、门店照片路径、门店营业执照信息描述、店长。

物流信息表:物流订单号、商品编号、用户编号、商家编号、发货地址、收货地址、物流信息最近更新时间、最近更新时商品所在位置,是否送到,是否收货。

配送门店信息表:门店编号、门店名称、门店地址、可配送范围

医师咨询服务表:医师咨询编号、咨询时间、用户编号、医师编号、咨询服务内容描述。

售后服务表:售后服务编号、用户编号、客服编号、服务时间、售后服务内容描述。

商品详细表:商品编号、商品名、商品描述、商品单价、销售数量、上架日期、库存量。

商品类型表:商品类型编号、商品类型名。

订单详细表:订单编号、用户编号、商品编号、商品数量、订单日期、订单状态 、优惠券编号。

商品评价表:评价编号、用户编号、商品编号、评论时间、评论内容、评论星级。

购物车列表:购物车编号、商品编号、商品的规格配套对应的编号、每套商品对应的价格、每套商品对应的图片路径。

收藏列表:收藏编号、商品编号、用户编号。

商品的购物车商品规格表:具体商品规格对应的编号,具体规格属性名,具体规格的属性值。

商品详细页的轮播图表:轮播图编号、商品编号、轮播图片的路径

商品详细页的商品特征:特征编号、商品编号、商品特征的图片路径,商品特征的描述。

商品详细页的商品参数:参数编号、商品编号、商品的参数名、商品的参数值。

商品详细页的商品服务内容:服务内容编号、商品编号、服务的标题、服务的内容。

商品详细页的Q&A:问答的编号、商品编号、客户可能存在的问题、商品的回答。

备注:

(1)其中标红的为主码

(2)关于以上一些表

①商品详细页的轮播图表:因为一个商品有多张轮播图,所以这里的商品编号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的轮播图路径。

②商品详细页的商品特征:因为一个商品有多个特征,所以这里的商品序号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的特征描述。

③商品详细页的商品参数:因为一个商品有多个参数,所以这里的商品序号不能作为主键。即数据表中会出现多个同样的商品序号,对应不同的参数名和参数值。

④商品详细页的商品服务内容:因为一个商品有多个服务,所以这里的商品序号不能作为主键。 即数据表中会出现多个同样的商品序号,对应不同的服务。

⑤商品详细页的 Q&A:因为一个商品有多个问答,所以这里的商品序号不能作为主键。 即数据表中会出现多个同样的商品序号,对应不同的问答。

⑥售后服务表:一个用户可能接受了多个售后服务、一个客服也会为多位客户提供售后服务,用户编号、客服编号都不能作为主码。

联系集

用户表——订单详细表

用户表——商品评价表

用户表——购物车列表

用户表——收藏列表

用户表——售后服务表

用户表——医师咨询服务表

用户表——物流信息表

商品详细表——商品详细页的轮播图表

商品详细表——商品详细页的商品特征

商品详细表——商品详细页的商品参数

商品详细表——商品详细页的商品服务内容

商品详细表——商品详细页的 Q&A

商品详细表——商品类型表

商品详细表——订单详细表

商品详细表——商品评价表

商品详细表——购物车列表

商品详细表——收藏列表

商品详细表——物流信息表

购物车列表——商品的购物车商品规格表

门店信息表——配送门店信息表

门店信息表——广告信息表

门店信息表——物流信息表

数据库结构设计

概念设计:E-R图

部分E-R图

完整ER图

数据库表设计

购物车列表 (cart):

商品详细页的轮播图表 (goods_banner):

用户订单表(m_orders):

商品详细表(medicine_details):

USER表:

医师表 (doc_info):

客服表 (kf_info):

优惠券 (discount_table):

药品采购表 (medicine_buying_details):

广告信息表 (ads_table):

门店信息表 (store_info):

物流信息表 (package_info):

配送门店信息表 (express_store_infor):

医师咨询服务表 (consulting_service_table):

售后服务表 (after-sale_service_table):

商品类型表(goods_class):

订单详细表 (orders_details):

收藏列表 (star_table):

商品的购物车商品规格表 (cart_detail):

商品详细页的商品特征(goods_feature):

商品详细页的商品参数(goods_para):

商品详细页的商品服务内容 (goods_serve):

商品详细页的 Q&A (goods_qa):

商品评价表 (goods_comment):

数据库程序设计与编码实现

数据库创建

数据表创建

创建用户表user:

插入演示数据:

查询数据:

药品详细表(medicine_details):

插入演示数据

查询数据:

创建购物车表(cart):

插入演示数据:

查询数据:

创建商品轮播图表(goods_banner):

插入演示数据:

查询数据:

创建订单表(m_oders):

插入演示数据:

查询数据:

索引创建

索引是创建在表上的,是对数据库中一列或者多列的值进行排序的一种结构。索引可以提高查询的速度。互联网药品交易系统需要查询交易的信息,这就需要在某些特定字段上建立索引,以便提高查询速度。

在user表上建立索引

药品系统中需要按照uname字段查询用户信息。

在medicine_details表上建立索引

在药品系统中需要通过药品名称和药品价格查询药品信息,因此需要在这两个字段上创建索引。

在m_oders表上建立索引

药品系统需要通过user_id字段、medicine_id字段和medicine_num字段查询药品订单信息,因此可以在这3个字段上创建索引。

视图创建

在药品系统中,如果直接查询m_oders表,显示信息会不全,显示不了药品名称等。为了以后查询方便,可以建立一个视图m_oders_view。这个视图显示药品名称、药品价格、药品销售数量、用户ID和订单日期。

 查询视图:

触发器创建

触发器由INSERT、UPDATE和DELETE等事件来触发某种特定的操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证某些操作之间的一致性。为了使药品系统的数据更新更加快速和合理,可以在数据库中设计几个触发器。

创建UPDATE触发器

在设计表时,user表和m_oders表的user_id字段的值是一样的。如果user表中的user_id字段的值更新了,那么m_oders表中的user_id字段的值也必须同时更新。这可以通过一个UPDATE触发器来实现。创建UPDATE触发器update_user_id的SQL代码如下:

其中,NEW.user_id表示user表中更新的记录的user_id值。

创建DELETE触发器

如果从user表中删除一个用户的信息,那么这个用户在cart表中的信息也必须同时删除。这也可以通过触发器来实现。在user表上创建delete_user触发器,只要执行DELETE操作,就删除cart表中相应的记录。创建delete_user触发器的SQL语句如下:

其中,OLD.user_id表示新删除的记录的user_id值。

本次机器学习项目实战所需的资料,项目资源如下:

项目说明:
链接:https://pan.baidu.com/s/1c6mQ_1YaDINFEttQymp2UQ 
提取码:thgk

基于MYSQL的互联网药品交易系统数据库设计项目实战相关推荐

  1. 网上商城系统MySql数据库设计项目实战

    说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取. 项目背景 互联网的发展让各个产业突破传统的发展领域,产业功能不断进化,实现同一内容的 ...

  2. RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务

    RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 概观 RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能. 什么是RadonDB? Rado ...

  3. 基于MYSQL的论坛管理系统数据库设计项目实战

    说明:这是一个数据库课程设计实战项目(附带代码+文档+视频讲解),如需代码+文档+视频讲解可以直接到文章最后获取. 项目背景 随着互联网行业的发展,各种论坛纷纷而来.在论坛系统中,可让用户注册成为论坛 ...

  4. 考试 mysql 数据库设计_基于MySQL的在线考试系统数据库设计

    2017年第8期信息通信2017 (总第176 期)INFORMATION & COMMUNICATIONS (Sum. No 176) 基于M ySQL的在线考试系统数据库设计 陈松楠,侯丽 ...

  5. 基于java校园二手物品交易系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java校园二手物品交易系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java校园二手物品交易系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技 ...

  6. 基于Java毕业设计药房药品采购集中管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计药房药品采购集中管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计药房药品采购集中管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构 ...

  7. mysql数据生产数据分析_基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程...

    基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程 课程目录 (1)SQL与数Ju分析;目录中文件数:23个 (1) 开课-课时3SQL与数Ju库的价值.flv (2) ...

  8. erwin教程 mysql_如何使用Erwin进行基于MySQL的数据库设计_MySQL

    ERwin是常用的进行数据库设计的工具,支持众多的数据库,可惜不支持MYSQL,大概是因为很少有企业用到MYSQL吧,但是MYSQL实际上还是很优秀的. 为了能够使用ERWIN能够进行基于MYSQL数 ...

  9. mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践

    提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构--基于MySQL的分布式数据库实 ...

最新文章

  1. 赠书 | 315之后,无人旁观时我们是谁
  2. 如何在Visual Studio中直接使用示例代码浏览器搜索下载和管理代码示例
  3. 团购网站的兴衰与启示
  4. 100M不限流量香港VPS服务器租用注意事项
  5. rhel5.8安装oracle10g,RHEL 5.8 安装Oracle 10g r2 clusterware 报错
  6. Android View 的scrollTo 和 scrollBy方法
  7. 用最简单的例子告诉你kafka是怎么用的
  8. java 换行分割_java – 如何通过换行分割字符串?
  9. 理解Memory Barrier(内存屏障)
  10. 计算机考在职研究生难不难,计算机在职硕士考试难吗?
  11. 面试被虐题— 谨以此致,mark一个悲惨的下午
  12. get_sequencer的用法总结
  13. 【SQL】练习题184道
  14. 2021-10-08 vue.js实现抖音很火八卦时间数字罗盘屏保壁纸
  15. using声明和using编译指令
  16. 从dtx文件得到cls文件
  17. 火星车初级java面向对象
  18. 985计算机学校2017排名,2017年全国“985”大学排名及王牌专业全解析
  19. 关于个人的第二个程序——黑白棋续
  20. 云南计算机一级b成绩查询入口,云南计算机一级考试成绩查询入口

热门文章

  1. python 实现多线程编程
  2. 在nodejs中创建child process
  3. 在vue中使用pdfjs-dist把pdf文件转为canvas
  4. 为什么软件项目的需求分析工作比较困难
  5. javaweb关于文件上传的实现(layui+fileup)
  6. NestJs WebSocket与Vue WebSocket
  7. MySQL 繁体转简体
  8. 简述电子计算机的用途和特点_计算机作业答案
  9. ruby+watir安装指南
  10. DCDC常见问题之输出带载问题