10.4.3 数据表的设计
本系统数据库名称为money,由数据库分析,数据库中包括三个表分别为财务信息表(info)、用户账号表(password)、操作日志表(log)。
数据库的创建可以手工完成,也可在系统运行时动态创建数据库。动态建立数据库对应的SQL语句如下:
- IF EXISTS (SELECT name FROM sysdatabases WHERE name = 'Money')
/*判断数据库是否有*/ - DROP DATABASE [Money]
/*删除数据库*/ - GO
- CREATE DATABASE [Money] ON
/*创建数据库*/ - (
- NAME = ' Money_dat',
- FILENAME = 'C:\ Moneydat.mdf' ,
- SIZE = 10,
- MAXSIZE = 100,
- FILEGROWTH = 10%
- )
- LOG ON
/*设置日志文件属性*/ - (
- NAME = ' Money_log',
- FILENAME = 'C:\ Moneylog.ldf' ,
- SIZE = 5,
- MAXSIZE = 25,
- FILEGROWTH = 5
- )
下面将分别对数据库中的各个表进行介绍。
(1)财务信息表(info):用于存储财务收支的详细信息,具体设计如表10-2所示。
表10-2 财务信息表(info)
|
字段名称< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
数据类型 |
说明 |
|
id |
整型 |
定义一个主键,编号 |
|
time |
varchar[50] |
记录消费时间 |
|
incometype |
varchar[50] |
收入的类型 |
|
incomenum |
整型 |
收入的数目 |
|
costtype |
varchar[50] |
消费的类型 |
|
costnum |
整型 |
消费的数目 |
|
about |
varchar[50] |
备注 |
建立该表的SQL语句如下:
- CREATE TABLE [dbo].[info]
/*创建数据表*/ - (
- [id] [int] NOT NULL,
/*编号*/ - [time] [varchar](50) NULL,
/*记录消费时间*/ - [incometype] [varchar](50) NULL,
/*收入的类型*/ - [incomenum] [int] NULL,
/*收入的数目*/ - [costtype] [varchar](50) NULL,
/*消费的类型*/ - [costnum] [int] NULL,
/*消费的数目*/ - [about] [varchar](50) NULL,
/*备注*/ - (
- [id] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
(2)用户账号表(password):用于保存用户账号信息,详细情况如表10-3所示。
表10-3 用户账号表(password)
|
字段名称 |
数据类型 |
说明 |
|
user |
varchar[50] |
用户名 |
|
password |
varchar[10] |
密码 |
|
author |
varchar[50] |
权限 |
建立该表的SQL语句如下:
- CREATE TABLE [dbo].[password]
/*创建数据表*/ - (
- [PASSWORD] [varchar](10) NULL,
/*密码*/ - [user] [varchar](50) NOT NULL,
/*用户名*/ - [AUTHOR] [varchar](50) NULL,
/*权限*/ - ) ON [PRIMARY]
- GO
(3)操作日志表(log):用于保存操作日志详细信息,详细情况如表10-4所示。
表10-4 操作日志表(log)
|
字段名称 |
数据类型 |
说明 |
|
user |
varchar[50] |
当前操作用户名 |
|
time |
varchar[50] |
操作时间 |
|
work |
varchar[50] |
操作类型 |
建立该表的SQL语句如下:
- CREATE TABLE [dbo].[log]
/*创建数据表*/ - (
- [user] [varchar](50) NOT NULL,
/*用户名*/ - [time] [varchar](50) NULL,
/*操作时间*/ - [work] [varchar](50) NULL
/*操作类型*/ - ) ON [PRIMARY]
- GO
【责任编辑:
云霞 TEL:(010)68476606】