最近,我和一位同事合作设计数据库表。我们在设计好各个表之后,需要将表的基本信息记录下来,发给同项目组的同事参阅和评审。最开始,我们不是很清楚如何来描述每张表的信息。通过与大家商量之后,我们认为通过如下格式描述数据库表的基本信息比较恰当。本文可供有类似需求的开发人员参考。
要比较完整地描述一张数据表,需要交代清楚这五个部分:总体说明、版本说明、表结构说明、建表脚本、初始化语句。以下以员工信息表为例加以说明:
1. 总体说明(表存放数据说明,哪些模块使用)
员工信息表tb_employeeinfo,通过此表可定义每个员工在数据库中存储的基本信息。
使用模块:员工信息存储及处理模块。
2. 版本说明(在哪个基线的哪个版本上增加,谁增加的)
XXX在V1.01.01版本基础之上增加。
3. 表结构说明(必须标明那个字段是主键)
员工信息表tb_employeeinfo
字段名称 |
数据类型 |
是否可空 |
字段描述 |
employeeno |
varchar2(20) |
N |
员工工号,在此字段上建立唯一索引 |
employeename |
varchar2(50) |
N |
员工姓名 |
employeeage |
int |
N |
员工年龄 |
employeeaddr |
varchar2(100) |
Y |
员工地址 |
4. 建表脚本(基于OEACLE数据库实现)
begin execute immediate 'DROP TABLE tb_employeeinfo CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; end; / create table tb_employeeinfo ( employeeno varchar2(20) not null, -- employee no employeename varchar2(50) not null, -- employee name employeeage int not null, -- employee age employeeaddr varchar2(100) null -- employee address ); create unique index idx1_tb_employeeinfo on tb_employeeinfo(employeeno); prompt 'create table tb_employeeinfo ok'; commit;
5. 初始化语句
初始时只存储一个员工的信息,初始语句如下:
insert into tb_employeeinfo(employeeno, employeename, employeeage, employeeaddr) values('20150410160500', 'ZhouXiong', 20, 'ChongQing, China');