Author:水如烟
总目录:行政区划数据方案设计
上一篇,行政区划数据数据库的设计(五)
在上文中,实现了网上数据导入数据库。
不过上文中全部数据导入的过程,有一个环节是忽略了的,就是没有检查是不是原有的区划码全部有效,有没有中止“Current”影射的。我是想当然的认为,后期版本肯定全部继承前期版本的。事实可能这样,但设计和操作逻辑不允许这样的想当然。当然,现在知道了,以后再补漏也不为迟。
这篇说附属表,关于行政区类型。
根据规约的说明,行政区分为三级,分别是省、省直辖市和地区州盟、市地辖区和县旗及省直辖县级市。
按我的理解,分别建两个表,一是行政区级别,二是行政区类型。
USE
[
RegionalCodeWorks
]
GO
/* ***** 对象: Table [Base].[行政区级别] 脚本日期: 09/20/2006 22:44:35 ***** */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [ Base ] . [ 行政区级别 ] (
[ 级别ID ] [ smallint ] IDENTITY ( 0 , 1 ) NOT NULL ,
[ 级别 ] [ nchar ] ( 10 ) COLLATE Chinese_PRC_CI_AS NOT NULL ,
CONSTRAINT [ PK_行政区级别 ] PRIMARY KEY CLUSTERED
(
[ 级别ID ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ] ,
CONSTRAINT [ IX_行政区级别 ] UNIQUE NONCLUSTERED
(
[ 级别 ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ]
) ON [ PRIMARY ]
GO
/* ***** 对象: Table [Base].[行政区级别] 脚本日期: 09/20/2006 22:44:35 ***** */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [ Base ] . [ 行政区级别 ] (
[ 级别ID ] [ smallint ] IDENTITY ( 0 , 1 ) NOT NULL ,
[ 级别 ] [ nchar ] ( 10 ) COLLATE Chinese_PRC_CI_AS NOT NULL ,
CONSTRAINT [ PK_行政区级别 ] PRIMARY KEY CLUSTERED
(
[ 级别ID ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ] ,
CONSTRAINT [ IX_行政区级别 ] UNIQUE NONCLUSTERED
(
[ 级别 ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ]
) ON [ PRIMARY ]
USE
[
RegionalCodeWorks
]
GO
/* ***** 对象: Table [Base].[行政区类型] 脚本日期: 09/20/2006 22:45:34 ***** */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [ Base ] . [ 行政区类型 ] (
[ 类型ID ] [ smallint ] IDENTITY ( 0 , 1 ) NOT NULL ,
[ 类型 ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ 级别ID ] [ smallint ] NOT NULL ,
CONSTRAINT [ PK_行政区类型 ] PRIMARY KEY CLUSTERED
(
[ 类型ID ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ] ,
CONSTRAINT [ IX_行政区类型 ] UNIQUE NONCLUSTERED
(
[ 类型 ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ]
) ON [ PRIMARY ]
GO
ALTER TABLE [ Base ] . [ 行政区类型 ] WITH CHECK ADD CONSTRAINT [ FK_行政区类型_行政区级别 ] FOREIGN KEY ( [ 级别ID ] )
REFERENCES [ Base ] . [ 行政区级别 ] ( [ 级别ID ] )
GO
ALTER TABLE [ Base ] . [ 行政区类型 ] CHECK CONSTRAINT [ FK_行政区类型_行政区级别 ]
GO
/* ***** 对象: Table [Base].[行政区类型] 脚本日期: 09/20/2006 22:45:34 ***** */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [ Base ] . [ 行政区类型 ] (
[ 类型ID ] [ smallint ] IDENTITY ( 0 , 1 ) NOT NULL ,
[ 类型 ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ 级别ID ] [ smallint ] NOT NULL ,
CONSTRAINT [ PK_行政区类型 ] PRIMARY KEY CLUSTERED
(
[ 类型ID ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ] ,
CONSTRAINT [ IX_行政区类型 ] UNIQUE NONCLUSTERED
(
[ 类型 ] ASC
) WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON [ PRIMARY ]
) ON [ PRIMARY ]
GO
ALTER TABLE [ Base ] . [ 行政区类型 ] WITH CHECK ADD CONSTRAINT [ FK_行政区类型_行政区级别 ] FOREIGN KEY ( [ 级别ID ] )
REFERENCES [ Base ] . [ 行政区级别 ] ( [ 级别ID ] )
GO
ALTER TABLE [ Base ] . [ 行政区类型 ] CHECK CONSTRAINT [ FK_行政区类型_行政区级别 ]