完整word版销售管理系统数据库设计说明书word文档良心出品.docx

上传人:b****5 文档编号:3151297 上传时间:2022-11-18 格式:DOCX 页数:12 大小:206.92KB
下载 相关 举报
完整word版销售管理系统数据库设计说明书word文档良心出品.docx_第1页
第1页 / 共12页
完整word版销售管理系统数据库设计说明书word文档良心出品.docx_第2页
第2页 / 共12页
完整word版销售管理系统数据库设计说明书word文档良心出品.docx_第3页
第3页 / 共12页
完整word版销售管理系统数据库设计说明书word文档良心出品.docx_第4页
第4页 / 共12页
完整word版销售管理系统数据库设计说明书word文档良心出品.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

完整word版销售管理系统数据库设计说明书word文档良心出品.docx

《完整word版销售管理系统数据库设计说明书word文档良心出品.docx》由会员分享,可在线阅读,更多相关《完整word版销售管理系统数据库设计说明书word文档良心出品.docx(12页珍藏版)》请在冰豆网上搜索。

完整word版销售管理系统数据库设计说明书word文档良心出品.docx

完整word版销售管理系统数据库设计说明书word文档良心出品

销售管理系统数据库设计

 

班级______________________

姓名______________________

学号______________________

成绩______________________

日期______________________

装订线考生答题不得超过此线

销售管理系统数据库设计说明书

一、数据库系统功能简介(5分):

商品销售管理数据库是一个用来管理商品销售信息的数据库系统。

该数据库可以用来管理企业的商品信息、部门信息、员工信息、供应商信息、客户信息以及采购信息和销售信息,实现信息的自动化管理和利用。

二、需求分析(10分)

销售管理数据库的数据流程图

 

三、概念结构设计(10分)

销售管理数据库的E-R图

 

四、逻辑结构设计(5分)

销售管理数据库关系模式:

(1)部门(部门编号,部门名称,部门主管,备注)

(2)员工(员工编号,姓名,性别,出生年月,聘任日期,工资,部门编号)

(3)商品(商品编号,商品名称,单价,库存量,已销售量)

(4)客户(客户编号,公司名称,联系人姓名,电话,地址,Email)

(5)供应商(供应商编号,供应商名称,联系人姓名,电话,地址,Email)

(6)采购订单(采购订单号,商品编号,员工号,供应商编号,订购数量,订购日期)

(7)销售订单(销售订单号,商品编号,员工号,客户号,订购数量,订购日期)

五、物理结构设计(5分)

为销售管理数据库设计一个数据文件,一个日志文件,放在D盘的data文件夹下;销售管理数据库里面包含7个表,分别为商品、部门、员工、供应商、客户以及采购订单和销售订单;数据库和数据表的结构定义请看后面创建对象的SQL语句。

部门表

列名

数据类型

宽度

为空性

说明

部门编号

int

主关键字

部门名称

varchar

30

唯一键

部门主管

char

8

备注

varchar

50

员工表

列名

数据类型

宽度

为空性

说明

员工编号

int

主关键字

姓名

varchar

20

性别

char

2

取值为男或女

出生年月

smalldatetime

聘任日期

smalldatetime

工资

money

取值范围800-100000

部门编号

int

来自“部门表”的外键

供应商表

列名

数据类型

宽度

为空性

说明

供应商编号

int

主关键字

供应商名称

varchar

50

联系人姓名

char

8

电话

varchar

13

电话长度为7-13位字符

地址

varchar

100

E-mail

varchar

30

E-mail地址包含“@”

客户表

列名

数据类型

宽度

为空性

说明

客户编号

int

主关键字

公司名称

varchar

50

联系人姓名

char

8

电话

varchar

13

电话长度为7-13位字符

地址

varchar

100

E-mail

varchar

30

E-mail地址包含“@”

商品表

列名

数据类型

宽度

为空性

说明

商品编号

int

主关键字

商品名称

varchar

50

单价

Decimal(8,2)

单价大于0

库存量

int

库存量为非负数

已售数量

int

已售数量为非负数

采购订单表

列名

数据类型

宽度

为空性

说明

采购订单号

int

主关键字

商品编号

int

来自商品表的外键

员工编号

int

来自员工表的外键

供应商编号

int

来自供应商表的外键

订购数量

int

订购日期

smalldatetime

销售订单表

列名

数据类型

宽度

为空性

说明

销售订单号

int

主关键字

商品编号

int

来自商品表的外键

员工编号

int

来自员工表的外键

客户编号

int

来自客户表的外键

订购数量

int

订购日期

smalldatetime

六、数据库的实施(共65分)

创建数据库各种对象和执行查询的SQL语句

1.创建数据库(5分)

createdatabase销售管理

onprimary

(name=Sales_data,

filename='d:

\data\Sale_data.mdf',

size=10mb,

maxsize=unlimited,

filegrowth=10%)

logon

(name=Sales_log,

filename='d:

\data\Sale_log.ldf',

size=3mb,

maxsize=5mb,

filegrowth=1mb)

2.创建数据表并给表添加数据(20分)

use销售管理

go

createtable部门

(部门编号intprimarykey,

部门名称varchar(30)notnullconstraintUQ_DNameunique,

部门主管char(8),

备注varchar(50))

go

createtable员工

(员工编号intprimarykey,

姓名varchar(20)notnull,

性别char

(2)default'男'check(性别='男'or性别='女'),

出生年月smalldatetime,

聘任日期smalldatetime,

工资moneycheck(工资between800and100000),

部门编号intforeignkey(部门编号)references部门(部门编号))

go

createtable供应商

(供应商编号intprimarykey,

供应商名称varchar(50)notnull,

联系人姓名char(8),

电话char(13)check(len(电话)>=7andlen(电话)<=13),

地址varchar(100),

"E-mail"varchar(30)check("E-mail"like'%@%'))

go

createtable客户

(客户编号intprimarykey,

公司名称varchar(50)notnull,

联系人姓名char(8),

电话char(13)check(len(电话)>=7andlen(电话)<=13),

地址varchar(100),

"E-mail"varchar(30)check("E-mail"like'%@%'))

go

createtable商品

(商品编号intprimarykey,

商品名称varchar(50)notnull,

单价decimal(8,2)check(单价>0),

库存量intcheck(库存量>=0),

已销售量intcheck(已销售量>=0))

go

createtable采购订单

(采购订单号intprimarykey,

商品编号intreferences商品(商品编号),

员工编号intreferences员工(员工编号),

供应商编号intreferences供应商(供应商编号),

订购数量int,

订购日期smalldatetimedefaultgetdate())

go

createtable销售订单

(销售订单号intprimarykey,

商品编号intreferences商品(商品编号),

员工编号intreferences员工(员工编号),

客户编号intreferences客户(客户编号),

订购数量int,

订购日期smalldatetimedefaultgetdate())

表添加的数据如下图所示:

3.创建数据库各种对象(共25分)

a.创建试图(5分):

创建一个客户订购情况的视图,包括客户编号,公司名称,商品编号,商品名称,单价和订购数量,并对视图进行加密。

createview客户订购情况

withencryption

as

selecta.客户编号,公司名称,c.商品编号,商品名称,单价,订购数量

from客户ajoin销售订单asbona.客户编号=b.客户编号

join商品asconc.商品编号=b.商品编号

b.创建索引(5分):

在销售管理系统中,经常要按照客户名称查询信息,通过给客户表的公司名称创建一个唯一非聚集索引来提高查询速度。

Createuniqueindexix_cname

On客户(公司名称)

c.创建用户定义函数(5分):

创建标量函数,根据商品名称统计某种商品销售的次数

createfunction销售次数

(@商品名称varchar(50)='路由器')

returnsint

begin

declare@销售次数int

select@销售次数=count(*)

from商品join销售订单

on商品.商品编号=销售订单.商品编号

where商品名称=@商品名称

return@销售次数

end

执行函数:

selectdbo.销售次数('鼠标')as销售次数

selectdbo.销售次数(default)

d.创建存储过程(5分):

创建一个名为客户订购信息存储过程,用于查询指定客户的联系人姓名、联系方式、以及该公司订购产品的明细表。

createproc客户订购信息

(@客户名称varchar(50)='通恒机械有限公司')

as

select公司名称,联系人姓名,商品名称,单价,订购数量,订购日期

from客户join销售订单

On客户.客户编号=销售订单.客户编号

join商品

on商品.商品编号=销售订单.商品编号

where公司名称=@客户名称

执行输入参数为默认值的存储过程:

exec客户订购信息

执行带输入参数的存储过程:

exec客户订购信息'三川实业有限公司

e.创建触发器(5分):

创建一个触发器实现当向销售订单表添加一条记录时,自动修改商品表的库存数量和已售数量。

createtrigger销售

on销售订单

afterinsert

as

update商品

set库存数量=库存数量-订购数量,

已售数量=已售数量+订购数量

from商品joininserted

on商品.商品编号=inserted.商品编号

4.执行查询(共15分

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1