基于MVC的电商水果数据库的设计与应用
来源:用户上传
作者:周奕
摘要:众所周知,数据库在一个网站或者软件的开发中是很重要的一个部分,这篇文章的主要目的是让初学者对关系型数据库(Mysql)有一个简单的、初步的了解。在此,借用一个简单的“电商水果平台”后台数据库为例,通过对开发人员根据何种原则、如何创建数据库表流程的了解,以及用户在表单中填写了相关数据,在模型层接收到参数信息之后,对应的后台数据库中数据的修改是如何进行的。因此,在按照数据库的设计原则和基本步骤创建出三个基本表之后,通过对fruitshop.sql数据库中的user、fruit、order三个基本表进行增删查改四个操作后,就能够改动这三个基本表的数据。
关键字:电商;MySql数据库;三层架构
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2020)14-0272-02
1系统整体结构设计
本水果电商平台是在动态的Web工程下,基于JavaEE(Ja-va Platform Enterprise Edition)的开发技术,采用B/S(Browser/Server)模式和MVC(Model-View-Controller)三层架构,主要采用Java语言进行编写并配合使用三层架构、JSP、Servlet、JavaS-cript等技术实现相应的功能。并联合MySql数据库开发并更新后台数据。
其中JavaEE是企业级应用程序的版本,能够帮助人们开发和部署可移植、健壮、可伸缩且安全的服务器端的Java应用程序。B/S模式也是现在比较流行的客户和服务器进行交互的模式,并且相比较于C/S(ClienffServer)模式,维护和升级程序的成本并不高,因为不需要安装软件,可扩展性更大,而且使用上更加的方便、灵活。MVC分别指的是模型、视图和控制器(如下图一所示)。三层之间的依赖关系也是相邻层之间才能调用,绝对不能跨层调用和反向调用。
模型主要是对数据库中的基本表进行相关操作,分为拼写和执行SQL语句。自定义JBHelper类,在类中编写.iava文件用于执行SQL语句。自定义DA0(Data Access Object)包,编写以.dao结尾的类,用于拼写SOL语句。
视图位于最外层,就是指前端部分,与用户的交互最为密切。用于接收用户输入的数据和输出相关数据,是用户和平台之间进行交互的界面。
控制器是数据访问层和界面层之间的通道,业务层是MVC中的主要部分,主要是实现了业务逻辑,类名通常都是以ser-vices结尾。
2数据库的设计
2.1数据库的设计原则
2.1.1实体之间的关系
实体是指在现实中客观存在并且人们能够进行区分的物体。实体之间存在三种关系,分别是一对一、一对多、多对多的关系。在数据库中,我们可以将实体对应为基本表去理解,在明确了实体之间的关系之后,设计数据库表就非常便捷。
2.1.2主键与外键
一般来说,一个实体不能主键和外键都没有。主键就是抽象的实体;外键是指在某个表中不是主键,但在另一个表中是主键。主键与外键的联系就说明了实体与实体之间的关系,在使用时,就可以依靠这种相互关系去操作数据库。
2.1.3范式标准
基本表及其各个字段之间的关系,应该尽量满足第三范式(即在满足第二范式的基础上消除元素之间互相依赖的关系)。但是,并不是说满足了第三范式要求的数据库就是最好的,有时在设计数据库是为了能够提高数据库的使用效率,就要采用以时间换空间的方法,因此在设计基本表时要适当地增加冗余。
2.2數据库设计的基本步骤
按照规范化设计的原则,数据库的设计大体上可以分为六个阶段,分别是进行需求分析下、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行与维护。
2.3数据库表
本平台所使用的数据库名是fruitshop.sql,下面是所用到的表结构。
2.3.1 user表(用户表)
用来存储用户的信息,主键为username,表中的属性有usemame(用户名)、password(密码)、tel(电话),属性值均不允许为空。
2.3.2 fruit表(水果表)
用来存储水果的信息,主键为fruitname,表中的属性有fTuitname(水果名)、price(价格)、inventory(库存量)、discount(折扣)、field(产地),属.陛值均不允许为空。
2.3.3 order表(订单表)
用来生成用户订单的表,并且同时能够修改水果表中的数据。主键为username,表中的属性有number(订单号)、username(用户名)、fruitname(水果名)、price(价格)、quantiIy(数量)、discount(折扣)、sum(总计),属性值均不允许为空。
3数据库中表的有关操作
3.1初始化表
表的初始化在表建成之后按照要求往表中加人数据即可,在此不多做赘述。
3.2user表
转载注明来源:https://www.xzbu.com/8/view-15267088.htm