校园小商品交易系统.docx
- 文档编号:26214173
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:20
- 大小:100.50KB
校园小商品交易系统.docx
《校园小商品交易系统.docx》由会员分享,可在线阅读,更多相关《校园小商品交易系统.docx(20页珍藏版)》请在冰豆网上搜索。
校园小商品交易系统
课程设计报告
题目:
校园小商品交易系统
课程《数据库原理及应用》
班级计算机科学与技术
姓名马彪
学号3120701104
指导教师帅兵
计算机与信息学院
时间:
2014年12月20日至2014年12月31日
摘要3
第一章需求分析4
1.1系统目标设计4
1.2系统需求分析5
1.3业务流程分析6
1.4数据流程分析7
第二章概念模型设计9
2.1概念9
2.2概念模型设计9
第三章逻辑结构设计9
3.1逻辑模型设计和优化9
3.2关系模型10
第四章物理设计和实施11
4.1定义数据库11
4.2创建表12
4.3创建存储过程13
4.4创建触发器14
第五章课程设计心得体会18
参考文献29
摘要
校园小商品交易系统,为商家和网民搭建一个购售平台,电子商务不仅改变了企业营销方式,而且推动企业对管理理念、决策方式、业务过程等系列问题的战略性思考和变革,最为重要的是,电子商务支持并形成战略性伙伴关系和虚拟企业。
在今天,信息化大潮已经不可逆转,全球经济在一体化发展。
对中国企业而言,这是一个充满机遇与挑战的全新的经济时代。
对人们,它改变着人的生活方式和观念。
网上购物已经进入人们生活的方方面面,为了适应社会的发展,商品交易系统是很有必要的。
而在现在的高校里,对购买的服务要求越来越高,尤其是对便捷的网购更是热衷,而在网购所有环节里,其交易系统的重要性毋庸置疑。
本课程设计就是模仿网购交易模式而编写的简单的校园小商品交易系统,允许学生和教师订购商品和商品发布者和根据交易情况发布商品,同时管理员可以对商品以及各用户进行管理统计。
交易系统主要分为一般用户订购商品、发布者发布商品以及管理员对用户以及商品的管理统计,本系统采用SQLServer2000作为数据库,使用ODBC作为数据源。
在实现数据库部分功能时按照要求创建了触发器、视图以及存储过程。
第一章需求分析
1.1 系统目标设计
校园小商品交易系统,为商家和网民搭建一个购售平台。
经过调研及分析,校园小商品交易系统主要完成以下功能:
包含两类用户:
管理员、普通用户。
(1)向管理员提供以下功能:
自身密码修改,其他用户添加删除,用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
(2)向商品发布者提供以下功能:
注册、登陆、注销、自身密码修改、自身信息修改。
商品信息发布,自身商品信息统计。
查找浏览其他商品。
(3)向一般用户提供以下功能:
商品浏览、查找、获知商家联系方式,定购商品。
(4)向访客提供以下功能:
商品浏览、查找、获知商家联系方式。
1.2系统需求分析
1)基本信息的维护
商品基本信息管理:
包括商品基本信息的新建、修改和删除等。
商品用户信息管理:
包括商品用户信息的注册、修改密码和删除等。
普通用户信息管理:
包括普通用户信息的添加、删除和修改密码等。
2)商品发布商品发布信息管理:
商品发布信息包括商品id,名称,价格,商品编号,上架时间等。
商品发布管理功能完成商品信息增加、修改等。
分类查看:
可以根据商品名称或者价格所在区域来查看某种商品的详细信息和卖家情况。
最近更新:
商品信息的变动可以显示你的商品新鲜度。
已有商品:
列出当前商品用户已发布的商品。
3)订购管理商品订购管理:
商品的订购包含商品id与订购商品的用户名,而且每订购一次就将商品的订购次数加一。
查看已订购商品:
可以根据商品用户名称来查看当前用户订购商品的情况。
查找商品:
用户可以直接去商城找商品,然后输入商品号订购,更新订购表。
4)管理员管理普通用户信息管理:
查看全部普通用户信息,对其进行修改与删除,更新表。
商品用户管理:
基本功能与管理普通用户一样。
商品管理:
查看全部商品信息与商品所属商品用户信息,然后对商品信息进行修改与删除
1.3业务流程分析
根据本系统需要实现的功能,设计用户之间的关系流程图如下:
图1-3-1业务流程图
1.4数据流程分析
1.4.1数据流程图
图1-1校园小商品交易管理系统顶层数据流图
管理员
用户名单
图1-2校园小商品交易系统1层数据流图
1.2数据字典
(1)数据流的描述
数据流编号:
D001
数据流名称:
发布商品
数据流来源:
商品发布者
数据流去向:
校园小商品交易系统
数据流编号:
D002
数据流名称:
浏览商品
数据流来源:
访客
数据流去向:
校园小商品交易系统
数据流编号:
D003
数据流名称:
身份验证
数据流来源:
访客
数据流去向:
校园小商品交易系统
数据流编号:
D004
数据流名称:
下单
数据流来源:
一般用户
数据流去向:
校园小商品交易系统
数据流编号:
D005
数据流名称:
获取数据
数据流来源:
校园小商品交易系统
数据流去向:
管理员
数据流编号:
D006
数据流名称:
修改数据
数据流来源:
管理员
数据流去向:
校园小商品交易系统
(2)数据存储的描述
表1-2-1管理员基本信息表(Users)
Name
Code
DataType
管理账号
UserName
char(10)
密码
UserPwd
char(10)
表1-2-2商品发布者基本信息表(商家)
Name
Code
DataType
商家ID
商家ID
char(10)
商家名
商家名
char(10)
商家
商家
char(11)
表4-2-3一般用户基本信息表(用户)
Name
Code
DataType
用户ID
用户ID
char(10)
用户名
用户名
char(10)
密码
密码
char(10)
char(11)
地址
地址
char(10)
表4-2-4商品基本信息表(商品)
Name
Code
DataType
商品ID
商品ID
char(10)
商品名称
商品名称
char(10)
生产商
生产商
char(10)
价格
价格
money
存货量
存货量
Int
发布日期
发布日期
datetime
简介
简介
char(10)
表4-2-5订单基本信息表(订单)
Name
Code
DataType
订单ID
订单ID
char(10)
商品ID
商品ID
char(10)
用户ID
用户ID
char(10)
订单金额
订单金额
money
数量
数量
int
下单日期
下单日期
Datetime
第二章概念模型设计
2.1概述
数据库是信息系统的基础和核心,数据库设计的质量将直接关系到系统开发的成败和优劣。
在信息系统中,数据库设计是指根据业务需求、信息需求和处理需求,确定信息系统中数据库结构、数据操作和数据一致性约束的过程。
数据库设计的基本过程可分为需求分析、概念设计、逻辑设计和物理设计四个步骤。
在信息系统的开发中,一般不就数据库设计专门进行需求分析,而是在系统分析的需求分析阶段一并考虑。
概念设计的任务是确定数据库的结构,确定从不同用户角度看到的外模式,并把外模式集成为全局模式。
逻辑设计把概念设计得到的全局模式转换成为所选择的数据库模型,并进行优化处理。
2.2概念模型设计
根据需求分析与关系模式画出系统的E-R图如下:
图5-1系统的总体概念模型
第三章逻辑模型设计
3.1逻辑结构简介
逻辑结构就是把概念结构设计阶段好的基础E-R图转换与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构一般分为3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转话来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
3.2关系模型
将E-R图转换为关系模型实际上就是要将实体型、实体属性和实体型间的联系转换为关系模型,这种转换一般遵守如下原则:
一个实体转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。
例如商品与用户之间多对多的关系就生成了订单。
3.3逻辑模型设计与优化
根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的式理论,得到系统优化后的逻辑模型,如表1~表15所示。
表1一般用户基本信息表
用户名
ID
表2商品基本信息表
商品名
ID
价格
数量
表3商品发布者基本信息表
发布者名称
ID
表4订单基本信息表
订单ID
商品ID
用户ID
金额
订单日期
第四章物理模型设计
数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。
4.1定义数据库
SQLServer2005数据库文件分为3中类型:
主数据文件、次数据文件和日志文件。
通过SQL语言进行数据库创建,创建数据库的语句如下:
4.2创建表
/*==============================================================*/
/*Table:
users管理员基本信息表*/
/*==============================================================*/
createtableAdministrator(
UserNamevarchar(10)notnull,
UserPwdvarchar(10)null,
constraintPK_ADMINISTRATORprimarykeynonclustered(Adid))
/*==============================================================*/
/*Table:
订单订单表*/
/*==============================================================*/
createtableOrders(
订单IDchar(10)notnull,
商品IDchar(10)notnull,
用户IDchar(10)notnull,
订单金额moneynotnull,
数量intnotnull,
下单日期datetimenotnull,
constraintPK_ORDERSprimarykey(SPid,Uid))
/*==============================================================*/
/*Table:
商家商家表*/
/*==============================================================*/
createtableSJ(
商家IDchar(10)notnull,
商家名char(10)null,
商家char(11)null,
constraintPK_SJprimarykeynonclustered(SJid))
/*==============================================================*/
/*Table:
商品商品信息表
/*==============================================================*/
createtableSP(
商品IDchar(10)notnull,
商品名char(10)null,
生产商char(10)null,
价格moneynull,
存货量intnull,
发布时间datetimenull,
简介char(10)null,
constraintPK_SPprimarykeynonclustered(SPid))
/*==============================================================*/
/*Table:
用户*/
/*==============================================================*/
createtable用户(
用户IDchar(10)notnull,
用户名char(10)null,
用户密码char(10)null,
地址moneynull,
char(11)null,
constraintPK_用户primarykeynonclustered(Uid))
4.3创建存储过程
1.在Users表上创建一个存储过程,用于添加一般用户。
CREATEPROCEDURE[insert——Users]
(Uid[int],
UName[varchar](50),
UPassward[varchar](50),
UMoney[money],
UPone[varchar](11))
AS
INSERTINTOUsers
([Uis],[UName],[UPassward],[UMoney],[UPhone])
VALUES
(Uid,UName,UPassward,UMoney,UPhone)
2.在Users表上创建一个存储过程,用于删除一般用户。
CREATEPROCEDURE[delete_Users]
(Uid[int])
ASDELETEUsers
WHERE
([Uid]=Uid)
3.在视图aa_TU_U-SP上创建存储过程,用于统计用户所买商品。
CREATEPROCEDURE[aa_TU_U-SP]
(Uid[int])
AS
Select
fromU_SP
whereUid=Uid
4.4创建触发器
1.在Orders表中创建一个AFTER级插入触发器,当添加一条订单时,相应的将SP表格中的商品数量SPCount减少。
CREATETRIGGER[dbo].[Orders_SP]
ONdbo.Orders
AFTERINSERT
AS
DECLARESPidint,OrCountint
SelectOrdCount=OrdCount,SPid=SPid
frominserted
updateSPsetSPCount=SPCount-OrCount
whereSPid=SPid
2.在Orders表中创建一个AFTER级插入触发器,用于当订单商品数量超过SP表商品数量时输出提示信息,阻止当前操作进行。
CREATETRIGGER[dbo].[Orders_SP_提示]
ON[dbo].[Orders]
AFTERINSERT
AS
declareSPidint,OrCountint
selectSPid=SPidfrominserted
ifEXISTS(selectSPCountfromSP.inserted
whereSP.SPid=SPidandSPCount begin RAISERROR(‘对不起,该商品已售完或数量不足! ’,16,1) Rollbacktransaction end 第五章课程设计心得体会 在这一周的课程设计中我学到了许多书本之外的东西,同时也使我对数据库系统概论这门学科有了更深一步的认识,对这学期学的知识有了全面的认识,不再像最初接触数据库时那么迷茫了。 由于以前大部分时间都在学习理论的知识,所以对使用数据库来实现项目不是很了解。 而学校安排的这次课程设计使我收获颇多,从中发现了许多不足,不过动手能力得到了提高,对数据库系统的设计流程也有了进一步的了解。 当然在本次课程设计中也遇到了许多的困难,比如SQLSever2005的运用,对于解决实际问题该如何设计触发器还有就是由于没有网购经历所以对交易系统的需求分析不熟悉等。 希望在以后的学习中能够对数据库系统的设计更加熟悉。 致谢 首先我要感谢学校给了我们两周宝贵的学习时间,经过这两周的课程设计,使我对数据库系统概论这门学科有了更深一步的认识,通过与指导老师的交流、通过图书馆查看相关资料,我基本熟悉了整个系统的业务流程,这对后期的开发工作至关重要,在这里感谢我的指导老师,是他教会了我整个设计过程的方法。 虽然我设计的系统还存在不足的地方,可是它是我辛勤努力的结果。 经过整个课程设计期间的努力,我基本上完成了我的课题,在此感谢系里给我们提供了舒适的工作、学习环境,以及老师给予的悉心关怀与指导。 此外,我的同学在我这次毕业设计中也给了我很大的帮助,我非常感谢。 老师认真负责的工作态度、严谨的治学风格以及平易近人的为人,让我受益匪浅;开发的同时,和同学们之间的相互探讨也使我的知识上了一个台阶。 在这段时间里,我除了完成了课程设计,更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。 再次感谢老师以及给过我帮助的同学。 参考文献 [1]萨师炫等.数据库系统概论(第三版).: 高等教育,2001 [2]施伯乐等.数据库技术.: 科学,2002 [3]王珊等.数据库系统原理教程.: 清华大学,1998 [4]龙祥等.数据库原理与设计.: 人民邮电,2002 [5]志泊等.数据库原理及应用教程.: 人民邮电,2002 [6]徐洁磐.现代数据库系统教程.: 希望电子,2002 [7]周志逵等.数据库理论与新技术.: 理工大学,2001 [8]建中等.数据库系统原理.: 电子工业,1998 [9]方鑫等.数据库原理与技术.: 电子工业,2002 [10]高阳.计算机实用软件.: 电子工业,1995 [11]韩庆兰.数据库技术.: 科学技术,2001 [12]丁宝康等.数据库实用教程.: 清华大学,2001 [13]云生.现代数据库技术.: 国防工业,2001 [14]W.H.Inmon著.数据仓库.王志海等译.: 机械工业,2000 [15]AbrahamSilberschatz,HenryF.Korth,S.Sudarshan著.数据库系统概念.冬青等译.: 机械工业,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 小商品 交易系统