企业进销存管理数据库系统设计doc.docx
《企业进销存管理数据库系统设计doc.docx》由会员分享,可在线阅读,更多相关《企业进销存管理数据库系统设计doc.docx(28页珍藏版)》请在冰豆网上搜索。
企业进销存管理数据库系统设计doc
本科学生综合性实验报告
课程名称:
数据库系统原理
企业进销管理系统
项目组长欧阳冠学号*******
班级C02班
实验项目名称企业进销管理系统
指导教师及职称刘爱红老师
开课学期2009至2010学年第1学期
完成时间2009年12月31日
1.需求分析
需求分析将从目的,背景,目标,及用户需求等方面进行分析,为概念设计提供依据。
1.1编写目的
设计一个企业商品管理系统供客户和公司管理人员及有关人员的使用,降低管理成本,方便企业管理者对企业管理和了解。
1.2背景
随着科学技术的提高,企业之间的竞争日益激烈,如何在众多的企业竞争中取得优势,快速准确的获取信息,从而加强企业内部的管理,是企业或商场密切关注的问题。
而商品进销管理又是一个企业或商场不可或缺的部分,它的内容对于企业或商场的决策者和管理者来说至关重要,如何为用户,企业员工提供充足的信息和快捷的销售,查询手段,为部门经理获得部门业务,员工业绩信息。
从而提高企业的运营效率,更好的吸收客户,加强企业内部管理,迅速做出决策。
1.3系统目标
该系统目标实现用户注册、登录,搜索,浏览商品,修改订单等操作;企业管理人员添加、删除商品,管理商品种类,添加、删除客户、供应商,统计管理业务往来的客户、供应商,处理订单等操作。
1.4需求分析
需求分析主要包括以下内容:
系统功能需求,系统总体功能图,数据字典,实体和数据。
1.5系统功能分析
根据进销的管理要求和对企业进销商品的分析,在只考虑企业已经完成的销售及采购商品业务而进行的商品进销管理系统应该提供以下方面的功能。
(1)员工基本信息管理:
提供员工的基本信息录入及其查询功能。
包括:
①系统管理员录入员工的基本信息。
②系统管理员更新,增加和删除员工的基本信息。
③用户可根据员工名字和编号查询员工基本信息。
(2)客户基本信息管理:
提供客户基本信息录入,维护和查询功能。
包括:
①系统管理员录入客户基本信息。
②系统管理员更新,增加和删除客户基本信息。
③用户可根据客户编号,名字查询客户基本信息。
(3)供应商基本信息管理:
提供供应商基本信息录入,维护和查询功能。
包括:
①系统管理员录入供应商基本信息。
②系统管理员可更新,增加和删除供应商基本信息。
③用户可根据供应商编号,名字查询供应商基本信息。
(4)商品基本信息管理:
提供供应商基本信息录入,维护和查询功能。
包括:
①系统管理员录入商品基本信息。
②系统管理员可更新,增加和删除商品基本信息。
③用户可根据商品编号,名字查询商品基本信息。
(5)商品销售管理:
提供商品的销售信息。
①系统管理员录入商品销售情况基本信息。
②系统管理员可根据企业提供的要求,对有关信息进行修改,增加和删除。
③用户可根据商品编号,员工编号对商品进行查询。
(6)商品进货管理:
提供商品的进货信息。
①系统管理员录入商品进货情况基本信息。
②系统管理员可根据企业提供的要求,对有关信息进行修改,增加和删除。
③用户可根据进货单编号,商品编号,员工编号对商品进行查询。
(7)销售查询:
提供不同方式的商品销售情况查询。
包括:
①按销售单编号查询:
用户可根据销售单编号查询该商品的销售情况。
②按商品编号查询:
用户可根据商品编号查询该商品的销售情况。
;
③用户可根据商品名称查询某商品的销售情况。
④按员工编号查询:
用户可根据商品编号查询该商品的销售情况。
⑤按员工名称查询:
用户可根据商品名称查询某商品的销售情况。
⑥按客户编号查询:
用户可根据商品编号查询该商品的销售情况。
⑦按客户名称查询:
用户可根据商品名称查询某商品的销售情况。
(8)进货情况查询:
提供不同方式的商品进货情况查询。
包括:
①按进货单编号查询:
用户可根据进货单编号查询该商品的销售情况。
②按商品编号查询:
用户可根据商品编号查询该商品的进货情况。
③按商品名称查询:
用户可根据商品名称查询某商品的进货情况。
④按员工编号查询:
用户可根据商品编号查询该商品的进货情况。
⑤按员工名称查询:
用户可根据商品名称查询某商品的进货情况。
⑥按供货商编号查询:
用户可根据商品编号查询该商品的进货情况。
⑦按供货商名称查询:
用户可根据商品名称查询某商品的进货情况。
(9)信息统计。
包括:
①员工业绩统计:
根据企业提供的销售单,按员工编号分类汇总员工在某一时期内的销售额从而确定员工业绩。
②客户购货统计:
根据销售主单客户的购货情况统计所有的客户长期以来与本企业发生的业务往来,购货数量。
③商品销售统计:
以查看某一时段每一种是商品的销售数量。
(10)用户及其权限管理:
提供用户管理,权限分配,登陆及权限证等功能。
包括:
①增加,删除用户。
②用户角色及其权限分配。
③用户登陆及权限验证。
④更改用户密码。
1.6系统总体功能图
该系统总体功能图如图1.1所示。
图1.1系统功能图
1.7数据需求及业务规则分析
业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解某企业的商品进销数据需求及业务分析规则如下:
(1)员工由员工编号唯一标识,需要存储员工的名字,性别,家庭住址,电话号码,员工身份证号,进厂时间,员工所属部门等信息。
其中家庭住址由省份,城市及街道组成。
员工的电话号码可以有多个。
(2)供货商由供应商编号唯一标识,需要存储供货商的公司名,联系人,联系方式(即联系电话号码),地址。
其中供应商地址包括省份和所在城市。
(3)客户由客户编号唯一标识,需要存储客户的公司名,联系人,联系方式即联系电话号码),地址。
其中客户地址包括省份和所在城市。
(4)商品由商品编号唯一标识,需要存储商品的名称,商品用途描述,商品生产地。
(5)商品销售主表单由销售单编号唯一标识,需要商品销售日期,客户编号,处理销售的员工编号,总的金额。
(6)商品销售明细单由销售单编号和商品编号共同标识,除此之外还需要存储商品销售数量,成交价格。
(7)商品进货主表单由进货单编号唯一标识,需要存储商品进货日期,供货商编号,处理进货的员工编号,总金额。
(8)商品进货明细单由订货单编号和商编号共同标识,需要存储商品进货数量,采购商品的成交价格。
(9)每一个员工的业务要明确,属于销售部门的只能负责商品的销售业务,进货部门的负责商品的采购。
(10)某一时期内商品的销售数量不能多余这一时期内的进货数量。
.
(11)本系统不考虑销售,进货时如发生质量或其他问题而退货的情况。
(12)在销售和进货之间进行的业务不考虑其税价,税率以及销售折让等情况。
(13)进货价格只能在进货明细表中输入,同样商品销售价格也只能在销售单明细表中填制。
1.8数据约束分析
(1)用户访问权限:
任何用户都不能访问其他用户的密码。
(2)任只可查员工查询自己的历史销售情况,不可访问到其他员工的业务情况。
(3)销售数量和购货数量并且各自的金额都不能为空值。
(4)商品编码规则:
以字母P开头再加上8位数字。
(5)员工编码规则:
以字母E开头加上8位数字,其中前4位数字由员工进入企业的时间年份顺序生成,后4位则是按流水号一次增大。
(6)客户编码规则:
以字母C开头再加上8位数字。
其中前4位数字由客户购货的时间年份顺序生成,后4位则是按流水号一次增大。
(7)供货商编码规则:
以字母S开头再加上8位数字。
其中前4位数字由企业采购商品的时间年份顺序生成,后4位则是按流水号一次增大。
(8)销售主单编码规则:
以S开头再加上12位数字。
其中销货单的前8位数字是商品销售时间,后4位数字则是按其流水号。
(9)购货主单编号规则:
以B开头再加上12位数字。
其中销货单的前8位数字是商品采购时间,后4位数字则是按其流水号。
1.9数据字典
数据字典包括数据项描述、数据结构描述、数据流、数据存储和处理过程,具体内容如下。
1.9.1数据项与数据结构
通过对所建立的表进行分析,我们得到了以下一些数据项,如表1.1至表1.10所示。
表1.1用户类型表UserType
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
UserName(用户名)
VarChar(20)
Notnull
A~Z的字符
字符
Password(密码)
Char(6)
Notnull
0~9的整数
字符数字
TypeID(用户种类编号)
Smallint
Notnull
数字
表1.2用户表User
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
UserType
Smallint
Notnull
A~Z字符
用户种类编号
Name
varChar(20)
Notnull
A~Z字符
用户名
Note
varChar(40)
null
A~Z字符
注释说明
表1.3进货明细表
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
BuyID
Char(13)
Notnull
0~9数字
数字字符
ProductID
Char(9)
Notnull
P字符加8个数字
数字字符商品编号
Quantity
int
Notnull
整数
商品数量
price
numeric(7,2)
Notnull
数字
成交价格
表1.4销货明细表
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
SellID
Char(13)
Notnull
数字字符
ProductID
Char(9)
Notnull
数字字符
商品编号
Quantity
int
Notnull
大于0的整数
商品数量
price
numeric(7,2)
Notnull
大于0的数
成交价格
表1.5员工表Employee
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
EmployeeID
Char(9)
Notnull
E字符加8个数字
员工编号
EmployeeName
varChar(20)
Notnull
字符
员工姓名
Sex
char
(1)
Notnull
一个字符
性别
comeDate
Datetime
Notnull
时间数字
进场时间
department
Varchar(30)
Null
字符
所属部门
Adress
Varchar(60)
Null
字符
住址
telephone
Varchar(15)
Null
数字字符
电话号码
表1.6客户表Customer
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
CustomerID
Char(9)
Notnull
C字符加8个数字
客户编号
contactName
varchar(20)
Notnull
字符
联系人
CompnyName
Varchar(40)
Notnull
字符
公司名称
contactphone
varChar(15)
Null
字符数字
联系号
Adress
varChar(40)
Null
A~z的字符
地址
表1.7供应商表Supplier
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
SupplierID
Char(9)
Notnull
供应商号
contactName
char(20)
Notnull
A~Z的字符
联系人
CompanyName
Varchar(40)
Notnull
A~Z的字符
公司名称
contactphone
VarChar(15)
Null
字符数字
联系号
Addess
Varchar(40)
Null
A~Z的字符
地址
表1.8进货主单表BuyList
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
BuyID
Char(13)
Notnull
参照buylist
SupplierID
Char(9)
Notnull
参照supplier
供货商编号
buysum
Numeric(9,2)
Notnull
数值
进货金额
BuyDate
Datetime
Notnull
时间数字
进货日期
EmployeeID
Datetime
Notnull
参照employee
员工编号
表1.9进货主单表SellList
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
SellID
Char(13)
Notnull
参照selllist
售货单号
CustomerID
Char(9)
Notnull
参照customer
客户编号
sellsum
Numeric(9,2)
Notnull
数值
售货金额
sellDate
Datetime
Notnull
时间日期
售货日期
EmployeeID
Datetime
Notnull
参照employee
员工编号
表1.10商品表Product
数据项名与别名
类型(长度)
是否为空
取值范围
数据项含义说明
ProductID
Char(9)
Notnull
P字符加8个数字
商品编号
ProductName
varChar(20)
Notnull
A~Z的字符
商品名称
ProductAdress
varChar(20)
Null
A~Z的字符
产地
Description
varChar(20)
Null
A~Z的字符
描述
1.9.2数据处理
为了实现预期的系统功能,我们建立了以下数据处理过程,如表1.12所示:
表1.12数据处理
编号
名称
数据处理说明
1.
员工查询
查询所有员工信息
2.
员工查询编号为
按员工编号精确查询
3.
员工查询姓名为
按员工姓名糊查询
4.
员工信息查询
全面查询所有员工信息,不需要密码
5.
客户查询
查询所有员工信息
6.
客户查询编号为
按客户编号精确查询
7.
客户公司名查询
按客户公司名模糊查找
8.
客户信息查询
全面查询所有客户信息,不需要密码
9.
删除员工
删除已经离开本企业的员工信息
10.
删除客户
删除已经不存在的客户
11.
供应商查询
查询所有供应商
12.
供应商查询编号为
按供应商编号精确查询
13.
供应商查询公司名
按供应商名模糊查询
14.
供应商查询联系人
按联系人名模糊查询
15.
供应商信息查询
查询所有供应商信息,不需要密码
16.
删除供应商
删除已经存在的供应商
17.
商品查询
查询所有商品
18.
商品编号查询
按商品编号精确查询
19.
商品查询名称
按商品名模糊查询
20.
删除商品
对销路不好或是停产的商品进行删除
21.
注册新员工
插入一名新员工
22.
注册新客户
插入一名新客户
23.
进货信息查询
按进货单编号查询
24.
销货信息查询
按销货单编号查询
25.
员工业绩统计
统计员工销售业绩
2.数据库概念设计
2.1定义实体集及属性
(1)员工实体集Employee:
员工编号(EmployeeID),员工的名字(EmployeeName),性别(Sex),家庭住址(Address),电话号码(Telephone),员工身份证号(identify),员工所属部门(department),进厂时间(ComeDate)等信息。
其中家庭住址由省份(province)城市(city)及街道(street)组成。
(2)供货商实体集Supplier:
供货商编号(SupplierID),供货商的公司名(FactoryName),联系人(ContactName),联系方式(Contactphone)(即联系电话号码),地址(Adress)。
其中供应商地址包括省份(province)和所在城市(city)。
(3)客户实体集Customer:
客户类型编号(CustomerID),客户公司名(CompanyName),联系人(ContactName),联系方式(即联系电话号码)(Contactphone),地址(Adress)。
其中客户地址包括省份(province)和所在城市(city)。
(4)商品实体集Product:
商品编号(ProductID),商品的名称(ProductName),产地(ProductAdress),商品用途描述(Description)。
(5)商品销售主表实体集SellList:
商品销售单编号(SellID),商品销售日(SellDate),销售数量(Amount),购买者编号(CustomerID),处理销售的员工编号(EmployeeID),客户已付款(sellsum)。
(6)商品销售明细表实体集SellDetail:
商品进货明细单编号(SellID),商品编号(ProductID),单价(price),销售数量(Amount)。
(7)商品进货主表实体集BuyList:
商品进货单编号(BuyID),商品进货日期(BuyDate),供货商编号(SupplierID),处理进货的员工编号(EmployeeID),企业已付款(buysum)。
(8)商品进货明细表实体集BuyDetail:
商品进货明细单编号(BuyID),商品编号(ProductID),单价(price),进货数量(Amount)。
2.2定义联系集及属性
(1)Buy联系集:
SellList与Customer之间的一对多的联系集。
表明一个客户通过购买商品在不同时期可以有不同的销售单,。
一张销售单中只能有一个客户。
(2)Sell联系集:
Employee与SellList之间一对多的联系集。
一个销售业务员可以销售多批商品业务,而一张销售单只能记一个销售员。
(3)Import联系集:
Employee与Buylist之间的一对多的联系集。
一个采购业务员可以发生多商多笔采购业务,而一张采购单只能由一个采购员处理。
(4)Supply联系集:
BuyList与Supplier之间一对多的联系集。
一个供应商可以有多业务单,而一张采购单只可以记录一个供应商。
(5)Have联系集:
弱实体集SellDetail与SellList,弱实体集BuyDetail与BuyList之间一对多的联系集。
一张销售单编号或采购明细单编号中的一种商品只能在一张销售主单或采购主单中反映,而一张销售单或是采购单可以对应于多张明细单。
(6)EmployeeTel联系集:
Employee与Telephone之间一对多的联系集。
一名员工可以对应多个电话号码,而一个电话号码只能对应与一名员工。
(7)Record联系集:
SellDetail,BuyDetail与Product之间一对多的联系集。
一张明细表中只能记载一种商品,一种商品可在多张明细表中。
2.3E-R模型设计
所有实体描述如下:
(1)员工基本属性如图2.1所示。
图2.1Employee实体集
(2)供应商基本属性如图2.2所示。
图2.2Supplier实体集
(3)客户基本属性如图2.3所示。
图2.3Customer实体集
(4)商品基本属性如图2.4所示。
图2.4Product实体集
(5)销售单基本属性如图2.5所示。
图2.5Selllist实体集
(6)销货明细单属性如图2.6所示。
图2.6SellDetail实体集
(7)购货单基本属性如图2.7所示。
图2.7BuyList实体集
(8)购货单明细表属性如图2.8所示。
图2.8BuyList实体集
(9)用户类型基本属性如图2.9所示。
图2.9UserType实体集
(10)用户基本属性如图2.10所示
图2.10User实体集
(11)总体E—R图如图2.11所示。
图2.11总E--R图
3.逻辑设计
本次设计的数据库在SQLServer2000上实现,将概念结构设计中的E-R图转换成SQLSever2000支持的关系数据模型。
3.1实体的转换
将所有的实体分别转换为单独的一张表。
(1)用户类型实体集usetype:
Usetype(usename,password,typeID),
(2)用户实体集user:
User(usertype,name,note)
(3)进货主表实体集buylist:
Buylist(buyID,supplierID,buysum,buydate,employeeID)
(4)进货明细单实体集buydetail:
Buydetail(buyID,productID,quantity,price)
(5)销货主单实体集selllist:
selllist(sellID,customerID,sellsum,selldate,employeeID)
(6)销货明细单实体集selldetail:
Selllist(sellID,productID,quantity,price)
(7)商品实体集product
Product(productID,productname,productaddress,description)
3.2由多值属性转换而来的关系模式
电话号码(telephone):
Telephone(employeeID,telephone,location)
3.3由复合属性转换而来的关系模式
(1)员工实体集employee:
Employee(employeeID,employeename,sex,comedate,department,province,city,street,birthday,telephone)
(2)客户实体集customer:
Customer(customerID,customername,contactname,contactphone,province,city)
(3)供应商实体集supplier:
Supplier(supplierID,companyname,contactname,contactphone,province,city)
3.4关系设计
关系设计包括转换后所得表和函数依赖关系,转换之后的关系如表3.1至表3.11所示。
表3.1用户类型表UserType
数据项名与别名