行政区划数据数据库的设计(六)

博主水如烟在文章中讨论了行政区划数据数据库设计中的附属表,特别是行政区级别和类型。根据规约,行政区分为三级,设计了两个基础表并初始化数据,增加了‘未知’项以应对不确定情况。此外,定义了函数和存储过程用于查询区划码对应的类型ID,并通过存储过程进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ]

 

 

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_行政区类型_行政区级别 ]

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值