4.4.3 数据库、表的设计(1)
本系统数据库名称为HMSys。数据库HMSys中包含职工表(emp)、部门表(dep)、工资表(wageinfo)、用户表(users)、考勤表(checkinfo)、节假日表(holiday)和保存工资计算公式的表(wagecal)。下面提供系统运行时动态创建数据库的方法,数据库的名称为HMSys,对应的SQL语句如下:
- IF EXISTS (SELECT name FROM sysdatabases WHERE name = 'HMSys')
/*存在数据库HMSys*/ - DROP DATABASE [HMSys] /*删除数据库HMSys*/
- GO
- CREATE DATABASE [HMSys] ON /*创建数据库HMSys*/
- (
- NAME = ' HMSys _dat',
- FILENAME = 'C:\ HMSys_dat.mdf' ,
- SIZE = 10,
- MAXSIZE = 100,
- FILEGROWTH = 10%
- )
- LOG ON /*设置日志文件属性*/
- (
- NAME = ' HMSys_log',
- FILENAME = 'C:\ HMSys_log.ldf' ,
- SIZE = 5,
- MAXSIZE = 25,
- FILEGROWTH = 5
- )
下面将分别对数据库中的各个表进行介绍。
(1)职工表(emp):用于保存职工的基本信息,其主要字段为id,具体设计如表4-2所示。
表4-2 职工表(emp)
|
字段名称< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
数据类型 |
字段大小 |
是否为空 |
说明 |
|
id |
int |
4 |
Not Null |
主键,编号 |
|
name |
varchar |
20 |
Not Null |
姓名 |
|
sex |
varchar |
2 |
Not Null |
性别 |
|
age |
int |
4 |
Not Null |
年龄 |
|
addr |
varchar |
200 |
Null |
籍贯 |
|
depart |
varchar |
20 |
Not Null |
部门 |
|
birth |
varchar |
20 |
Null |
出生日期 |
|
phone |
varchar |
20 |
Null |
联系方式 |
|
more |
varchar |
500 |
Null |
备注 |
|
photo |
Image |
16 |
Null |
照片 |
建立该表的SQL语句如下:
- CREATE TABLE Emp ( /*创建数据表*/
- id int NOT NULL , /*编号*/
- [name] varchar (20) NOT NULL , /*姓名*/
- age int NOT NULL , /*年龄*/
- sex varchar (2) NOT NULL , /*性别*/
- addr varchar (200), /*籍贯*/
- depart varchar (20) NOT NULL , /*部门*/
- birth varchar (20), /*出生日期*/
- phone varchar (20), /*联系方式*/
- more varchar (500), /*备注*/
- photo image /*照片*/
- )
- GO
(2)部门表(dep):用于保存部门的基本信息,其主要字段为id,详细情况如表4-3所示。
表4-3 部门表(dep)
|
字段名称 |
数据类型 |
字段大小 |
是否为空 |
说明 |
|
id |
int |
4 |
Not Null |
主键,编号 |
|
name |
varchar |
20 |
Not Null |
姓名 |
|
manage |
varchar |
20 |
Null |
主管 |
|
phone |
int |
4 |
Null |
电话 |
|
more |
varchar |
200 |
Null |
备注 |
建立该表的SQL语句如下:
- CREATE TABLE Dep ( /*创建数据表*/
- id int NOT NULL , /*编号*/
- [name] varchar (20) NOT NULL , /*姓名*/
- manager varchar (20) , /*主管*/
- phone varchar (20), /*电话*/
- more varchar (200), /*备注*/
- )
- GO
【责任编辑:
云霞 TEL:(010)68476606】