前言:这个项目是毕设时候做的,我负责后台数据操作部分,已经很久了,这次回顾这部分,是为了复习PHP和MySQL的知识,正好现在在公司也负责的是后台管理系统的业务。第一篇【项目概况】附上毕业论文部分节选。项目github地址:https://github.com/66Web/php_book_store,欢迎Star。


欢迎界面&首页
后台管理系统

一、总体结构设计

本系统分为两个部分:前台管理系统和后台管理系统。前台管理系统包含有:书籍展示、图书检索、用户信息管理、购物车、订单等功能模块。后台管理系统包含有:书籍管理、分类管理、用户管理、评论管理、订单管理等功能模块。系统支持主流客户端——PC端。

前台管理系统,通过登录判断用户。如果没有登录,用户以游客身份浏览网站,只能查询书籍信息,不能进行交易。如果登录成功,用户则以会员身份拥有用户中心和书架,可以进行添加购物车、填写订单等操作,进而完成交易。

在图书检索功能中,用户可以通过模糊查询或高级查询,查找到自己想找的图书。用户登录成功后,将喜欢的图书收藏到个人书架中,方便以后查阅。在个人中心,用户可以修改个人信息、管理联系方式、发布出售图书、管理订单记录。购物车功能中,一次性记录图书信息,如果用户没有提交订单,退出登录或关闭浏览器,就清空购物车。

后台管理系统,通过登录验证管理员。如果验证成功,管理员可以对网站信息进行更新、修改和删除等操作,实现对系统的日常维护。

图书出售信息发布系统分为两个部分:用户发布和管理员发布。用户根据自己的需求,可以发布自己的闲置图书,并对出售信息进行管理。管理员负责网站官方发布,出售网站统一回收的图书,并管理包括用户发布在内的所有图书出售信息。

在订单管理功能中,用户可以看到自己购买图书的订单,也可以看到客户购买自己图书的订单,方便用户之间直接进行交易。用户在确认收货成功之后,会开通评论功能,在所购买的图书详情中,显示已购买客户的评论信息。所有用户的订单与评论,后台管理员统一进行管理。

总体结构设计如图所示。

二、概念模型设计

从应用需求出发,系统可以分为:会员、管理员、二手书类别、二手书信息、书架、订单、订单状态、联系方式、评论,九个实体。

采用先逐一分析实体属性以及实体间的关系,设计局部E-R图,然后再合并为全局E-R图的方法,对整体的概念模型进行设计。

全局E-R图如图所示:

三、逻辑模型的设计

将二手书交易网站系统包含的9个实体的E-R图进行概念-关系模式的转化,可得到关系模式如表3-1所示:

为了满足网站对性能的实际需求,提高数据的查找和管理效率,将上述关系结构做出下列优化。

考虑到订单管理和个人信息管理的功能需求,订单信息表和用户信息表中的联系方式是相同的,因此为了简化数据表,将收货人联系方式从订单信息表和用户信息表中分离出来,单独建联系方式表。

书架信息表的设置是为了实现用户对二手书籍的收藏功能,仅包含两个字段:用户ID和二手书编号。用户ID与会员信息表中的用户ID组成外键,二手书编号与二手书检索表中的二手书编号组成外键,二者共同组成复合主键。是1对n关系的经典数据表结构。

为了实现限制用户管理客户订单的权限,在二手书信息表中,设置供货商字段,默认为0,表示管理员发布的二手书。用户发布的二手书,供货商字段值设置为对应的用户ID,即通过判断客户购买二手书信息中的供货商字段显示用户出售二手书的订单。

实现方案将在下一节作具体阐述。

四、数据库设计实现

根据上一节逻辑模型的分析,系统需要分为:会员表、管理员表、二手书信息表、二手书类别表、书架表、评论表、联系方式表、订单状态表、订单表这九个数据表。表3-2至表3-7分别展示了几个主要的数据表。

会员表user:包含6个字段,其中id为主键。

二手书类别表class:包含2个字段,其中id为主键。

二手书信息表book:包含13个字段,其中id为主键。

联系方式表touch:包含6个字段,其中id为主键。

订单状态表status:包含2个字段,其中id为主键。

订单表indent:包含12个字段,其中id为主键。


注:转载请注明出处

【千纸诗书】—— PHP/MySQL二手书网站后台开发之项目设计的更多相关文章

  1. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之知识点记录

    前言:使用PHP和MySQL开发后台管理系统的过程中,发现有一些通用的[套路小Tip],这里集中记录一下.结合工作中ing的后台业务,我逐渐体会到:除了技术知识外.能使用户体验好的“使用流程设计”积累 ...

  2. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之功能实现

    前言:前一篇温习了网站开发需要掌握的基础知识,这一篇重点梳理一下各个功能模块的[详细设计与实现].项目github地址:https://github.com/66Web/php_book_store, ...

  3. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之基础知识

    前言: 在具体回顾每一个功能的实现前,还是有必要先温习一些项目涉及到的PHP.MySQL[语法基础].项目github地址:https://github.com/66Web/php_book_stor ...

  4. JavaWeb网站后台开发记录手册

    1.javaweb网站后台开发 1.封装DBTools类 1.注册数据库驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); 2 ...

  5. 1小时轻松上手springmvc,视频网站后台开发

    由于最近半年一直在用springboot,但是也不能忘了本,于是把springmvc重新练了下,做了个前端传个表单,后台接收并显示的界面,该项目可以上传视频的URL,然后前端进行页面的播放,项目采用s ...

  6. 做php网站后台开发,在Linux系统上进行更好吗?

    1. PHP是开源软件,它在bsd/linux/win下都有很好的正式版及孪生版.并非开发php就必须要在linux下进行.主机服务商们习惯性的把asp与php分为两个主机系列几进行销售.由于asp只 ...

  7. 做php网站后台开发,在Linux系统上进行更好吗?【转载】

    1. PHP是开源软件,它在bsd/linux/win下都有很好的正式版及孪生版.并非开发php就必须要在linux下进行.主机服务商们习惯性的把asp与php分为两个主机系列几进行销售.由于asp只 ...

  8. 转战网站后台与python

    这么长时间了,迷茫的大雾也逐渐散去,正如标题所写的一样,转战网站后台开发.这段时间没怎么写博客,主要还是太忙,忙着期末考试的预习,以及服务器的搭建,python的学习,还有各种各样杂七杂八的小事,就像 ...

  9. Mysql在大型网站的应用架构演变

    原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/本文链接地址: Mysql在大型网站的应用架构演变 本文已经被多处转载,包括CSDN推荐以及码农周刊等等,阅 ...

随机推荐

  1. Kuangbin 带你飞专题十一 网络流题解 及模版 及上下界网络流等问题

    首先是几份模版 最大流:虽然EK很慢但是优势就是短.求最小割的时候可以根据增广时的a数组来判断哪些边是割边.然而SAP的最大流版我只会套版,并不知道该如何找到这个割边.在尝试的时候发现了一些问题.所以 ...

  2. Flex slider使用方法

    1.首先在页面head部位载入jquery库文件和Flexslider插件,以及Flexslider所需的基本css样式文件. <link rel="stylesheet"  ...

  3. C#实例:Unity依赖注入使用

    http://jingyan.baidu.com/article/c74d6000840b260f6b595d78.html

  4. hdu 1364(差分约束)

    King Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12056   Accepted: 4397 Description ...

  5. [转载]JQ 选择器大全[<font color=red>强记忆</font>]

    一.基本选择器  选择器  描 述  返回  示例  #id  根据给定id匹配一个元素  单个元素  $("#test") 选取id为test的元素  .class  根据给定类 ...

  6. UVA548 Tree (二叉树的遍历)

    You are to determine the value of the leaf node in a given binary tree that is the terminal node of ...

  7. HDU2923 Einbahnstrasse (Floyd)

    Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. 10、Flask实战第10天:视图使用装饰器

    在实际开发中,我们有时候会用到自己定义装饰器并应用到函数视图或者类视图里面:比如:我们要想进入个人中心页面,首先要验证你是否登录,否则进不去,下面我们来模拟这个场景 定义一个装饰器 from func ...

  9. 转 IntelliJ IDEA 快捷键

    https://www.cnblogs.com/clwydjgs/p/9390488.html 一.视图查看 Ctrl+F12 查看file,method结构图.类继承机构图 (不知道方法结构,Ctr ...

  10. 【BZOJ 2333 】[SCOI2011]棘手的操作(离线+线段树|可并堆-左偏树)

    2333: [SCOI2011]棘手的操作 Description 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作: U x y: 加一条边 ...