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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

销售管理系统数据库设计

班级 ______________________ 姓名 ______________________

学号 ______________________ 成绩 ______________________

日期

______________________

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

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

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

二、需求分析(10分)

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

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

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

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

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

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

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

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

(5)供应商(供应商编号,供应商名称,联系人姓名,电话,地址,Email)(6)采购订单(采购订单号,商品编号,员工号,供应商编号,订购数量,订购日期)

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

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

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

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

创建数据库各种对象和执行查询的SQL语句1.创建数据库(5分)

create database销售管理

on primary

(name=Sales_data,

filename='d:\data\Sale_data.mdf', size=10mb,

maxsize=unlimited,

filegrowth=10%)

log on

(name=Sales_log,

filename='d:\data\Sale_log.ldf', size=3mb,

maxsize=5mb,

filegrowth=1mb)

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

use销售管理

go

create table部门

(部门编号int primary key,

部门名称varchar(30)not null constraint UQ_DName unique,

部门主管char(8),

备注varchar(50))

go

create table员工

(员工编号int primary key,

姓名 varchar(20)not null,

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

出生年月smalldatetime,

聘任日期smalldatetime,

工资money check(工资between 800 and 100000),

部门编号int foreign key(部门编号)references部门(部门编号)) go

create table供应商

(供应商编号int primary key,

供应商名称varchar(50)not null,

联系人姓名char(8),

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

地址varchar(100),

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

go

create table客户

(客户编号int primary key,

公司名称varchar(50)not null,

联系人姓名char(8),

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

地址varchar(100),

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

go

create table商品

(商品编号int primary key,

商品名称varchar(50)not null,

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

库存量int check(库存量>=0),

已销售量int check(已销售量>=0))

go

create table采购订单

(采购订单号int primary key,

商品编号int references商品(商品编号),

员工编号int references员工(员工编号),

供应商编号int references供应商(供应商编号),

订购数量int,

订购日期smalldatetime default getdate())

go

create table销售订单

(销售订单号int primary key,

商品编号int references商品(商品编号),

员工编号int references员工(员工编号),

客户编号int references客户(客户编号),

订购数量int,

订购日期smalldatetime default getdate())

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

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

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

create view 客户订购情况

with encryption

as

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

from 客户 a join 销售订单 as b on a.客户编号=b.客户编号

join 商品 as c on c.商品编号=b.商品编号

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

Create unique index ix_cname

On 客户(公司名称)

c.创建用户定义函数(5分):创建标量函数,根据商品名称统计某种商品销售的次数

create function 销售次数

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

returns int

begin

declare @销售次数 int

select @销售次数=count(*)

from 商品 join 销售订单

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

where 商品名称=@商品名称

return @销售次数

end

执行函数:

select dbo.销售次数('鼠标') as 销售次数

select dbo.销售次数(default)

相关文档
最新文档