一个典型的数据库设计实例.docx

上传人:b****1 文档编号:19035263 上传时间:2023-04-24 格式:DOCX 页数:14 大小:112.01KB
下载 相关 举报
一个典型的数据库设计实例.docx_第1页
第1页 / 共14页
一个典型的数据库设计实例.docx_第2页
第2页 / 共14页
一个典型的数据库设计实例.docx_第3页
第3页 / 共14页
一个典型的数据库设计实例.docx_第4页
第4页 / 共14页
一个典型的数据库设计实例.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

一个典型的数据库设计实例.docx

《一个典型的数据库设计实例.docx》由会员分享,可在线阅读,更多相关《一个典型的数据库设计实例.docx(14页珍藏版)》请在冰豆网上搜索。

一个典型的数据库设计实例.docx

一个典型的数据库设计实例

超市POS管理系统

数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构的设计好坏将直接对应用系统的效率以及实现的效果产生影响。

数据库设计一般包括以下四个部分:

数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。

一、数据库需求分析

通过对超市管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。

1、员工信息,包括的数据项有:

员工编号,姓名,性别,职务,口令,权限级别、身份证号,所属部门编号等。

2、部门信息,包括的数据项有:

部门编号,部门名称。

3、供应商信息,包括的数据项有:

供应商编号,供应商名称,地址,邮政编码,电话号码,税号,银行帐号,开户银行,联系人,备注等。

4、会员信息,包括的数据项有:

会员编号,姓名,性别,身份证号,消费总金额,积分等。

5、入库信息,包括的数据项有:

入库编号,入库日期,商品编号,计量单位,入库价格,销售价格,数量,总金额,供应商编号,业务员编号等。

6、商品信息,包括的数据项有:

商品编号,所属类别,数量,单价,商品名称等。

7、销售出货单主信息,包括的数据项有:

销售日期,总金额,是否现金,是否会员,会员编号、收银号编号等。

8、销售出货单子信息,包括的数据项有:

商品编号,数量,单价,折扣比例,金额等。

二、数据库概念结构设计

根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下:

 

 

图1员工信息E-R图

 

 

图2部门信息E-R图

 

 

图3入库信息E-R图

 

图4商品信息E-R图

 

 

图5销售出货单主信息E-R图

 

图6销售出货单子信息E-R图

 

图7会员信息E-R图

 

图8供应商信息E-R图

 

实体与实体之间的关系E-R图:

 

三、数据库逻辑结构设计

员工信息表

字段名

数据类型

长度

说明

描述

Ygbh

Char

8

不空,主键

员工编号

Name

Char

8

不空

姓名

Sex

Char

2

不空‘男’、‘女’

性别

Zw

Char

10

不空

职务

Kl

varChar

20

不空

口令

Qxjb

Char

1

不空

权限级别

Sfzh

Char

18

不空,唯一约束

身份证号

ssbmbh

char

4

不空,外键

所属部门编号

 

商品信息

字段名

数据类型

长度

说明

描述

Spbh

char

8

不空,主键

商品编号

Spmc

varchar

20

不空

商品名称

Sslb

char

8

不空

所属类别

Jg

money

8

不空

价格

sl

int

4

不空

数量

 

部门信息表

字段名

数据类型

长度

说明

描述

bmbh

char

8

不空,主键

部门编号

bmmc

char

4

不空

部门名称

 

供应商信息表

字段名

数据类型

长度

说明

描述

Gysbh

Char

8

不空,主键

供应商编号

Gysmc

Char

8

不空

供应商名称

Dz

varChar

20

不空

地址

Yzbm

Char

6

不空

邮政编码

Dhhm

varchar

15

不空

电话号码

Sh

varChar

3

不空

税号

Yhzh

varChar

20

不空

银行帐号

Khyh

Char

8

不空

开户银行

Lxr

Char

8

不空

联系人

beizhu

text

16

备注

会员信息表

字段名

数据类型

长度

说明

描述

Hybh

Char

8

不空,主键

会员编号

Name

Char

6

不空

姓名

Sex

Char

2

不空,’男’、’女’

性别

Sfzh

varChar

20

不空

身份证号

xfzje

money

8

不空

消费总金额

jf

int

4

不空

积分

入库信息表

字段名

数据类型

长度

说明

描述

Rkbh

char

8

不空,主键

入库编号

Rkrq

Datetime

8

不空

入库日期

Spbh

char

8

不空,外键

商品编号

Jldw

Char

2

不空

计量单位

Rkjg

Money

8

不空

入库价格

Xsjg

Money

8

不空

销售价格

Sl

int

4

不空

数量

Zje

Money

8

不空

总金额

Gysbh

char

8

不空,外键

供应商编号

ywybh

char

8

不空,外键

业务员编号

库存信息表

字段名

数据类型

长度

说明

描述

kcxxbh

char

8

不空,主键

库存信息编号

Spbh

char

8

不空,外键

商品编号

kcl

int

4

不空

库存量

销售出货单主信息

字段名

数据类型

长度

说明

描述

Xsrq

datetime

8

不空

销售日期

Zje

Money

8

不空

总金额

Sfxj

Char

2

不空

是否现金

Sfhy

char

2

可为空

是否会员

Hybh

Char

8

不空,外键

会员编号

Syybh

char

8

不空,外键

收银号编号

销售出货单子信息

字段名

数据类型

长度

说明

描述

Spbh

char

8

不空,外键

商品编号

Sl

int

4

不空

数量

Dj

money

8

不空

单价

Zkbl

char

10

不空

折扣比例

Je

money

8

不空

金额

四、数据库物理结构实现

根据以上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表。

1.createdatabaseglxt

on

(name=pos_dat,

filename='D:

\pos_dat.mdf',

size=5,

maxsize=20,

filegrowth=1)

LOGon

(name=pos_log,

filename='D:

\pos_log.ldf',

size=5,

maxsize=20,

filegrowth=1)

2.createtablebm

(bmbhchar(8)notnull

constraintPK_bnoprimarykey,

bmmcchar(4)notnull

go

3.createtablesp

(spbhchar(8)notnull

constraintPK_cnoprimarykey,

spmcvarchar(20)notnull,

sslbchar(8)notnull,

slintnotnull,

jgmoneynotnull

go

4.createtablegys

(gysbhchar(8)notnull

constraintPK_dnoprimarykey,

gysmcchar(8)notnull,

dzvarchar(20)notnull,

yzbmchar(8)notnull,

dhhmvarchar(15)notnull,

shvarchar(3)notnull,

yhzhvarchar(20)notnull,

khyhchar(8)notnull,

lxrchar(8)notnull,

beizhutextnull

go

5.createtablehy

(hybhchar(8)notnull

constraintPK_enoprimarykey,

hynamechar(6)notnull,

sexchar

(2)checkCK_hysexin(‘男’,’女’)notnull,

sfzhvarchar(20)notnull,

xfzjemoneynotnull,

jfintnotnull

Go

6.createtableyg

(ygbhchar(8)notnull

constraintPK_fnoprimarykey,

ygnamechar(8)notnull,

sexchar

(2)checkCK_ygsexin(‘男’,’女’)notnull,

zwchar(8)notnull,

klvarchar(20)notnull,

qxjbchar(4)notnull,

sfzhvarchar(18)notnull,

ssbmbhchar(8)notnull

constraintFK_anoforeignkeyreferencesbm(bmbh)

go

7.createtablerk

(rkbhchar(8)notnull

constraintPK_gnoprimarykey,

xsjgmoneynotnull,

rkrqdatetimenotnull,

spbhchar(8)notnull

constraintFK_bnoforeignkeyreferencessp(spbh),

ywybhchar(8)notnull

constraintFK_cnoforeignkeyreferencesyg(ygbh),

jldwchar

(2)notnull,

rkjgmoneynotnull,

gysbhchar(8)notnull

constraintFK_dnoforeignkeyreferencesgys(gysbh),

zjemoneynotnull,

slintnotnull

go

8.createtablezhuxx

(xsrqdatetimenotnull,

zjemoneynotnull,

sfxjchar

(2)checkCK_zhuxx_sfxjin(‘是’,’否’)notnull,

sfhychar

(2)checkCK_zhuxx_sfhyin(‘是’,’否’),

hybhchar(8)notnull

constraintFK_enoforeignkeyreferenceshy(hybh),

syybhchar(8)notnull

constraintFK_fnoforeignkeyreferencesyg(ygbh)

go

9.createtablezixx

(spbhchar(8)notnull

constraintFK_gnoforeignkeyreferencessp(spbh),

slintnotnull,

djmoneynotnull,

zkblchar(10)notnull,

jemoneynotnull,

go

10.createtablekc

(kcxxbhchar(8)notnull

constraintPK_pnoprimarykey,

spbhchar(8)notnull

constraintFK_inoforeignkeyreferencessp(spbh),

kclintnotnull

go

五、数据库扩展功能实现

1.CREATETRIGGERtriger_sl

ONrk

afterinsert

AS

updatekc

setkcl=kcl+(selectslfrominserted)

wherespbh=(selectspbhfrominserted)

2.CREATETRIGGERtriger_kc

ONzixx

afterdelete

AS

updatekc

setkcl=kcl-(selectslfromdeleted)

wherespbh=(selectspbhfromdeleted)

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

当前位置:首页 > 高等教育 > 艺术

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

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