校园小商品交易系统课程设计报告_第1页
校园小商品交易系统课程设计报告_第2页
校园小商品交易系统课程设计报告_第3页
校园小商品交易系统课程设计报告_第4页
校园小商品交易系统课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院重庆科技学院 课程设计报告课程设计报告 院(系):_电气与信息工程学院 专业班级: 计算机科学与技术 学生姓名: 田园 学 号: 设计地点(单位)_第一实验楼 I305_ _ _ _ 设计题目:_校园小商品销售系统_ _ _ 完成日期: 2014 年 06 月 20 日 指导教师评语: _ _ _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 课程设计任务书课程设计任务书 设计题目:校园小商品交易系统 学生姓名田园 课程名称数据库原理课程设计专业班级 计科 2012-4 地 点 I305 起止时间 2014.6.15-2014.6.20 设 计 内 容 及 要 求 内容: 学生根据本课程设计指导书中的题目,进行设计。 (1)用户管理:包含三类用户:管理员、商品发布者、普通用户、访客。 (2)向管理员提供以下功能:自身密码修改,其他用户添加删除, 用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (3)向商品发布者提供以下功能:注册、登陆、注销、自身密码修 改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他 商品。 (4)向一般用户提供以下功能:商品浏览、查找、获知商家联系方 式,定购商品。 (5)向访客提供以下功能:商品浏览、查找、获知商家联系方式。 要求: 按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、 物理结构设计,使学生掌握数据库应用软件的开发流程,SQL 语句的使用 和存储过程的使用。 设 计 参 数 至少 5 个表结构;3 个存储过程;2 个触发器;3 个视图。 进 度 要 求 17.1 讲课 阅读分析任务书 制订设计计划 17.2 需求分析 概念结构设计 17.3 概念结构设计 17.4 物理结构设计撰写报告 17.5 交设计报告书 参 考 资 料 1雷亮等数据库原理课程设计指导书 2王珊、萨师煊 数据库系统概述(第四版) 北京:高等教育出版 社2006。 3C.J.Date 著孟小峰、王珊等译 数据库系统导论(第 8 版) 北京:机械 工业出版社.2007。 4陈根才等. 数据库课程设计浙江浙江大学出版社2007 I 其 它 说 明 .本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一 份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在 设计内容、参数、要求等方面应有所区别。 教研室主任: 指导教师:雷亮/游明英/张亚军/裴仰 军 2012 年 06 月 15 日 重庆科技学院数据库原理课程设计报告 II 摘要 在现在的高校里,对购买的服务要求越来越高,尤其是对便捷的网购更是热 衷,而在网购所有环节里,其交易系统的重要性毋庸置疑。本课程设计就是模 仿网购交易模式而编写的简单的校园小商品交易系统,允许学生和教师订购商 品和商品发布者和根据交易情况发布商品,同时管理员可以对商品以及各用户 进行管理统计。 交易系统主要分为一般用户订购商品、发布者发布商品以及管理员对用户 以及商品的管理统计,本系统采用 SQL Server 2000 作为数据库,使用 ODBC 作 为数据源。在实现数据库部分功能时按照要求创建了触发器、视图以及存储过 程。 关键词关键词: 校园小商品交易系统 SQLServer2000 触发器 视图 存储过程 重庆科技学院数据库原理课程设计报告 0 目录目录 摘要摘要.III 1 1 需求分析需求分析.2 1.1 系统目标设计.2 1.2 系统功能分析.2 1.3 功能模块分析.3 1.4 系统全局数据流图.4 1.5 数据字典.4 2 概念结构设计概念结构设计.6 2.1 概念模型设计.6 3 3 逻辑结构设计逻辑结构设计.8 3.1 逻辑结构简介 .8 3.2 关系模型.8 4 4 物理模型设计物理模型设计.8 4.1 定义数据库 .8 4.2 创建表.9 4.3 创建存储过程.13 4.4 创建触发器.15 4.5 定义视图.17 总结总结.19 致谢致谢.20 参考文献参考文献.21 重庆科技学院数据库原理课程设计报告 1 1 需求分析 1.1 系统目标设计 校园小商品交易系统,和网上购物系统相似,可以实现网上购买商品以及 发布商品。 1.2 系统功能分析 (1)用户管理:包含三类用户:管理员、商品发布者、普通用户、访客。 (2)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信 息修改、统计。商品信息添加、修改、删除、查找、统计。 (3)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自 身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (4)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定 购商品。 (5)向访客提供以下功能:商品浏览、查找、获知商家联系方式。 要求: 按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理 结构设计,使学生掌握数据库应用软件的开发流程,SQL 语句的使用和存储过程 的使用。 重庆科技学院数据库原理课程设计报告 2 1.3 功能模块分析 图 1.1 功能模块分析 重庆科技学院数据库原理课程设计报告 3 1.4 系统全局数据流图 系统的全局数据流图,也称第一层数据流图,是从整体上描述系统的数据 流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。 图 1.2 系统全局数据流图 1.5 数据字典 表 1.1 管理员基本信息表(Administrator) NameCodeData Type 管理账号 Aidvarchar(20) 密码 Apwdvarchar(20) 表 1.2 商品发布者基本信息表(Merchant) NameCodeData Type 商家 ID Midvarchar(20) 商家名 Mnamevarchar(20) 密码 Mpwdvarchar(20) 电话 Mphonevarchar(11) 访 客 浏览商品 身份验证 管理员 商品发布者 一般用户 数据库 更新任意数据 添加商品 下单 重庆科技学院数据库原理课程设计报告 4 表 1.3 一般用户基本信息表(Users) NameCodeData Type 用户 ID Uidvarchar(20) 用户名 Unamevarchar(20) 密码 UpwdVarchar(20) 账户金额 Umoneymoney 电话 UphoneVarchar(11) 表 1.4 商品信息表(Goods) NameCodeData Type 商品 ID Gidvarchar(20) 商品名称 Gnamevarchar(20) 生产商 GproducerVarchar(50) 商品价格 Gmoneymoney 商品数量 Gnumberint 生产日期 Gdatedatetime 有效期 Gtimedatetime 表 1.5 商品订单信息表(Order_from) NameCodeData Type 订单 ID Oidvarchar(20) 商品 ID Gidvarchar(20) 用户 ID Uidvarchar(20) 订单金额 Omoneymoney 订单商品数量 Onumberint 订单日期 Odatedate 表 1.6 商品发布基本信息表(Release) NameCodeData Type 商家 ID Midvarchar(20) 商品 ID Gidvarchar(20) 商品数量 Rnumberbigint 商品价格 Rmoneymoney 发布日期 Rdatedate 重庆科技学院数据库原理课程设计报告 5 2 概念结构设计概念结构设计 2.1 概念模型设计 设计环境是用 sybase 的 powerdesigner,设计时将按需求设计的实体及各 个属性都在表中描述出来,再添加有联系的实体的关系,确认对应关系,设计 好的概念模型如下: 图 2.1 校园小商品交易系统概念模型 重庆科技学院数据库原理课程设计报告 6 图 2.2 校园小商品交易系统物理模型 图 2.2 校园小商品交易系统逻辑模型 重庆科技学院数据库原理课程设计报告 7 3 逻辑结构设计 3.1 逻辑结构简介 逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用 DBMS 产品所支持的数据模型相符合的逻辑结构。 设计逻辑结构一般分为 3 步进行: (1) 将概念结构转换为一般的关系、网状、层次模型; (2) 将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换; (3) 对数据模型进行优化。 3.2 关系模型 将 E-R 图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之 间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一 个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以 融合在其他的相关的关系模式中。例如商品与用户之间多对多的关系就生成了 订单。 4 物理模型设计 数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件 功能尽可能快地对数据进行物理访问和维护。 4.1 定义数据库 SQL Server 2005 数据库文件分为 3 中类型:主数据文件、次数据文件和日 志文件。 重庆科技学院数据库原理课程设计报告 8 通过 SQL 语言进行数据库创建,创建数据库的语句如下: 4.2 创建表 /*=*/ /* DBMS name: Microsoft SQL Server 2008 */ /* Created on: 2014-06-19 14:53:02 */ /*=*/ if exists (select 1 from sysobjects where id = object_id(Administrator) and type = U) drop table Administrator go if exists (select 1 from sysobjects where id = object_id(Goods) and type = U) drop table Goods go if exists (select 1 from sysobjects where id = object_id(Merchant) and type = U) drop table Merchant go 重庆科技学院数据库原理课程设计报告 9 if exists (select 1 from sysobjects where id = object_id(Order_from) and type = U) drop table Order_from go if exists (select 1 from sysobjects where id = object_id(Release) and type = U) drop table Release go if exists (select 1 from sysobjects where id = object_id(Users) and type = U) drop table Users go /*=*/ /* Table: Administrator */ /*=*/ create table Administrator ( Aid varchar(10) not null, Apwd varchar(10) null, constraint PK_ADMINISTRATOR primary key nonclustered (Aid) ) 重庆科技学院数据库原理课程设计报告 10 go /*=*/ /* Table: Goods */ /*=*/ create table Goods ( Gid varchar(10) not null, Gname varchar(20) null, Gproducer varchar(50) null, Gmoney money null, Gnumber int null, Gdata datetime null, Gtime datetime null, constraint PK_GOODS primary key nonclustered (Gid) ) go /*=*/ /* Table: Merchant */ /*=*/ create table Merchant ( Mname varchar(20) null, Mid varchar(50) not null, Mpwd varchar(10) null, Mphone varchar(11) null, constraint PK_MERCHANT primary key nonclustered (Mid) ) go 重庆科技学院数据库原理课程设计报告 11 /*=*/ /* Table: Order_from */ /*=*/ create table Order_from ( Uid varchar(10) not null, Gid varchar(10) not null, Oid varchar(10) null, Omoney money null, Onumber money null, Odate datetime null, constraint PK_ORDER_FROM primary key nonclustered (Uid, Gid) ) go /*=*/ /* Table: Release */ /*=*/ create table Release ( Mid varchar(50) not null, Gid varchar(10) not null, Rnumber int null, Rmoney money null, Rdate datetime null, constraint PK_RELEASE primary key nonclustered (Mid, Gid) ) go /*=*/ /* Table: Users */ 重庆科技学院数据库原理课程设计报告 12 /*=*/ create table Users ( Uid varchar(10) not null, Uname varchar(20) null, Upwd varchar(10) null, Umoney money null, Uphone varchar(11) null, constraint PK_USERS primary key nonclustered (Uid) ) go 4.3 创建存储过程 1.在 Users 表上创建一个存储过程,用于添加一般用户。 -存储过程 1 添加用户 CREATE PROCEDURE insert_Users ( Uidvarchar(10), Uname varchar(20), Upwdvarchar(10), Umoneymoney, Uphonevarchar(11) ) AS insert into Users (Uid,Uname,Upwd,Umoney,Uphone) values (Uid,Uname,Upwd,Umoney,Uphone); 重庆科技学院数据库原理课程设计报告 13 2.在 Users 表上创建一个存储过程,用于删除一般用户。 -存储过程 2 删除用户 CREATE PROCEDURE delete_Users ( Uidvarchar(10) ) AS DELETE Users WHERE (Uid = Uid); 3.在 Goods 表上创建一个存储过程,用于添加商品。 -存储过程3 添加商品 CREATE PROCEDURE insert_Goods ( Gidvarchar (10), Gname varchar (20), Gproducer varchar (50), Gmoneymoney, Gnumberint, Gdate datetime, Gtime datetime ) AS insert into Goods (Gid ,Gname ,Gproducer ,Gmoney ,Gnumber ,Gdate ,Gtime ) values (Gid ,Gname,Gproducer,Gmoney,Gnumber,Gdate,Gtime); 4.在 Goods 表上创建一个存储过程,用于添加商品。 -存储过程4 添加商家 CREATE PROCEDURE insert_Merchant ( 重庆科技学院数据库原理课程设计报告 14 Mname varchar (20), Midvarchar (10), Mpwdvarchar (10), Mphone varchar (11) ) AS insert into Merchant(Mname,Mid,Mpwd,Mphone) values (Mname,Mid,Mpwd,Mphone); 5.在 Goods 表上创建一个存储过程,用于添加商品。 -存储过程5 添加管理员 CREATE PROCEDURE insert_Administrator ( Aidvarchar (10), Apwdvarchar (10) ) AS insert into Administrator(Aid,Apwd) values (Aid,Apwd); 4.4 创建触发器 1.在 Order_from 表中创建一个 AFTER 级插入触发器,当添加一条订单时, 相应的将 Goods 表中的商品数量 Gnumber 减少。 -触发器1 CREATE TRIGGER Order_from_Goods ON Order_from AFTER insert AS declare Gid varchar(10), Onumberint select Onumber=Onumber,Gid=Gid from inserted Update Goods set Gnumber=Gnumber-Onumber where Gid=Gid; 重庆科技学院数据库原理课程设计报告 15 2.在 Order_from 表中创建一个 AFTER 级插入触发器,用于当订单商品数量 超过 Goods 表商品数量时输出提示信息,阻止当前操作进行。 -触发器2 CREATE TRIGGER Order_from2 ON Order_from AFTER Insert AS declare Gid varchar (10), Onumber int select Gid=Gid from inserted if exists(select Gnumber from Goods,inserted where Goods.Gid=Gid and GnumberOnumber) begin raiserror(Im sorry, the goods have been sold out or shortage!,16,1) rollback transaction end 3.在Release表中创建一个AFTER级插入触发器,用于当商家发布商品时, 相应的将Goods表中的商品数量Gnumber增加。 -触发器3 CREATE TRIGGER Release1 ON Release AFTER insert AS declare Gid varchar (10), Rnumber int select Rnumber=Rnumber,Gid=Gid from inserted Update Goods set Gnumber=Gnumber+Rnumber where Gid=Gid; 重庆科技学院数据库原理课程设计报告 16 4.5 定义视图 定义视图 View1,它是在 Goods 表、Release 表和 Merchant 表的基础上创 建的,用来统计输出商品的发布商及其联系电话,其行效果如下图所示: 图 4.1 视图 View1Z 执行过程 图 4.1 视图 View1 执行结果 定义视图 View2,它是在 Release 表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论