如何编写一个高效的国税系统通讯录数据库?

来源:asp之家 时间:2009-11-07 18:53:00 

为某国税局开发一综合 * ,需要建立一个庞大的国税系统通讯录数据库,从各省、市到每名具体工作人员,项目较多,该如何设计各表呢?

数据库的表设计要本着快捷高效、维护方便的原则,我们建议设计九个表,将单位部分和工作人员部分分开管理,然后再通过其它信息部分将两部分结合起来。

各表结构如下,供参考:

1、省(市)份表

    create table province (
        provid tinyint not null identity(1,1),      --省(市)编号
        provname varchar(20) not null,            --省(市)名
        constraint pk_province primary key clustered (provid)
        )

2、城市表

    create table city (
        cityid smallint not null identity(1,1),     --城市编号
        cityname varchar(30) not null,            --城市名
        provid tinyint not null,                    --隶属省(市)编号
        constraint pk_city primary key clustered (cityid)
        )

索引:

        create index city_provid on city(provid)
        create index city_cityname on city(cityname)

3、单位级别

    create table kind (
        kindid tinyint not null identity(1,1),      --级别编号
        kindname varchar(40) not null,            --级别名称
        constraint pk_kind primary key clustered (kindid)
        )

    初始值:

        insert into kind (kindname) values ('省局')
        insert into kind (kindname) values ('市地局')
        insert into kind (kindname) values ('区县局')
        insert into kind (kindname) values ('基层分局')

4、国税局

    create table ntax (
        ntaxid int not null identity(1,1),       --国税局编号
        ntaxname varchar(60) not null,         --国税局名称
        postcode varchar(6) null,               --邮政编码
        cityid smallint not null,                 --城市编号
        kindid tinyint not null,                 --国税局类别
        county varchar(20) null,                --地市名
        constraint pk_ntax primary key clustered (ntaxid)
        )

    索引:

        create index ntax_ntaxname on ntax(ntaxname)
        create index ntax_cityid on ntax(cityid)

5、科室(分局、中心)

    create table depart (
        departid int not null identity(1,1),    --科室(分局、中心)编号
        departname varchar(20) not null,     --科室(分局、中心)名称
        ntaxid int not null,                  --国税局编号
        ntaxcomp char(4) not null            --(税务、事业、行政)编制
        constraint pk_depart primary key clustered (departid)
        )

索引:

        create index depart_ntaxid on depart(ntaxid)
        create index depart_ntaxcomp on depart(ntaxcomp)

6、工作人员

    create table member (
        memberid varchar(15) not null,        --登录帐号
        membername varchar(10) not null,     --真实姓名
        nickname varchar(10) not null,         --昵称
        password varchar(11) not null,         --密码
        birthday varchar(10) null,              --生日
        question varchar(20) not null,          --提示问题
        answer varchar(20) not null,            --提示答案
        address varchar(100) null,              --通信地址
        workunit varchar(100) null,             --工作单位
        telephone varchar(30) null,             --办公电话
        mobilenumber varchar(30) null,         --手机号码
        email varchar(50) null,                  --E-mail地址
        QQ varchar(50) null,                    -- QQ号
        other text null,                          --其它信息(备注)
        loginnum smallint default 0,            --来访次数
        constraint pk_member primary key clustered (memberid)
        )

索引:

        create index member_membername on member(membername)

7、职务

    create table mem_kind (
        assignid tinyint not null identity(1,1),  --职务编号
        assignname varchar(30) not null,        --职务名称
        constraint pk_mem_kind primary key clustered (assignid)
        )

    初始值:

        insert into mem_kind (assignname) values ('正处级')
        insert into mem_kind (assignname) values ('副处级')
        insert into mem_kind (assignname) values ('科级')
        insert into mem_kind (assignname) values ('副科级')
        insert into mem_kind (assignname) values ('科员')
        insert into mem_kind (assignname) values ('办事员')

8、其它信息

    create table mem_depart (
        memberid varchar(15) not null,               --人员编号
        departid int not null,                          --科室(分局、中心)编号
        assignid tinyint not null,                      --职务类别
        register datetime not null default getdate(),  --注册时间
        constraint pk_mem_depart primary key clustered (memberid,departid)
        )

    索引:

        create index mem_depart_memid on mem_depart(memberid)
        create index mem_depart_departid on mem_depart(departid)


9、留言簿

    create table message (
        messageid int not null identity(1,1),         --信息编号
        memberid varchar(15) not null,              --留言人员
        targetid varchar(15) not null,                 --目标人员
        message varchar(1000) null,                  --信息内容
        addtime datetime not null default getdate(),  --留言时间
        looked bit not null default 0,                  --已经看过
        constraint pk_message primary key clustered (messageid)
        )

    索引:

        create index message_memberid on message(memberid)
        create index message_targetid on message(targetid)

标签:国税,数据库,通讯录
0
投稿

猜你喜欢

  • web程序员的思考

    2009-08-04 13:10:00
  • CSS Shadow Practice

    2009-04-01 18:37:00
  • 网页中插入视频播放代码全集

    2007-10-22 17:48:00
  • ActionScript3.0是革命性的

    2008-05-01 12:36:00
  • 揭开HTML 5工作草稿的神秘面纱

    2008-02-13 08:25:00
  • js和asp操作fso比较

    2007-09-23 09:17:00
  • Apple在Safari 4中抛弃品牌视觉设计

    2009-02-26 13:05:00
  • dl,dt,dd标签 VS 传统table实现数据列表

    2009-08-02 20:45:00
  • PHP使用laravel邮件服务发送邮件

    2023-05-25 03:48:23
  • plsql和tsql常用函数比对

    2009-09-13 17:50:00
  • 完美的渐变透明效果,支持Firefox

    2008-06-18 18:18:00
  • 网页设计十大诀窍

    2007-10-19 13:03:00
  • 【JavaScript实用系列】-- 胖页面载入效果

    2009-10-19 22:48:00
  • [翻译]标记语言和样式手册 Chapter 12 CSS布局

    2008-02-13 14:19:00
  • PSD to CSS —— CSS布局实战新概念系列教程

    2009-05-30 16:40:00
  • Task List 管理任务JavaScript源码

    2010-01-22 15:43:00
  • asp 各种进制转换函数

    2008-06-24 12:35:00
  • 详细讲解MySQL数据库对文件操作的封装

    2008-12-17 16:08:00
  • 用asp给网站添加rss聚合功能

    2007-11-05 19:08:00
  • ASP正则获取图片地址

    2009-09-03 13:18:00
  • asp之家 网络编程 m.aspxhome.com