3.4.3 数据库、表的设计(1)
本系统数据库共有7张表:保存前台销售信息,必定有个销售表(tb_sale),同时还必须有销售的商品信息表,所以有个tb_merchangiseinfo。有商品有供应商,所以有供应商表(tb_provider)。作为库存必须有一个库存表(tb_storage),同时库存管理应有库存管理表(tb_storemanage),还有数据的备份还原表(tb_backup),操作员表(tb_operator)。数据库的名称为Sales,下面提供系统运行时动态创建数据库的方法SQL语句。
- IF EXISTS (SELECT name FROM sysdatabases WHERE name = 'Sales') /*存在数据库Sales */
- DROP DATABASE [Sales] /*删除数据库Sales */
- GO
- CREATE DATABASE [Sales] ON /*创建数据库Sales */
- (
- NAME = 'Sales_dat',
- FILENAME = 'C:\salesdat.mdf' ,
- SIZE = 10,
- MAXSIZE = 100,
- FILEGROWTH = 10%
- )
- LOG ON
- (
- NAME = 'Sales_log',
- FILENAME = 'C:\salelog.ldf' ,
- SIZE = 5,
- MAXSIZE = 25,
- FILEGROWTH = 5
- )
下面将分别对数据库中的各个表进行介绍。
销售表tb_sale:用于保存前台销售信息,其主要字段为buyid,具体设计如表3-2所示。
表3-2 销售表(tb_sale)
|
字段名称< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
数据类型 |
字段大小 |
是否主键 |
是否允许为空 |
说明 |
|
buyid |
varchar |
50 |
是 |
否 |
交易号 |
|
mercid |
varchar |
20 |
否 |
是 |
商品号 |
|
buycount |
float |
8 |
否 |
是 |
数量 |
|
operid |
varchar |
8 |
否 |
是 |
操作员号 |
|
quitinfo |
varchar |
50 |
否 |
是 |
退货信息 |
|
quitnum |
float |
8 |
否 |
是 |
退货数量 |
建立该表的SQL语句如下:
- CREATE TABLE tb_sale ( /*创建数据表tb_sale */
- buyid varchar (50) NOT NULL , /*交易号*/
- mercid varchar (20) NOT NULL , /*商品号*/
- buycount float NOT NULL , /*数量*/
- operid varchar (8) NOT NULL CONSTRAINT DF_tb_sale_operid DEFAULT ('0001'), /*操作员号,默认0001*/
- quitinfo varchar (50) NULL CONSTRAINT DF_tb_sale_quitflag DEFAULT ('no'), /*退货信息*/
- quitnum float NULL /*退货数量*/
- ) ON [PRIMARY]
- GO