销售管理系统数据库设计说明书文档格式.docx

上传人:b****2 文档编号:14561307 上传时间:2022-10-23 格式:DOCX 页数:12 大小:208.85KB
下载 相关 举报
销售管理系统数据库设计说明书文档格式.docx_第1页
第1页 / 共12页
销售管理系统数据库设计说明书文档格式.docx_第2页
第2页 / 共12页
销售管理系统数据库设计说明书文档格式.docx_第3页
第3页 / 共12页
销售管理系统数据库设计说明书文档格式.docx_第4页
第4页 / 共12页
销售管理系统数据库设计说明书文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

销售管理系统数据库设计说明书文档格式.docx

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

销售管理系统数据库设计说明书文档格式.docx

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

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

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

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

为销售管理数据库设计一个数据文件,一个日志文件,放在D盘的data文件夹下;

销售管理数据库里面包含7个表,分别为商品、部门、员工、供应商、客户以及采购订单和销售订单;

数据库和数据表的结构定义请看后面创建对象的SQL语句。

部门表

列名

数据类型

宽度

为空性

说明

部门编号

int

主关键字

部门名称

varchar

30

唯一键

部门主管

char

8

备注

50

员工表

员工编号

姓名

20

性别

2

取值为男或女

出生年月

smalldatetime

聘任日期

工资

money

取值范围800-100000

来自“部门表”的外键

供应商表

供应商编号

供应商名称

联系人姓名

电话

13

电话长度为7-13位字符

地址

100

E-mail

E-mail地址包含“@”

客户表

客户编号

公司名称

商品表

商品编号

商品名称

单价

Decimal(8,2)

单价大于0

库存量

库存量为非负数

已售数量

已售数量为非负数

采购订单表

采购订单号

来自商品表的外键

来自员工表的外键

来自供应商表的外键

订购数量

订购日期

销售订单表

销售订单号

来自客户表的外键

六、数据库的实施(共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,

\data\Sale_log.ldf'

size=3mb,

maxsize=5mb,

filegrowth=1mb)

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

use销售管理

go

createtable部门

(部门编号intprimarykey,

部门名称varchar(30)notnullconstraintUQ_DNameunique,

部门主管char(8),

备注varchar(50))

createtable员工

(员工编号intprimarykey,

姓名varchar(20)notnull,

性别char

(2)default'

男'

check(性别='

or性别='

女'

),

出生年月smalldatetime,

聘任日期smalldatetime,

工资moneycheck(工资between800and100000),

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

createtable供应商

(供应商编号intprimarykey,

供应商名称varchar(50)notnull,

联系人姓名char(8),

电话char(13)check(len(电话)>

=7andlen(电话)<

=13),

地址varchar(100),

"

E-mail"

varchar(30)check("

like'

%@%'

))

createtable客户

(客户编号intprimarykey,

公司名称varchar(50)notnull,

createtable商品

(商品编号intprimarykey,

商品名称varchar(50)notnull,

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

0),

库存量intcheck(库存量>

=0),

已销售量intcheck(已销售量>

=0))

createtable采购订单

(采购订单号intprimarykey,

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

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

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

订购数量int,

订购日期smalldatetimedefaultgetdate())

go

createtable销售订单

(销售订单号intprimarykey,

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

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

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)='

通恒机械有限公司'

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

from客户join销售订单

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

join商品

where公司名称=@客户名称

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

exec客户订购信息

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

exec客户订购信息'

三川实业有限公司

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

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

createtrigger销售

on销售订单

afterinsert

update商品

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

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

from商品joininserted

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

4.执行查询(共15分)

(1)简单查询(

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

当前位置:首页 > IT计算机 > 互联网

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

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