文档库 最新最全的文档下载
当前位置:文档库 › 进销存管理系统数据库设计

进销存管理系统数据库设计

关系数据库标准语言SQL (1)

进销存管理系统数据库设计 (3)

1. 码表 (3)

2. 基本信息表 (4)

3. 单据表 (5)

4. 账表 (9)

SQL 语句建表示例1 (13)

SQL 语句建表示例2 (15)

利用SQL语句实现采购管理 (23)

利用触发器实现进销存管理 (27)

关系数据库标准语言SQL

关系模型定义三类完整性约束:实体完整性、参照完整性、用户定义的完整性

SQL语言的动词

SQL 功能动词

数据定义CREATE,DROP,ALTER

数据查询SELECT

数据操纵INSERT,UPDATE,DELETE

数据控制GRANT,REVOKE

操作语句

定义基本表CREATE TABLE <表名>

(<列名> <数据类型>[列级完整性约束条件]

[,<列名> <数据类型>[列级完整性约束条件]]…

[, <列级完整性约束条件>]);

修改基本表ALERT TABLE <表名>

[ADD<新列名> <数据类型>[完整性约束]]

[DROP [完整性约束名]]

[MODIFY<列名> <数据类型>];

删除基本表DROP TABLE <表名>

建立索引CREATE [UNIQUE] [CLUSTER] INDEX <索引名>

ON <表名> (<列名>[<次序>][, (<列名>[<次序>]] …);

删除索引DROP INDEX <索引名>

ON <表名> (<列名>[<次序>][, (<列名>[<次序>]]…);

查询操作SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…

FROM <表名或视图名>[,<表名或视图名>]…

[WHERE <条件表达式>]

[GROUP BY <列名1>[HA VING<条件表达式>]]

[ORDER BY <列名2>[ASC|DSC]];

集函数,包括:

COUNT ([DISTINCT|ALL] *) 统计元组个数

COUNT ([DISTINCT|ALL] <列名>) 统计一列中值的个数

SUM ([DISTINCT|ALL] <列名>) 计算一列值的总和(必须是数值型)A VG ([DISTINCT|ALL] <列名>) 求一列值的平均值(必须是数值型)MAX ([DISTINCT|ALL] <列名>) 求一列值中的最大值

MIN ([DISTINCT|ALL] <列名>) 求一列值中的最小值

插入操作INSERT INTO <表名>[(<属性列1>[, <属性列2>…)] V ALUES (<常量1>[, <常量2>]…);

INSERT INTO <表名>[(<属性列1>[, <属性列2>…)] 子查询;

修改操作UPDA TE <表名>

SET <列名>=<表达式>[, <列名>= <表达式>]…

[WHERE <条件>];

删除操作DELETE FROM <表名>

[WHERE <条件>];

建立视图CREATE VIEW <视图名>[(列名>[, <列名>…) ] AS <子查询>

[WITH CHECK OPTION];

删除视图DROP VIEW <视图名>;

用户授权操作权限GRANT <权限>[, <权限>]…

[ON<对象类型> <对象名>]

TO <用户>[, <用户>]…

[ WITH GRANT OPTION];

对象对象类型操作权限

属性列TABLE

SELECT, INAERT, UPDAT, DELETE, ALL

PRIVILEGES

视图TABLE 同上

基本表TABLE 同上+ALERT, INDEX

数据库DA TABASE CREATTAB

收回权限REVOKE <权限>[, <权限>]…

[ON<对象类型> <对象名>]

FROM <用户>[, <用户>]…;

进销存管理系统数据库设计

系统表分为码表、基本信息表、单据表和账表。其中码表共五张,包括往来单位码表、商品种类码表、商品计量单位码表、部门码表、商品产地码表。

基本信息表共两张,包括操作员表、商品信息表。

单据表共九张,包括采购单主项与采购单明细项、销售单主项与销售单明细项、报损单主项与报损单明细项、付款单、收款单、商品盘存表。

账表共八张,包括库存初始化库存表、初始化应付账表、初始化应收账表、商品库存表、流水账表、应付账表、应收账表、进销存数量报表。

1. 码表

(1)码表中文名称:商品种类码表,见表1。

表名:C_SORT

关键字:SORT _CODE

备注:确定系统所涉及的商品种类。

i

(2)码表中文名称:商品计量单位码表,见表2。

表名:C_UNIT

关键字:UNIT _CODE

备注:确定系统所应用的商品计量单位。

(3)码表中文名称:商品产地码表,见表3。

表名:C_AERO

关键字:AERO _CODE

备注:定义系统所涉及的商品产地。

(4)码表中文名称:往来单位码表,见表4。

表名:C_SUPP

关键字:SUPP _CODE

备注:设定提供商品的供货单位。

(5)码表中文名称:部门码表,见表5。

表名:C_DEPT

关键字:DEPT_CODE

备注:设定企业内部的部门。

2. 基本信息表

(1)码表中文名称:操作员表,见表6。

表名:C_OPERATOR

关键字:OPER_CODE

备注:记录系统的操作员信息,包括编码、姓名、密码、权限等。

(2)码表中文名称:商品信息表,表7。

表名:C_GOODS

关键字:GOODS _CODE

备注:系统的所有商品信息。

3. 单据表

(1)单据表中文名称:采购单主项,见表8。

表名:SHEET_CG_MAIN

关键字:SHEETID

备注:采购单由主项及明细项组成。

(2)单据表中文名称:采购单明细项,见表9。

表名:SHEET_CG_ITEM

关键字:SHEETID + ITEMNO

备注:采购单由主项及明细项组成。

(3)单据表中文名称:销售单主项,见表10。

表名:SHEET_XS_MAIN

关键字:SHEETID

备注:销售单由主项及明细项组成。

(4)单据表中文名称:销售单明细项,见表11。

表名:SHEET_XS_ITEM

关键字:SHEETID + ITEMNO

备注:销售单由主项及明细项组成。

(5)单据表中文名称:报损单主项,见表12。

表名:SHEET_BS_MAIN

关键字:SHEETID

备注:报损单由主项及明细项组成。

(6)单据表中文名称:报损单明细项,见表13。

表名:SHEET_BS_ITEM

关键字:SHEETID + ITEMNO

备注:报损单由主项及明细项组成。

(7)单据表中文名称:商品盘存表,见表14。

表名:TABLE_GOODS_PC

关键字:DATE_PC + GOODS_CODE

备注:定期进行商品盘存处理。获得商品的盈亏数量,并通过盘存,及时调整商品的账面数量。

(8)单据表中文名称:收款单,见表15。

表名:SHEET_SK

关键字:SHEETID

备注:针对销售单据号进行收款处理。

(9)单据表中文名称:付款单,见表16。

表名:SHEET_FK

关键字:SHEETID

备注:针对供应商进行付款处理。

4. 账表

(1)账表中文名称:初始化库存表,见表17。

表名:INI_GOODS_AMOUNT

关键字:GOODS_CODE

备注:通过初始化库存,系统可以将初始数据自动转入商品库存表、进销存数量报表。

(2)账表中文名称:初始化应付账表,见表18。

表名:INI_REPORT_YF_MONE

关键字:SUPP_CODE

备注:本系统针对供应商挂应付账。通过初始化应付账表,系统可以将初始数据将自动转入应付账表。

(3)账表中文名称:初始化应收账表,见表19。

表名:INI_REPORT_YS_MONE

关键字:SHEETID_XS

备注:本系统针对销售单据号挂应收账。通过初始化应收账表,系统可以将初始数据将自动转入应收账表。

(4)账表中文名称:商品库存表,见表20。

表名:GOODS_AMOUNT

关键字:GOODS_CODE

备注:商品当前的库存数量。

(5)账表中文名称:流水账表,见表21。

表名:GOODS_RECORD

关键字:SHEETDATE + GOODS_CODE + ITEMNO

备注:详细记录每一笔采购、销售、报损、盘存等业务处理的数据情况。

(6)账表中文名称:进销存数量报表,见表22。

表名:REPORT_AMOUNT

关键字:REPORTDATE_QS + GOODS_CODE

备注:在某一时间段内根据已记账的采购单、销售单、报损单、商品盘存表进行的期初库存数量、采购数量、销售数量、报损数量、期末库存账面数量、盈亏数量、期末实盘数量计算结果。

(7)账表中文名称:应付账表,见表23。

表名:REPORT_YF_MONE

关键字:SUPP_CODE + ITEMNO

备注:按供应商进行挂账的应付及付款明细。

(8)账表中文名称:应收账表,见表24。

表名:REPORT_YS_MONE

关键字:SHEETID_XS + ITEMNO

备注:按销售单据进行挂账的应收及收款明细。

SQL 语句建表示例1

drop table C_SUPP;

drop table C_SORT;

drop table C_UNIT;

drop table C_AERO;

drop table C_GOODS;

create table C_AERO

(

AERO_CODE char(10) not null,

AERO_NAME char(100) not null,

primary key (AERO_CODE)

);

create table C_UNIT

(

UNIT_CODE char(2) not null,

UNIT_NAME char(10) not null,

primary key (UNIT_CODE)

);

create table C_SORT

(

SORT_CODE char(2) not null,

SORT_NAME char(50) not null,

primary key (SORT_CODE)

);

create table C_SUPP

(

SUPP_CODE char(10) not null,

SUPP_NAME char(100) not null,

ZIP char(6) ,

ADDR char(100) , TEL char(20) ,

FAX char(20) ,

EMAIL char(100) ,

WEB char(100) ,

ACCOUNT char(30) ,

BANK char(100) ,

primary key (SUPP_CODE)

);

create table C_GOODS

(

GOODS_CODE char(13) not null,

GOODS_NAME char(60) ,

SORT_CODE char(2) ,

MODEL char(50) ,

UNIT_CODE char(2) ,

PRICE_RETAIL decimal(8,2) ,

PRICE_PLAN decimal(8,2) ,

AERO_CODE char(10) ,

SUPP_CODE char(10) ,

NOTE varchar(200) ,

PHOTOFILE char(100) ,

primary key (GOODS_CODE)

);

alter table C_GOODS

add foreign key FK_C_GOODS_REF_C_SORT (SORT_CODE)

references C_SORT (SORT_CODE) on update restrict on delete restrict;

alter table C_GOODS

add foreign key FK_C_GOODS_REF_C_UNIT (UNIT_CODE)

references C_UNIT (UNIT_CODE) on update restrict on delete restrict;

alter table C_GOODS

add foreign key FK_C_GOODS_REF_C_AERO (AERO_CODE) references C_AERO (AERO_CODE) on update restrict on delete restrict;

alter table C_GOODS

add foreign key FK_C_GOODS_REF_C_SUPP (SUPP_CODE)

references C_SUPP (SUPP_CODE) on update restrict on delete restrict;

SQL 语句建表示例2

相关文档
相关文档 最新文档