数据库课程设计指导之企业销售合同管理系统.docx
《数据库课程设计指导之企业销售合同管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计指导之企业销售合同管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
![数据库课程设计指导之企业销售合同管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/13/878bf25c-bf3b-4a12-955e-d76aa37b20d7/878bf25c-bf3b-4a12-955e-d76aa37b20d71.gif)
数据库课程设计指导之企业销售合同管理系统
数据库课程设计指导
数据库课程设计是电子商务专业的一门实践课。
它综合应用《数据库原理及应用》课程的理论知识于实践中。
内容主要是通过每组学生自选题目,应用SQLServer2000设计和开发一个数据库系统。
通过本课程的学习,使学生系统的掌握数据库设计和开发的总体概念和结构,获得把实际管理问题建成计算机管理模型的能力,并具有应用数据库进行组织信息处理和开发信息系统的初步能力。
通过实验培养学生实际应用、开发与维护数据库系统的能力,力求通过实际设计和开发数据库,使学生更好地理解并掌握数据库的基本原理、基本功能以及操作方法;通过对数据库的维护,使学生能更加熟练地掌握数据库的维护方法。
一、课程设计的主要任务和要求
要求学生自选设计题目,在详细的系统调查和理解的基础上,充分运用所学理论知识,按照数据库设计开发的步骤和方法,完成任务书中提出的各项具体设计任务。
并要求文档齐全,格式规范。
要求:
1确定预做系统的题目,分组调研,整理调研材料;
2学生分组完成实验,整理系统分析、系统设计报告,然后根据报告进行系统实施;
3录入原始数据,进行系统测试;
4在规定时间内,完成实验报告。
主要任务:
(1)确定系统的选题范围、调研要点
(2)系统需求分析
(3)数据库设计
(4)系统的实施与开发
(5)系统评价步骤和方法
二、选题指南
1、选题原则
Ø选题范围要适当,既不能规模过小以致于构不成系统,也不宜范围太大以免在规定时间内无法完成设计。
Ø小组人员为1人。
每人一题,可以出现重题,但内容不能雷同。
Ø设计报告每一部分要在下一阶段开始前应完成。
Ø选题应有一定的理论意义和实际应用价值,难度应适中。
2、参考题目
●图书管理●销售合同管理●客户支持系统
●教学管理●科研管理系统●工资管理
●供应计划管理●人力资源管理●生产计划管理
●库存管理●巡查罚单处理系统●旅游服务预订系统
●房地产管理系统●展会管理系统
●药品服务系统●图书交易系统●酒店管理系统
三、参考文献
《SQLServer2000管理及应用系统开发》
《电子商务网站开发与实现》
本课程以《企业销售合同管理系统》为例进行详细介绍。
数据库原理及应用课程设计报告
课程设计题目:
专业:
电子商务
班级学号:
学生姓名:
指导教师:
课程设计工作日自年月日至年月日
第一部分系统分析与设计
销售合同是企业经营的重要组成部分,它可以体现一个企业的经营情况和效益。
企业销售合同管理系统可以有效的提高企业管理质量。
一、系统调查
需求分析简单的说就是分析用户的要求。
需求分析是设计数据库的起点,需求分析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
需求包括:
功能要求、性能要求、可靠性要求、安全保密性要求以及开发费用和开发周期、可使用资源等方面的限制。
其中功能要求是最基本的。
二、系统功能分析
企业销售合同管理系统的主要任务是实现对企业销售合同的过程管理和成本控制。
本系统可完成六个完整的功能。
功能模块如图1所示。
图1功能模块图
在功能模块示意图的树状结构中,每一个叶结点都是一个最小的功能模块。
合同费用、合同收帐和合同信息管理模块不能删除数据,这通常是由企业的行政制度和财务制度决定的。
企业销售合同管理系统的功能模块之间的关系如图2所示。
图2模块关系图
从模块关系图中可以看出,产品信息管理、合同费用管理和合同收帐管理都可以为更完善的描述销售合同信息提供不同类型的数据。
根据不同销售合同数据又可以形成销售合同统计报表。
在本系统中,用户管理模块的功能较简单。
在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动的添加到数据库中。
Admin用户可以创建用户、修改用户信息以及删除用户;普通用户只能修改自己的用户名和密码。
第二部分数据库的设计
一、实体关系图
首先进行数据库的概念模型设计。
可以PeterChen提出的ER图为工具。
实体关系图是对信息系统中实体及其之间的关系的图形化描述。
举例如下。
图3ER图
ER图的检验:
提出系统用户最可能提出的查询,分析你设计的ER图能否满足用户的要求。
例:
1)产品的详细信息
2)客户A订购的何种产品
3)订购量最多的产品,其客户的分布特点
二、数据库逻辑结构设计
概念模型不能被计算机识别,需进一步将其转化为逻辑模型,因此要进行数据库逻辑结构的设计。
在设计的过程中可应用关系规范化理论对数据库中的关系进行规范。
(一)表的设计(在设计时每份作品的表不能少于5个)
数据库包含以下6个表:
产品表:
Product、合同费用表Cost、合同收帐表Income、客户信息表Client、合同信息表Contract、用户信息表Users。
1.产品信息表Product
该表用来保存产品信息,结构如表1所示。
表1Product的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
ProId
Varchar50
产品编号
是
2
ProName
Varchar50
产品名称
否
非空
3
ProMark
Varchar50
产品商标
否
4
ProStyle
Varchar50
产品型号
否
5
ProUnit
Varchar50
计量单位
否
6
Q
int
数量
否
大于0
2.客户信息表Client
表2Client的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
ClientId
Varchar50
客户编号
是
2
ClientName
Varchar100
客户名称
否
非空
3
Address
Varchar100
客户地址
否
4
Manager
Varchar50
联系人
否
5
Telephone
Varchar20
联系电话
否
6
Memo
Varchar200
备注
否
3.合同费用信息表Cost
合同费用信息表Cost用来保存合同费用信息。
结构如表3所示。
表3Cost的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
CostId
Varchar50
凭单号
是
2
ContractId
Varchar50
合同编号
否
参照“合同信息表”的ContractId列
3
CostType
Varchar20
费用类别(采购成本、服务费、其他)
否
4
Detail
Varchar50
当费用类别选择“其他”时,使用Detail字段来描述。
可以是火车票、飞机票、出租车费、住宿费、差旅费等,也可以手动录入
否
5
Amount
Decimal15,2
费用金额
否
6
Receiver
Varchar30
收款人姓名
否
7
Cashier
Varchar30
经办人姓名
否
8
CostDate
Varchar10
发生日期
否
9
Memo
Varchar200
备注
否
4.合同收账信息表Income
合同收账信息表Income用来保存合同收账信息。
结构如表4所示。
表4Income的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
ReceiptId
Varchar50
发票编号
是
2
ContractId
Varchar50
合同编号
否
参照“合同信息表”的ContractId列
3
ReceiptType
Varchar20
发票类型(增值税、服务费)
否
4
Amount
Decimal15,2
收账金额
否
5
Amount
Decimal15,2
费用金额
否
6
Cashier
Varchar30
经办人姓名
否
7
IncomeDate
Varchar10
发生日期
否
8
Memo
Varchar200
备注
否
5.建立合同产品信息表,用来保存销售合同中涉及的产品信息。
其结构如表5所示。
表5ConProduct的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
ContractId
Varchar50
合同编号
是
2
ProId
Varchar50
产品编号
3
Unitprice
Decimal15,2
产品单价
4
Quantity
int
产品数量
5
Clientid
Varchar50
客户编号
6
DeliveryDate
Varchar50
交货日期
7
Additional
Varchar500
备注
6.合同信息表Contract
合同信息表Contract用来保存销售合同的基本信息。
结构如表6所示。
表6Contract的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
ContractId
Varchar50
合同编号
是
参照“合同信息表”的ContractId列
2
ProId
Varchar50
产品编号
参照“产品信息表”的ProId列
3
Clientid
Varchar50
客户编号
参照“客户信息表”的Clientid列
3
Unitprice
Decimal15,2
产品单价
否
大于等于0
4
Quantity
int
产品数量
否
大于等于0
5
Amount
Decimal15,2
费用金额
否
6
Cashier
Varchar30
经办人姓名
否
7
IncomeDate
Varchar10
合同签订日期
否
8
Status
Tinyint
合同状态(1——签订合同,2——实施合同,3——完成合同)
9
Empname
Varchar50
负责人姓名
否
10
DeliveryWay
Varchar50
交货方式
否
11
DeliveryDate
Varchar50
交货日期
否
12
SettleWay
Tinyint
结算方式(1-支票,2-现金,3-签单,4-汇款)
否
13
Lastday
Varchar
有效期限
否
14
Additional
Varchar500
备注
否
7.用户信息表Users
用户信息表Users用来保存系统用户信息。
结构如表7所示。
表7Users的结构
编号
字段名称
数据结构
说明
是否主码
约束
1
Username
Varchar40
用户名
是
2
Pwd
Varchar40
密码
否
非空
说明各表中需要建立的主码约束、参照约束及其他约束条件。
(二)视图的设计
根据查询的需要,设计视图,并指出各视图的主要作用。
例:
基于合同信息表和客户信息表,构建大宗客户合同视图。
表5ConClient的结构
编号
字段名称
数据结构
说明
条件
1
ContractId
Varchar50
合同编号
合同产品数量在1万件以上
2
ClientId
Varchar50
产品编号
2
ClientName
Varchar100
客户名称
4
Manager
Varchar50
联系人
5
Telephone
Varchar20
联系电话
3
Unitprice
Decimal15,2
产品单价
4
Quantity
int
产品数量
6
DeliveryDate
Varchar50
交货日期
7
Additional
Varchar500
备注
(三)触发器与存储过程的建立
根据应用环境,请设计一些必要的存储过程与触发器,并说明其主要目的。
例:
当合同信息表Contract中的Amount(费用金额)发生变化时,合同收账信息表Income中的Amount(费用金额)也将自动变化,因此需要建立触发器。
第三部分数据库的创建
一、创建表(可直接抓取截图)
例:
创建表product
createtableproduct
(ProIdVarchar(50)PrimaryKey,
ProNameVarchar(50)NOTNULL,
ProMarkVarchar(50),
ProStyleVarchar(50),
ProUnitVarchar(50)
)
二、创建视图
三、创建存储过程
四、创建触发器
五、数据库维护管理
请设计数据库的备份及安全策略。
第四部分系统应用与评价
一、从客户应用的角度出发,对系统进行几个典型查询。
1.例如:
请统计单笔合同费用金额最高的合同编号,费用金额及其客户名称。
(查询语句可直接截图)
SELECTContractId,max(amount),ClientNameFROMContract,ClientWHEREContract.Clientid=Client.Clientid
二、测试存储过程与触发器的建立是否正确。
例:
当合同信息表Contract中的Amount(费用金额)发生变化时,观察合同收账信息表Income中的Amount(费用金额)是否自动变化。
三、对设计的数据库系统进行简单的总结和评价。