答辩商家打折信息管理系统2.docx
- 文档编号:8502346
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:41
- 大小:725.63KB
答辩商家打折信息管理系统2.docx
《答辩商家打折信息管理系统2.docx》由会员分享,可在线阅读,更多相关《答辩商家打折信息管理系统2.docx(41页珍藏版)》请在冰豆网上搜索。
答辩商家打折信息管理系统2
江西理工大学应用科学学院
数据库原理
课程设计
专业:
电子信息工程
班级:
084班
学号:
姓名:
设计题目:
商家打折信息管理系统
2010年6月
课程设计评分表
姓名
班级
学号
课设题目
商家打折信息管理系统
指导教师
谢小云
评分项目
满分分值
得分
设计文档(30分)
文档格式
封面
2
页面布局
4
目录格式
3
图表质量
2
页眉页脚
2
文档内容
内容完整性
6
内容逻辑性
5
内容正确性
6
程序代码(30分)
程序功能
15
编程规范
7
编程文档
8
答辩(20分)
课题陈述
7
问题答辩
10
是否超时
3
考勤(20分)
20
总评成绩
指导教师评语
签名:
年月日
教研室意见
签名:
年月日
课程设计答辩记录表
教
师
提
问
学
生
答
辩
情
况
记
录
成绩
答辩小组教师签名
摘要
此次课程设计的系统为商家打折信息管理系统,是一个集数据库的建立和维护以及前端应用程序开发的系统。
经过认真分析,我们使用了VC开发工具,利用其提供的各种面向对象的开发工具,开发了简单的各项数据操作。
在此系统中,我们创建了两个用户——顾客和员工。
对系统中的数据进行各项操作(包含查询商品价格,插入、修改、删除各项商品信息等操作),在整个系统设计中充分利用了模块化的设计思想和开发方法,用户在从主界面模块在验证后进入每个子模块进行各个子系统的具体功能操作。
在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。
在下面的各章中我将以开发商家打折信息管理系统,谈谈其具体开发过程和所涉及到的问题及解决方法。
目录
摘要4
目录5
第一章系统概述6
第二章系统数据库设计部分7
2.1需求分析7
2.1.1需求描述7
2.1.2数据流图8
2.1.3数据词典9
表2.19
2.2数据库概念结构设计2.2.110
E-R图10
图2.313
2.2.2实体及属性的定义13
2.3数据库逻辑结构设计15
2.3.1初始关系模式15
2.3.2规范化处理15
2.4数据库物理结构设计15
2.4.1基于SQLServer的数据表设计15
2.4.2索引表16
2.4.3角色18
2.4.4视图19
2.5数据库操作部分19
2.5.1数据库的插入操作19
2.5.2数据库的修改操作20
2.5.3数据库的删除记录操作20
2.5.4数据库的备份及还原操作20
2.5.5关系图22
2.6系统设计部分22
主要参考文献36
附录一37
第一章系统概述
数据库课程设计作为独立的教学环节,是集中实践性环节系列之一,是学习完《数据库原理》课程后进行的一次全面的综合练习。
其目的在于加深对关系数据库理论和基本知识的理解,初步掌握使用各种关系数据库为后台数据库设计一个信息管理系统,综合训练学生的分析问题、设计的基本内容和方法,提高解决实际管理问题的能力,以培养学生的专项技能和职业能力。
为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。
我们按照以上几点开发了商家打折管理系统数据库。
商家打折信息管理系统要求读者有较好的数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。
这里是利用相对简单易学易掌握的VisualC++6.0开发工具来实现示例系统的。
这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。
在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。
初步列出如下:
陈亚琦的工作是是需求分析、构思数据流图,制作数据词典。
用VC制作前台的界面;熊辉华担任的工作是把E-R图转化成关系模型并对其进行规范化处理。
胡阳鹏的工作是用SQL语言建表、视图以及文档的初步编写等。
黄国林负责画数据流图和E-R图以及各实体表,以及对数据库的插入操作,和内容摘要等的编写。
罗通是我们组的组长,除对我们所制作单个模块审核外还担任了WORD文档的总结排版,以及用VC对数据库的简单访问制作。
这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。
第二章系统数据库设计部分
2.1需求分析
2.1.1需求描述
随着全球的经济化,经济已作为各个商家追求的主导方向,为了带来更多的经济,加快货物的销售,流通,商家纷纷推出打折信息,让利消费者,促使利润最大化。
故要求商家打折信息管理系统有实用性强、使用方便、效率高和安全可靠等特点
经分析我们认为商家打折信息管理系统的具体要求为:
1,能全面管理商家打折相关的各类主体:
供货商信息、商品信息、打折商品信息、VIP顾客信息等
2.通过使用计算机能方便的维护(包括查询,插入、删除、修改等)各信息表
3能方便的实现基于多个表的连接查询
4具备用户权限管理
5系统具有操作方便、简捷等特点
我们所开发的管理系统正是围绕以上几个方面进行的,在开发过程中充分考虑到本系统的应用特点,并进行了一定的检验,证明其的确达到了设计的要求。
本文主要论述商家打折信息管理系统的开发过程。
2.1.2数据流图
出售商品
已选购账单
VIP信息
计算商品账款
是否vip
结账
选购
放入商品销售
入库登记
查询
发出
批准
商品
是否批准
核对
非打折商品
打折商品
商品清单
收银台
身份鉴别
给出账单
商店选购
货架
顾客
查询
订单汇总
采购部
发出订单
商品分类处理
商品部
商品处理
供应商
输出结果
交付
商品清单
交付资金
打包商品
确认账单
确认账款
交付钱款
应收账款
图2..1数据流图
2.1.3数据词典
表2.1数据词典
数据元素
数据类型
长度
数据来源
供应商号
varchar
50
供应商
联系人
varchar
50
供应商
地址
varchar
50
供应商
联系方式
varchar
50
供应商
采购部门号
varchar
50
供应商
采购部门号
varchar
50
采购部
部名经理名
varchar
50
采购部
部门电话
varchar
50
采购部
商品号
varchar
50
商品
商品名
varchar
50
商品
货架号
varchar
50
商品
商品部门号
varchar
50
商品
普通价
varchar
50
商品
打折价
float
8
商品
会员价
float
8
商品
供应商号
varchar
50
商品
顾客号
varchar
50
顾客
收银台号
varchar
50
顾客
顾客名
varchar
50
顾客
电话
varchar
50
顾客
联系地址
varchar
50
顾客
信贷状况
varchar
50
顾客
账目余额
float
8
顾客
货架号
varchar
50
货架
商品部门号
varchar
50
货架
出货量
varchar
50
货架
库存量
varchar
50
货架
商品部门号
varchar
50
商品部
采购部门号
varchar
50
商品部
联系电话
varchar
50
商品部
顾客号
varchar
50
选购
货架号
varchar
50
选购
库存量
varchar
50
选购
收银台号
varchar
50
收银台
采购部门号
varchar
50
收银台
员工号
varchar
50
收银台
进账
float
8
收银台
支出
float
8
收银台
2.2数据库概念结构设计2.2.1
E-R图
收银台
1
支付
n
支付资金
1n
订货
顾客
采购部
1
n
供应商
1
商品联系
商品选购
1
供应
n
nn
放入
商品部
n1
商品
货架
供应商品
nm
图2.1系统实体及联系图
货架号
库存量
顾客号
选购表
联系方式
采购部号
地址
联系人
供应商号
供应商
库存量
商品部门号
出货量
货架号
货架
部门电话
部门经理名
采购部号
采购部
联系电话
采购部门号
商品部门号
商品部
商品名
货架号
商品部门号
商品号
商品
供应商号
打折价
会员价
普通价
电话
信贷状况
联系地址
顾客名
收银台号
顾客号
顾客
账目余额
进账
员工号
采购部门号
收银台号
支出
收银台
图2.3系统实体及其属性
2.2.2实体及属性的定义
在此系统中实体有:
供应商,采购部,商品,顾客,收银台,选购,货架,商品部
属性以表的形式列出:
表2.2供应商表
属性名
数据类型
长度
是否允许为空
有无索引
供应商号
varchar
50
不允许
有
联系人
varchar
50
允许
无
地址
varchar
50
允许
无
联系方式
varchar
50
允许
无
采购部门号
varchar
50
不允许
有
表2.3货架表
属性名
数据类型
长度
是否允许为空
有无索引
货架号
varchar
50
不允许
有
商品部门号
varchar
50
不允许
有
出货量
varchar
50
允许
无
库存量
varchar
50
允许
无
表2.4采购部表
属性名
数据类型
长度
是否允许为空
有无索引
采购部门号
varchar
50
不允许
有
部名经理名
varchar
50
允许
无
部门电话
varchar
50
允许
无
表2.5商品表
属性名
数据类型
长度
是否允许为空
有无索引
商品号
varchar
50
不允许
有
商品名
varchar
50
允许
无
货架号
Int
4
不允许
有
商品部门号
varchar
50
不允许
有
普通价
varchar
50
允许
无
打折价
varchar
50
允许
无
会员价
float
7
允许
无
供应商号
varchar
50
不允许
有
表2.6顾客表
属性名
数据类型
长度
是否允许为空
有无索引
顾客号
varchar
50
不允许
有
收银台号
varchar
50
不允许
有
顾客名
varchar
50
允许
无
电话
varchar
50
允许
无
联系地址
varchar
50
允许
无
信贷状况
varchar
50
允许
无
账目余额
float
8
顾客
无
表2.7商品部表
属性名
数据类型
长度
是否允许为空
有无索引
商品部门号
varchar
50
不允许
有
采购部门号
varchar
50
不允许
无
联系电话
float
7
允许
无
表2.8选购表
属性名
数据类型
长度
是否允许为空
有无索引
顾客号
varchar
50
不允许
有
货架号
varchar
50
不允许
有
库存量
varchar
50
允许
无
表2.9收银台表
属性名
数据类型
长度
是否允许为空
有无索引
收银台号
varchar
50
不允许
有
采购部门号
varchar
50
不允许
有
员工号
varchar
50
允许
无
进账
float
7
允许
无
支出
float
7
允许
无
2.3数据库逻辑结构设计
2.3.1初始关系模式
供应商(供应商号,联系人,联系方式,地址,采购部门号);
采购部(采购部门号,部门电话,部门经理名);
顾客(顾客号,顾客名,收银台号,电话,联系地址,信贷状况,账目余额);
收银台(收银台号,采购部门号,员工号,支出,进账);
货架(货架号,商品部门号,出货量,库存量);
商品部(商品部门号,采购部门号,联系电话);
商品(商品号,商品名,货架号,商品部门号,普通价,打折价,会员价,供应商号);
选购(顾客号,货架号,库存量)
2.3.2规范化处理
经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。
(=代表主码,≈代表外码)
供应商(供应商号,联系人,联系方式,地址,采购部门号);
采购部(采购部门号,部门电话,部门经理名);
顾客(顾客号,顾客名,收银台号,电话,联系地址,信贷状况,账目余额);
收银台(收银台号,采购部门号,员工号,支出,进账);
货架(货架号,商品部门号,出货量,库存量);
商品部(商品部门号,采购部门号,联系电话);
商品(商品号,商品名,货架号,商品部门号,普通价,打折价,会员价,供应商号);
选购(顾客号,货架号,库存量)
2.4数据库物理结构设计
2.4.1基于SQLServer的数据表设计
用企业管理器建表,以商品表为例如下图所示:
图2.4商品表
2.4.2索引表
列出索引表格(查询分析器建立索引代码见附录一)
表2.10供应商索引表
索引
属性名
数据类型
长度
主索引
供应商号
varchar
50
无
联系人
varchar
50
无
地址
varchar
50
无
联系方式
varchar
50
主索引
采购部门号
varchar
50
表2.11货架索引表
索引
属性名
数据类型
长度
主索引
货架号
varchar
50
主索引
商品部门号
varchar
50
无
出货量
varchar
50
无
库存量
varchar
50
表2.12采购部索引表
索引
属性名
数据类型
长度
主索引
采购部门号
varchar
50
无
部名经理名
varchar
50
无
部门电话
varchar
50
表2.13商品索引表
索引
属性名
数据类型
长度
主索引
商品号
varchar
50
无
商品名
varchar
50
主索引
货架号
Int
4
主索引
商品部门号
varchar
50
无
普通价
varchar
50
无
打折价
varchar
50
无
会员价
float
7
主索引
供应商号
varchar
50
表2.14顾客索引表
索引
属性名
数据类型
长度
主索引
顾客号
varchar
50
主索引
收银台号
varchar
50
无
顾客名
varchar
50
无
电话
varchar
50
无
联系地址
varchar
50
无
信贷状况
varchar
50
无
账目余额
float
8
表2.15商品部索引表
索引
属性名
数据类型
长度
主索引
商品部门号
varchar
50
主索引
采购部门号
varchar
50
无
联系电话
float
7
表2.16选购索引表
索引
属性名
数据类型
长度
主索引
顾客号
顾客号
顾客号
主索引
货架号
货架号
货架号
无
库存量
库存量
库存量
表2.17收银台索引表
索引
属性名
数据类型
长度
主索引
收银台号
varchar
50
主索引
采购部门号
varchar
50
有
员工号
varchar
50
无
进账
float
7
无
支出
float
7
2.4.3角色
建立了顾客和员工两个角色
图2.5角色
(1)
图2.6角色
(2)
2.4.4视图
用企业管理器建立两个视图,即顾客—商品-价格视图,员工—商品-库存量视图。
菜单栏中单击工具→向导→数据库→创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。
用查询分析器建立视图以顾客—商品—价格视图(商品_VIP价视图的代码见附录一)为例代码如下:
createview顾客—商品—价格
as
select商品名,普通价,打折价,会员价
from商品
2.5数据库操作部分
2.5.1数据库的插入操作
INSERT
INTO<表名>[(<属性列1>[,<属性列2>…)]
VALUES(<常量1>[,<常量2>]);
例如:
在供应商表中插入一个新同学的相关信息(注:
供应商号是主码,故不可以相同)
INSERT
INTO供应商表(供应商号,姓名,联系方式,地址,采购部门号)
VALUES(‘1’,’张三’,’0797-01’,’的健康’,’1’)
2.5.2数据库的修改操作
UPDATE<表名>
SET<列名>=<表达式>
[WHERE<条件>];
例如:
在供应商表中修改联系方式为’0797-01’的供应商号为’2’。
UPDATE供应商表
SET联系方式=’0797-01’
WHERE供应商号=’2’;
2.5.3数据库的删除记录操作
DELETE
FROM<表名>
[WHERE<条件>];
例如:
删除供应商号为’1’的相关信息
DELETE
FROM供应商表
WHERE供应商号=’1’;
2.5.4数据库的备份及还原操作
使用SQLServer模糊备份和还原操作:
◆将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页同步。
这显著减小了备份对当前用户的影响。
还使备份得以串行地复制页。
取消了所有随机读取,从而加快使用频繁的系统中的备份过程。
但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。
◆将事务日志作为备份的一部分复制。
RESTORE语句:
RESTOREFILELISTONLY
FROMDISK=''c:
\Northwind.bak''
RESTOREDATABASETestDB
FROMDISK=''c:
\Northwind.bak''
WITHMOVE''Northwind''TO''c:
\testdb.mdf'',
MOVE''Northwind_log''TO''c:
\testdb.ldf''
◆如果数据库不存在,则创建数据库,并初始化数据库中的扩展盘区。
如果RESTORE语句执行时数据库已存在,则可以跳过这一步。
◆复制备份集中的扩展盘区。
因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。
将忽略未在备份集中找到的扩展盘区;它们将不作为空的扩展盘区进行初始化。
◆使用事务日志恢复数据库。
将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。
这将使数据库返回到一致的已恢复状态,这种状态与数据库在BACKUP语句完成时的状态一致。
备份数据库
BACKUPDATABASENorthwind
TODISK='c:
\Northwind.bak'
还原数据库
--返回由备份集内包含的数据库和日志文件列表组成的结果集
RESTOREFILELISTONLY
FROMDISK='c:
\Northwind.bak'
--还原由BACKUP备份的数据库
RESTOREDATABASENorthwind
FROMDISK='c:
\Northwind.bak'
--指定还原后的数据库物理文件名称及路径
RESTOREDATABASETestDB
FROMDISK='c:
\Northwind.bak'
WITH
MOVE'Northwind'TO'c:
\test\testdb.mdf',
MOVE'Northwind_log'TO'c:
\test\testdb.ldf'
MOVE'logical_file_name'TO'operating_system_file_name'
指定应将给定的logical_file_name移到operating_system_file_name。
默认情况下,logical_file_name将还原到其原始位置。
如果使用RESTORE
语句将数据库复制到相同或不同的服务器上,则可能需要使用MOVE选项重
新定位数据库文件以避免与现有文件冲突。
可以在不同的MOVE语句中指定
数据库内的每个逻辑文件。
--强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。
RESTOREDATABASETestDB
FROMDISK='c:
\Northwind.bak'
WITHREPLACE,
MOVE'Northwind'TO'c:
\test\testdb.mdf',
MOVE'Northwind_log'TO'c:
\test\testdb.ldf'
2.5.5关系图
图2.7关系图
2.6系统设计部分
基于VISUALC++6.0开发工具
此部分所设计的为用VISUALC++6.0开发工具访问SQL数据库的一个简单操作——逐个查询单表数据和增添元组
1建立ODBC数据源
1)打开控制面板,双击控制面板上的“管理工具”图标,然后双击“管理工具”窗口中的“数据源(ODBC)”图标,弹出“ODBC数据源管理器”对话框,如图2.8所示。
图2.8“ODBC数据管理器”对话框
(2)建立一个系统DSN数据源,选择“系统DSN”选项卡,然后单击“添加”按钮,弹出如图2.9对话框。
图2.9“创建数据源”对话框
(3)在如图2.9对话框中选择要连接的数据库管理系统的驱动程序。
这里选择“SQLServe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答辩 商家 打折 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)