《数据库系统》课程设计

土特产网上销售系统设计与开发

一、 系统需求分析

(一) 需求概述
随着计算机技术在各行各业的应用日益广泛深入,网络购物早已盛行。
电子商务在各行各业的发展战略中占有重要地位,已成为各大企业的必经之路。商品流通不局限于传统渠道。网络平台已成为企业展示自我、提升形象的舞台。企业通过建立网站,将产品、资源等方面的信息展示在互联网上。计算机和互联网技术本身具有信息透明、信息传播速度快、管理速度快的特点,不仅可以改善原有的商业模式和效率,还可以为企业带来更高的收益。因此,拥有自己的购物网站对于企业来说是非常重要的。 与传统零售业相比,网络购物具有许多无法比拟的优势。首先,以店铺销售或商场销售为代表的零售行业,由于地域限制,局限在小范围内。借助互联网,消费者可以通过网上商城浏览和获取世界各地商家的商品信息;其次,通过网络购物渠道,消费者可以在家购物;第三,同样是商品信息和统计的管理,传统零售行业需要花费大量的人力才能完成,而很多销售网站信息可以轻松实现自动化管理,大大降低企业的管理成本;最后,建立自己的网上购物系统,有利于提升企业和商家的企业形象,提高服务质量,展示企业信息化水平。
我设计的网购系统的数据库开发和存储,可以存储卖家需要销售的本地商品的所有信息,以及用户的所有信息。方便用户根据自己的喜好浏览自己喜欢的东西。如果他想买土特产,可以去网上买,登录后就可以去购物了。 店内各种土特产都分类详细,很容易找到当地的土特产品。同时,搜索系统可以轻松找到相关的本地产品。同时,买了喜欢的东西后,就可以结账了。通过填写您自己的信息,您可以下订单并完成购物流程。
现在我们要建立一个本地产品的在线销售系统。我们应该管理卖家的本地产品、用户信息、用户的购买记录等基本信息。确保足够的安全。使网上购物系统得以推广,让更多的卖家和购物者认为网上购物系统非常实惠和方便。这是一个非常有用的购物系统

功能模块设计:

表1:功能模块设计图

面向不同用户实现不同功能:

  1. 面向顾客时,顾客可以浏览全部的商品信息,因为对商品进行了分类,所以顾客选择的商品种类更加细化,在完成购物后可以查看订单信息状态。
  2. 面向管理员时:管理员需要对各类商品,用户和订单信息进维护和修改,但是不能修改管理员自己的信息,在用户,商品信息出现差错时及时改正。
  3. 面向供货商时,供货商应只对商品负责,所以可以对商品增添减少,供应量取决于订单量,所以可以查看订单信息。包括自己的信息也可以查看。

(二) 业务流分析

用户界面:
表2:用户流程图

普通用户:

  1. 浏览商品、按类别查询商品,查看商品的详细信息
  2. 查看购买商品之后的订单信息
  3. 注册成为用户

管理员界面:
表3:管理员流程图

管理员:

  1. 查看商品信息,判断是否需要补充商品,如果需要补充则通知供应商增删商品
  2. 查看订单信息,判断订单信息和商品库存是否一一对应,如果有误需要修改订单信息
  3. 可根据供应商供给需求修改供应商信息
  4. 修改用户信息

供应商界面:
表4:供应商流程图

供应商:

  1. 查看商品信息,根据商品数量决定是否供应
  2. 查看订单信息,以核对商品数量

**

(三) 数据流分析

**
表5:数据流图

(四) 数据字典



二、 数据库概念结构设计

(一) 实体分析
经需求分析,本次课程设计中包含五个实体,他们分别是:用户实体、订单实体、管理员实体、商品实体、商品组实体、供应商实体。

(二) 属性分析
用户实体属性:用户编号,姓名,电话,密码,地址
表6:用户实体属性图

土特产商品实体属性:土特产商品编号,名称,价格,土特产商品组编号
表7:土特产商品实体属性图

订单实体属性:订单编号,订单日期,价格,用户编号,土特产商品编号
表8:订单实体属性图

土特产商品组实体属性:土特产商品组编号,土特产商品组名称,管理员编号,供应商编号
表9:土特产商品组实体属性图

管理员实体属性:管理员编号,管理员姓名,电话,密码,地址
表9:管理员实体属性图

供应商实体属性:供应商编号,密码,电话,地址,土特产商品组编号,订单编号
表10:供应商实体属性图

(三) 联系分析
多个供应商可以供应多种商品组,多个用户也可以购买多种商品,多种商品的集合是一个商品组,但是一种商品对应一个订单,用户购买商品产生唯一订单对应唯一的商品。多个管理员管理所有商品组和所有订单和供应商,所以是多对多的关系。
(四) 概念模型设计(CDM图)
表11:CDM图

三、数据库物理结构设计

(一)概念模型转化为物理模型

  1. 一对一关系的转化
    用户只能查看一项订单,所以用户和订单是一对一关系
    一个商品产生一个订单,所以是一对一关系。
  2. 一对多关系的转化
    一个商品组由多个商品组成,商品组和商品关系是一对多
  3. 多对多关系的转化
    多个管理员管理多种信息
    一个用户可以购买多个商品,一个商品也可以被多个用户购买
    多个供应商供应多种商品组,也可以查看多个订单
    (二)物理逻辑模型设计(PDM图)
    表12:PDM图

四、数据库物理实现

(一) 表设计
用户信息表:
字段名称 数据类型 长度 取值范围 备注
用户编号 char 10 0001-9999 主键,非空
姓名 vchar 20 非空
电话 Char 10
密码 Char 10 非空
地址 vchar 20

土特产商品信息表:
字段名称 数据类型 长度 取值范围 备注
土特产商品编号 char 10 0001-9999 主键,非空
土特产商品组编号 char 10 0001-9999 外键,非空
名称 Vchar 20 非空
价格 Float 非空

订单信息表:
字段名称 数据类型 长度 取值范围 备注
订单编号 Char 10 0001-9999 主键,非空
订单日期 Data 非空
价格 Float 非空
用户编号 char 10 0001-9999 外键,非空
土特产商品编号 char 10 0001-9999 外键,非空

土特产商品组信息表
字段名称 数据类型 长度 取值范围 备注
土特产商品组编号 char 10 0001-9999 主键,非空
土特产商品组名称 vchar 20 非空
供应商编号 char 10 0001-9999 外键,非空
管理员编号 char 10 0001-9999 外键,非空

管理员信息表:
字段名称 数据类型 长度 取值范围 备注
管理员编号 char 10 0001-9999 主键,非空
管理员姓名 vchar 20 非空
密码 Char 10 非空
电话 Char 10 非空
地址 vchar 20

供应商信息表:
字段名称 数据类型 长度 取值范围 备注
供应商编号 char 10 0001-9999 主键,非空
密码 Char 10 非空
电话 Char 10 非空
地址 vchar 20
土特产商品组编号 char 10 0001-9999 外键,非空
订单编号 Char 10 0001-9999 外键,非空

(二) 创建表和完整性约束代码设计
1. 创建用户信息表及完整性约束:
create table 用户信息表(
用户编号 char(10) not null primary key,
姓名 varchar(20) not null,
密码 char(20) not null,
电话 char(10) null,
地址 varchar(20) null,
)
2. 创建土特产商品信息表及完整性约束:
create table 土特产商品信息表(
土特产商品编号 char(10) not null primary key,
土特产商品组编号 char(10) not null,
名称 varchar(20) not null,
价格 float not null,
)
alter table 土特产商品信息表
add constraint FK_土特产商品信息表_REFRENCE_土特产商品组信息表 foreign key (土特产商品组编号)
references 土特产商品组信息表(土特产商品组编号)

3. 创建订单信息表及完整性约束:
create table 订单信息表(
订单编号 char (10) not null primary key,
用户编号 char (10) not null,
土特产商品编号 char (10) not null,
订单日期 datetime not null,
价格 float not null,
)
alter table 订单信息表
add constraint FK_订单信息表_REFRENCE_用户信息表 foreign key (用户编号)
references 用户信息表(用户编号)

alter table 订单信息表
add constraint FK_订单信息表_REFRENCE_土特产商品信息表 foreign key (土特产商品编号)
references 土特产商品信息表(土特产商品编号)

4. 创建土特产商品组信息表及完整性约束:
create table 土特产商品组信息表(
土特产商品组编号 char(10) not null primary key,
土特产商品组名称 varchar(20) not null,
管理员编号 char(10) not null,
供应商编号 char(10) not null
)
alter table 土特产商品组信息表
add constraint FK_土特产商品组信息表_REFRENCE_管理员信息表 foreign key (管理员编号)
references 管理员信息表(管理员编号)

alter table 土特产商品组信息表
add constraint FK_土特产商品组信息表_REFRENCE_供应商信息表 foreign key (供应商编号)
references 供应商信息表(供应商编号)
5. 创建管理员信息表及完整性约束:
create table 管理员信息表(
管理员编号 char(10) not null primary key,
管理员姓名 varchar(20) not null,
密码 char(20) not null,
电话 char(10) not null,
地址 varchar(20) null,
)
6. 创建供应商信息表及完整性约束:
create table 供应商信息表(
供应商编号 char(10) not null primary key,
密码 char(20) not null,
电话 char(10) not null,
地址 varchar(20) null,
土特产商品组编号 char (10) not null,
订单编号 char (10) not null
)
alter table 供应商信息表
add constraint FK_供应商信息表_REFRENCE_土特产商品组信息表 foreign key (土特产商品组编号)
references 土特产商品组信息表(土特产商品组编号)

alter table 供应商信息表
add constraint FK_供应商信息表_REFRENCE_订单信息表 foreign key (订单编号)
references 订单信息表(订单编号)
(三) 创建索引、视图和触发器
1. 索引
对管理员编号和供应商编号和用户编号创建唯一非聚集索引
CREATE UNIQUE INDEX NUM on 管理员信息表(管理员编号);

CREATE UNIQUE INDEX NUM2 on 供应商信息表(供应商编号);

CREATE UNIQUE INDEX NUM3 on 用户信息表(用户编号);

2. 视图
1.对土特产商品创建视图
CREATE VIEW 土特产商品_view
AS SELECT *
FROM 土特产商品信息表

  1. 对土特产商品组创建视图
    CREATE VIEW 土特产商品组_view
    AS SELECT *
    FROM 土特产商品组信息表

  2. 对订单信息创建视图
    CREATE VIEW 订单_view
    AS SELECT *
    FROM 订单信息表

3. 触发器
1.在新用户注册成功后,显示欢迎光临
CREATE TRIGGER trigger_Emp
ON 用户信息表
AFTER INSERT
AS
PRINT’欢迎光临’

2.管理员不可删除管理员成员
CREATE TRIGGER DELETE_ID
ON 管理员信息表
instead of DELETE
AS
begin
print’禁止删除’
ROLLBACK TRANSACTION
Endd

3.在成功增加商品组后显示供应成功
CREATE TRIGGER trigger_Emp1
ON 土特产商品组信息表
AFTER INSERT
AS
PRINT’供货成功’

五、数据库功能调试

(一) 用户模块

  1. 用户注册

  1. 查询土特产商品

  2. 查看订单信息

(二) 供应商模块

  1. 供应商品

  1. 退还商品

  2. 查看订单

(三) 管理员模块

  1. 修改用户信息

  2. 修改商品信息

  3. 修改供应商信息

  1. 修改订单信息

  2. 修改商品组信息

六、设计总结
在本次课程设计中,遇到了许多的困难,在技术方面有非常多的困难。比如在powerdesigner的使用上,由于大部分仍是英文,需要学习的东西非常多。在设计cdm时,表与表之间的关系一点要搞清楚,所以在一开始的时候,一点要最全局有个清楚的构思,我在写到后面时,不停的推翻前面的方案,导致图需要修改的很多,这就导致花费了许多的时间。
在用pdm转成数据库时,连接不上数据库,在网上找了许多的方法,仍是不行,可能是缺失某个程序,但是可以转换成sql语句,但是cmd在转换成pdm时会把关系转换成表,原本我以后可以直接使用pdm转换的sql代码,但是会多出许多表,并且没有外键,只有索引,并且索引非常多,是因为太多的表造成的,所以最后我自己创建表设立主外键。
在插入数据时,因为如果没有主键内容,插入外键信息会报错,只能将外键删除再重新插入,
在功能实现上仍有不足,所有的主键信息都无法修改,也不能置空,所以在修改别的信息时如果牵扯到主键的修改就无法修改。
总体说来,在这次一个学期的课程设计中,我学到了很多在课堂内学不到的知识。整个开发的过程对我来说是一次能力真正提高的过程;是将以前所学知识充分利用的过程;是一次将理论应用于实践的过程。我觉得这次课程设计是一次很有收获的实践.

数据库课程设计(在线销售系统)相关推荐

  1. 数据库课程设计——滴滴打车系统

    1 引言 1.1需求分析 滴滴打车系统的主要应用需求来自乘客.司机两个身份的用户需求.对于乘客,他可以登入系统,查看自己的信息,修改自己的密码,进行打车下单的操作和给管理员留言的操作:对于司机,他可以 ...

  2. 山东大学数据库课程设计火车票系统报告

    数据库课程设计报告 ​ ----火车票订票系统 ​ ​​ 学院: 专业: 班级: 姓名: 学号: 目录 一.系统开发平台 3 二.数据库规划 3 2.1  任务陈述 3 2.2  任务目标 3 三.系 ...

  3. 数据库课程设计--淘宝购物订单系统

    数据库课程设计–淘宝订单系统 也不知道那个憨批给我改的鸟名,孩他妈只能一个月一改,我服了. 过几天写个java版本的出来,php写的感觉技术含量太低,效率也低 前台:https://mysql.cxy ...

  4. 数据库课程设计——火车票售票系统

    摘要 数据库课程设计的题目,设计了一个火车票售票系统,实现了列车信息查询,车票查询及购买,订单查询,个人信息管理等功能,数据是从12306爬取的真实数据. 项目链接 前端项目链接:https://gi ...

  5. oracle学生考勤,Oracle数据库课程设计――学生考勤系统的Oracle实现1

    Oracle数据库课程设计――学生考勤系统的Oracle实现1 辽宁工程技术大学 Oracle数据库课程设计报告 学生考勤系统 姓 名: XXXXX 班 级: 计SJ08-1班 学 号: 完成日期: ...

  6. 汽车站订票系统mysql实验_数据库课程设计报告-车站售票管理系统

    数据库课程设计报告-车站售票管理系统 吉林工程技术师范学院 课程设计报告 设计名称: 车站售票信息管理系统 姓 名: 孟祥丽 学 号: 23号 专 业: 计算机科学与技术 班 级: C1042 院 系 ...

  7. 学生选课系统 数据库课程设计

    数据库课程设计报告 设计题目         学生选课系统 专    业         计算机科学与技术 班    级         计1101 学    号 姓    名        寸利芳 ...

  8. 数据库课程设计——MySQL火车票售票系统

    数据库课程设计--火车票售票系统 很烦数据库课程设计?阅读本篇文章会让你不那么烦躁~ 话不多说先放源代码: https://github.com/shadowings-zy/TrainTicketsS ...

  9. 数据库课程设计————学生考试系统

    1.敲代码前的准备工作 1.1准备开发工具 1.1.1 开发工具的说明 本系统利用了xampp 集成环境,利用PHP写后端,html.css.js写前端(其实笔者也是现学现卖) 1.1.2 xampp ...

  10. JAVA 点菜系统数据库课程设计

    点菜系统数据库课程设计 效果图 数据库建表 CREATE TABLE OrderDish (orderid int not null,money int,primary key(orderid) ); ...

最新文章

  1. 想要自学深度学习?不用GPU,浏览器就够了
  2. 关于 Fatal NI connect error 12170
  3. 全国Python科研应用专题实操培训班通知
  4. 基于 c++ 语言的简易 vim 编辑器
  5. Windows桌面分享程序设计
  6. 浏览器cookie被禁掉,该如何去解决
  7. c语言----斐波那契数列
  8. python抽奖程序_抽奖程序python
  9. Python 实战 | 工欲善其事,必先利其器
  10. 在线购物系统 实验三分析类类图
  11. 2023届暑期实习华为面试手撕题
  12. 交换机(三层)接入层、汇聚层和核心层交换机的特点
  13. 桌面整理助手 - DesktopAssistant 1.2.1.9
  14. Go:DepthFirstSearch深度优先搜索算法(附完整源码)
  15. 全国计算机等级考试补考时间,全国计算机等级考试可以补考么(全国计算机一级报名时间)...
  16. 计算机应用基础中课程表怎么制作,浅谈《计算机应用基础》课程中Word表格的制作课程教学...
  17. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆
  18. React-Native搭建Android平台(ZUCC智能终端与移动应用开发lab1)
  19. java注册界面发送邮箱验证码(无线程版)
  20. 家庭网络实现公网IPv6

热门文章

  1. ipad+mysql+客户端_MySQL QueryDB Client
  2. 暮光之城2蓝光BD高清下载
  3. 百度SEOdedecms织梦采集侠V2.9采集插件
  4. extremecomponents-1.0.1.jar 的使用小例子
  5. RubyOnRails终极部署
  6. linux C++ socket编程 实例
  7. alexa工具条下载_如何聆听(和删除)您给Alexa的每条命令
  8. 2021河北计算机专接本考试复习资料
  9. 学习Python的几个优质平台
  10. 智联+影音,AITO问界M7想干翻的不止理想One