供应商订单管理系统数据库设计.docx
《供应商订单管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《供应商订单管理系统数据库设计.docx(8页珍藏版)》请在冰豆网上搜索。
![供应商订单管理系统数据库设计.docx](https://file1.bdocx.com/fileroot1/2022-12/6/85b7c834-d92e-4cec-8d94-5da261641d65/85b7c834-d92e-4cec-8d94-5da261641d651.gif)
供应商订单管理系统数据库设计
数据库课程设计
题目
供应商订单管理系统
班级:
学号:
姓名:
提交日期:
2010年3月13日
一、背景及需求分析:
1.1背景介绍
随着市场经济的飞速发展,企业生产力不断提高,传统订单管理基于简单的系设计除了简单,不安全外,同时操作平台受到限制,显然是适应不了制造业复杂的时务需求。
企业要不断开发客户市场,必须联系方式有较为全面的了解,还要作好财务的收付工作和产品管理工作。
同时收集处理信息的速度、准确性、安全性,还影响到公司整体的管理水平和决策层对整体业务的控制和协调。
采用更高级流行的计算机软件管理信息是解决上述问题的一个行之有效的办法,促使完整实用于制造企业的订单管理系统的迫待开发。
1.2需求分析
我国目前的订单管理软件很多,大多是针对商业的订单进行整体分析设计综合管理,而且进行事务处理的表都非常综合单调,同时大多数是基于最早的VB设计和access数据库这些简单的设计工具,高科技发展的现代显然这种管理方式不安全而且受到平台的限制,基于这种现状制造企业订单管理系统,就是根据制造业业务流程,将企业业务的各类数据联系起来,组成一个有机的系统,使得业务、财务、市场等方面的信息得以方便、快捷地传递并经过精细和综合处理生成各种报表送交给各个职能部门及决策层同时增添了订单警示功能,不仅可以节省大量的人力,减少工作中的失误,对客户的询问可以迅速的从电脑中查询信息答复客户,而且不受平台限制,B/S是目前很好的数据库访问结构,基于封装行非常好的安全性大大有所提高,加上功能的齐全,使其提高了竞争力和增强了安全性。
21世纪数据库技术发展专家研讨会"。
IBMDB2的创始人DonaldHaderle先生与国内著名数据库专家,就下世纪数据库发展的趋势、数据库领域革命性的突破、IBMDB2的应用、数据订单的实施、我国数据库技术和应用的现状及趋势、我国数据库用户的需求等问题,进行了广泛而深入的讨论。
数据库系统的选择原则
(1)数据库系统采用易于集成的,开放的技术。
(2)产品质量优异,可靠性高,适于长期运行,能支持关键应用。
(3)数据安全,保安型高。
(4)能提供分布式数据库功能。
(5)支持多种开发环境,软件开发容易。
(6)扩充性和升级能力强。
本数据库是为了满足一般经销商的下列需求而设计的
1.管理供应商;可以随时查看供应商的情况
2.管理产品目录;可以随时了解产品的详细情况
3.管理客户列表;可以随时跟踪并进一步了解客户的情况
4.录入客户订单;可以随时更新订单系统,保持最新的信息
二、系统功能设计
1、数据录入功能:
提供客户,供应商,订单和产品的信息登记和录入。
2、数据查询功能:
查询客户,供应商,订单和产品的相关信息。
3、数据统计功能:
统计订单,产品等。
三、E-R模型
实体E-R图
实体转换为表之后的关系图
四、转换为关系模式、表结构设计
1、关系模式:
Customers(cust_id,cust_name,cust_address,cust_phone,cust_email)
Orders(order_num,order_date,cust_id)
OrderItems(order_num,order_item,prod_id,quantity,item_price)
Products(prod_id,vend_id,prod_name,prod_price,prod_desc)
Venders(vend_id,vend_name,vend_address,vend_phone)
说明:
加粗体的列名是主键,斜体是外键。
2、表结构设计:
字段名
数据类型(长度)
备注
字段含义
cust_id
char(10)
主键
客户ID
cust_name
char(50)
NOTNULL
客户名
cust_address
char(50)
NULL
客户地址
cust_email
char(255)
NULL
客户电子邮箱
cust_phone
char(255)
NULL
客户联系电话
Customer表
字段名
数据类型(长度)
备注
字段含义
order_num
int(4)
主键,外键
订单号
order_item
int(4)
主键
订单目录
prod_id
char(10)
外键
产品ID
quantity
int(4)
NOTNULL
数量
item_price
money(8)
NOTNULL
目录价格
OrderItems表
字段名
数据类型(长度)
备注
字段含义
order_num
int(4)
主键
订单号
order_date
datetime(8)
NOTNULL
订单日期
cust_id
char(10)
外键
客户ID
Orders表
字段名
数据类型(长度)
备注
字段含义
prod_id
char(10)
主键
产品ID
vend_id
char(10)
外键
供应商ID
prod_name
char(255)
NOTNULL
产品名
prod_price
Money(8)
NOTNULL
产品价格
prod_desc
varchar(1000)
NULL
产品描述
Products表
字段名
数据类型(长度)
备注
字段含义
vend_id
char(10)
主键
供应商ID
vend_name
char(50)
NOTNULL
供应商名
vend_address
char(50)
NULL
供应商地址
vend_phone
char(50)
NULL
供应商联系电话
Venders表
五、完整性设计:
主键约束:
cust_id、order_num、order_item、order_num、prod_id、vend_id
外键约束:
order_num、cust_id、vend_id
检查约束:
在表OrderItems中quantity>0
惟一约束:
cust_name、quantity、item_price、order_date、prod_name、prod_price、vend_name为空性
标识列:
cust_id、order_num、order_item、order_num、prod_id、vend_id
六、数据库对象设计
1、存储过程
(1)存储过程名:
MailingListCount用途:
对邮件发送清单中具有邮件地址的客户进行计数
CREATEPROCEDUREMailingListCount
AS
DECLARE@cntINTEGER
SELECT@cnt=COUNT(*)
FROMCustomers
WHERENOTcust_emailISNULL;
RETURN@cnt;
GO
(2)存储过程名:
NewOrder用途:
在Orders表中插入一个新订单。
CREATEPROCEDURENewOrder@cust_idCHAR(10)
AS
--Insertneworder
INSERTINTOOrders(cust_id)
VALUES(@cust_id)
--Returnordernumber
SELECTorder_num=@@IDENTITY;
GO
2、视图
视图名:
ProductCustomer用途:
联结三个表,以返回已订购了任意产品的所有客户的列表。
CREATEVIEWProductCustomerAS
SELECTcust_name,cust_phone,prod_id
FROMCustomers,Orders,OrderItems
WHERECustomers.cust_id=Orders.cust_id
ANDOrderItems.order_num=Orders.order_num
3、创建触发器
CREATETRIGGERCNUONProductss
FORUPDATE
AS
DECLARE
@prod_nameaschar(30)
SELECT@prod_name=prod_nameFROMinserted
if(@prod_name='主机')
BEGIN
ROLLBACK
Print'不能更新主机产品记录'
RETURN
END
//测试
七、数据库实现
1、sqlserver2000介绍
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
SQLServer2000的特性Microsoft®SQLServer™2000的特性包括:
1.Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
4.易于安装、部署和使用。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
数据仓库。
SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。
SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。
SQLServer2000共有4个版本,分别是个人版,标准版,企业版和开发版
sqlserver2008是微软出的SQL系列最新版本。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
所以我就直接用SQLServer2000来实现数据库:
2、数据库的建立
在数据库中新建一个“供应商订单管理系统”,如下图
3、在数据库中设计新表并设计表之间的关系
是在“供应商订货管理系统”这个数据库建立新表,如下图所示
当你在查看“表”时,你会发现你建立的五个表都在这里出现,如下图所示
再来就是要将几个表的关系设置好,如下图所示
接着就是在表中录入我们所需要的数据:
建立完几个表的关系与相互之间的约束之后,就可以建立几者之间的关系图,如下图所示
4、数据对象的设计
在查询分析器里面建立我们要的存储过程、视图、触发器。
4.1存储过程
4.2视图
4.3触发器
八、课程设计感想
本次课程设计是从上个学期开始规划的,在定主题的时候,我就选择比较简单的“供应商订货管理系统”,这是销售的一个主要部分,所以就选择这个题目。
虽然我选择的题目简单,但是在对这个系统的数据库设计时,基本都用上老师交的知识,基本都将数据库的知识复习了一遍,还有非常感谢老师给我们这样的一个课程设计,使我们由将知识巩固了一下,将数据库的知识学好。