《校园小商品交易系统设计_数据库原理(15页).doc》由会员分享,可在线阅读,更多相关《校园小商品交易系统设计_数据库原理(15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-校园小商品交易系统设计_数据库原理-第 10 页课程设计报告院(系):电气与信息工程学院 专业班级: 计科 学生姓名: 学 号: 设计地点(单位)_第一实验楼_ _ _ _ 设计题目:_校园小商品交易系统设计_ 完成日期: 2013年 6月 28日指导教师评语: _ _成绩(五级记分制):_ _ 指导教师(签字):_ _重庆科技学院课程设计任务书设计题目:校园小商品交易系统设计学生姓名课程名称数据库原理课程设计专业班级计科2011-01,计科2011-02地 点起止时间20134-2013.6.28设计内容及要求内容: 学生根据本课程设计指导书中的题目,进行设计。(1)用户管理:包含三类用户
2、:管理员、商品发布者、普通用户、访客。(2)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。(4)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。(5)向访客提供以下功能:商品浏览、查找、获知商家联系方式。要求: 按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件的开发流程,SQL语句的使用和存储过程的使用。设计参数至少5个表结构;5个存
3、储过程;5个触发器;5个视图、2处使用事务处理、3处使用游标过程报告格式规范进度要求19.1 讲课 阅读分析任务书 制订设计计划19.2-3 需求分析 概念结构设计19.4-5 概念结构设计准备文挡20.1-3逻辑结构设计物理结构设计20.4-5写文挡答辩交设计报告书参考资料1雷亮等数据库原理课程设计指导书2王珊、萨师煊数据库系统概述(第四版) 北京:高等教育出版社2006。3C.J.Date著孟小峰、王珊等译数据库系统导论(第8版) 北京:机械工业出版社.2007。4陈根才等. 数据库课程设计浙江浙江大学出版社2007其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案
4、,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师: 2013年 06 月 15 日摘要 在校园里,对小商品的购买交易越来越多。本课程设计就是模仿网购交易模式而编写的简单的校园小商品交易系统。包含三类用户:管理员、商品发布者、普通用户,为商家和网民搭建一个购售平台,电子商务不仅改变了企业营销方式,而且推动企业对管理理念、决策方式、业务过程等系列问题的战略性思考和变革,最为重要的是,电子商务支持并形成战略性伙伴关系和虚拟企业。允许用户和访客订购商品以及商品发布者根据交易情况发布商品,同时管理员可以对商品以及各用
5、户进行管理统计。网上购物已经进入人们生活的方方面面,为了适应社会的发展,商品交易系统是很有必要的。校园小商品交易系统主要分为一般用户订购商品、发布者发布商品以及管理员对用户以及商品的管理统计,本系统采用SQL Server 2000作为数据库。在实现数据库部分功能时按照要求创建了触发器、视图以及存储过程。关键词:校园小商品交易系统 SQLServer2000 触发器 视图 存储过程目录摘要I1 需求分析11.1 系统目标设计11.2 系统功能分析11.3 功能模块分析21.4 系统全局数据流图31.5 数据字典32 概念结构设计72.1 构成系统的实体型72.2 小商品管理系统E-R图73 逻
6、辑结构设计9逻辑结构简介93.2 关系模型94物理模型设计11定义数据库114.2 创建表114.3 创建存储过程144.4 创建触发器17总结19致谢20参考文献211 需求分析1.1 系统目标设计校园小商品交易系统,实施网上购商品和商家发布商品,为商家和购物者搭建了一个很好的平台。1.2 系统功能分析(1)用户管理:包含三类用户:管理员、商品发布者、普通用户、访客。(2)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。
7、查找浏览其他商品。(4)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。(5)向访客提供以下功能:商品浏览、查找、获知商家联系方式。1.3 功能模块分析 根据系统功能的基本要求,可对整个系统划分为几个模块 图1.3.1 功能模块分析1.4 系统全局数据流图 系统的全局数据流图,也称第一层数据流图,是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。管理员登录密码订单管理商家管理商品管理商品发布管理 数据库图1.2 数据流图1.5 数据字典基本信息表NameData Type账户Varchar(10)管理员密码Varchar(20)表 1.
8、2一般用户基本信息表NameData Type用户IDVarchar(20)用户名Varchar(30)用户密码 Varchar(20)商品发布者基本信息表NameData Type商家IDVarchar(20)商家名Varchar(30)电话Varchar(11)的基本信息表NameData Type商品编号Varchar(20)商品名Varchar(50)生产商Varchar(30)商品价格Varchar(10)库存量integer表1.5商品信息发布表NameData Type商品编号 Varchar(10)产品名Varchar(50)商家IDVarchar(20)商品数量integer
9、价格Varchar(100)商品订单表NameData Type订单编号Varchar(10)用户IDVarchar(20)订单金额Varchar(100)订单数量integer商品编号Varchar(10)2 概念结构设计2.1 构成系统的实体型由校园小商品交易系统的数据流图和数据字典,抽取出系统的个6主要实体,包括:管理员基本信息表、一般用户基本信息表、商品发布者基本信息表、商品的基本信息表、商品订单基本信息表、商品发布表。管理员实体型属性: 账户 管理员密码一般用户实体型属性: 用户ID 用户名 用户密码商品发布者实体型属性:商家ID 商家名 电话 商品信息实体型属性:商品编号 商品名
10、生产商 商品价格 库存量订单实体型属性: 订单编号 商品编号 用户ID 订单金额 订单数量商品信息发布实体型属性:商品编号 产品名 商家ID 商品数量 价格2.2 工资管理系统E-R图图2.1 工资管理系统E-R图3 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。 设计逻辑结构一般分为3步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化。3.2 关系模型 将E-R图转换为关系模型实际上就是要奖实体型、实体的属
11、性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。例如: (1) 商家与商品信息发布之间是一对多的关系,所以将商品用户和商品信息发布以及属于关系设计成以下关系模式:商品发布者实体型属性:商家ID 商家名 电话 商品信息发布实体型属性:商品编号 产品名 商家ID 商品数量 价格4物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。SQL Server 2000数据库文件分为3中类型:主数据文件、次数据文件
12、和日志文件。通过SQL语言进行数据库创建,创建数据库的语句如下:create database xiangsuhong 4.2 创建表-管理员基本信息表 create table 管理员 账号 varchar(20) primary key , 管理员密码 varchar(20)-一般用户基本信息create table 用户 用户ID varchar(20) primary key, 用户名 varchar(30), 用户密码 varchar(20)-商品发布者基本信息 create table 商家 商家ID varchar(20) primary key, 商家名 varchar(30)
13、, 电话 varchar(11)-商品的基本信息 create table 商品 商品编号 varchar(10) primary key, 商品名 varchar(30), 生产商 varchar(30), 商品价格 varchar(100), 库存量 integer-商品订单基本信息 create table 订单 订单编号 varchar(10), 商品编号 varchar(10), 用户ID varchar(20), 订单金额 varchar(100), 订单数量 integer, primary key(商品编号,用户ID)-商品发布基本信息create table 发布 商品编号
14、varchar(10), 产品 varchar(30), 商家ID varchar(20), 商品数量 integer, 价格 varchar(100) primary key(商品编号,商家ID) 4.3 创建存储过程在奖惩记录表中创建更新奖惩的存储过程:USE salaryGOCREATE PROCEDURE update_奖惩记录表_1(Record_ID_1 bigint, Record_ID_2 bigint, Worker_ID_3 varchar(15), Worker_Name_4 varchar(8), Record_date_5 datetime, Record_type_
15、6 varchar(2), Record_content_7 varchar(30), Record_reason_8 varchar(30), Allow_unit_9 varchar(20)AS UPDATE salary.dbo.奖惩记录表 SET Record_ID = Record_ID_2, Worker_ID = Worker_ID_3, Worker_Name = Worker_Name_4, Record_date = Record_date_5, Record_type = Record_type_6, Record_content = Record_content_7,
16、Record_reason = Record_reason_8, Allow_unit = Allow_unit_9 WHERE ( Record_ID = Record_ID_1)在员工基本信息表上创建一个插入员工信息的存储过程:USE salaryGOCREATE PROCEDURE insert_员工基本信息表_2(Worker_ID_1 varchar(15), Archives_ID_2 varchar(10), Worker_Name_3 varchar(8), Department_Name_4 varchar(10), Sex_5 varchar(2), Birthday_6
17、datetime, Native_Place_7 varchar(25), School_Age_8 varchar(4), Major_9 varchar(15), Graduate_Sch_10 varchar(10), Come_Time_11 datetime, Link_Phone_12 varchar(11), Address_13 varchar(20), Remark_14 varchar(200)AS INSERT INTO salary.dbo.员工基本信息表 ( Worker_ID, Archives_ID, Worker_Name, Department_Name, S
18、ex, Birthday, Native_Place, School_Age, Major, Graduate_Sch, Come_Time, Link_Phone, Address, Remark) VALUES ( Worker_ID_1, Archives_ID_2, Worker_Name_3, Department_Name_4, Sex_5, Birthday_6, Native_Place_7, School_Age_8, Major_9, Graduate_Sch_10, Come_Time_11, Link_Phone_12, Address_13, Remark_14)在用
19、户账号表上建立一个删除用户账号的存储过程:USE salaryGOCREATE PROCEDURE delete_用户账号表_1(User_Name_1 varchar)AS DELETE salary.dbo.用户账号表 WHERE ( User_Name = User_Name_1)4.4 创建触发器 定义一个BEFORE行级的触发器,为工资信息表Wage_info定义完整性规则“总经理的基本工资不得低于6000元,如果低于6000元,刚自动改为6000元”。 CREATE TRIGGER Insert_or Update_Wage BEFORE INSERT OR UPDATE ON W
20、age_info FOR EACH ROW AS BEGIN IF(new.Duty=总经理) AND (new.Base_Wage6000) THEN new.Base_Wage=6000; END IF; END; 定义一个AFTER行级触发器,当用户账号表User_table的用户发生变化后就自动在用户变化表User_change中增加一条相应的记录。 CREATE TABLE User_change ( User_Name varchar(30) PRIMARY KEY, User_pwd varchar(30), Power_level varchar(8), CREATE TRIG
21、GER Insert_User AFTER INSERT ON User_table FOR EACH ROW AS BEGIN INSERT INTO User_change VALUES( new.User_Name,new.User_pwd,new.Power_level) END; CREATE TRIGGER Update_User AFTER UPDATE ON User_table FOR EACH ROW AS BEGIN IF (new.Userold.User)THEN INSERT INTO User_change VALUES(new.User_Name,new.Use
22、r_pwd,new.Power_level) END IF; END;总结 在这两周的课程设计中我学到了许多书本之外的东西,动手能力得到了提高,对数据库系统的设计流程有了进一步的了解。当然在本次课程设计中也遇到了许多的困难,比如SQL Sever200和PowerDesigner之间的联合运用,数据流图的绘制还有就是对工资管理系统的需求分析不熟悉等。希望在以后的学习中能够对数据库系统的设计更加熟悉。致谢 首先我要感谢学校给了我们两周宝贵的学习时间,经过这两周的课程设计,使我对数据库系统概论这门学科有了更深一步的认识,也不在像最初接触数据库那么迷茫了,通过近两周的课程设计,使我对这学期学的知识有了全面的认识。由于以前大部分时间都在学习理论的知识,所以对项目不是很了解。而学校提供的这次课程设计机会使我收获颇多,从中也发现了许多不足,让我找到了以后学习的方向。在这次程序设计过程中,也出现了不少的问题,但在老师和同学的耐心帮助下,问题都得到了解决,正是有了你们的帮助,我才能顺利地完成学籍管理系统的设计。在此,我感谢帮助过我的所有同学,并向帮助过我的所有老师说一声:“谢谢”。参考文献1 孙建伶,林怀忠. 数据库原理与应用. 5 孟彩霞. 数据库系统原理与应用(本科)