您的位置:首页 > 数据库

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

2006-09-19 13:38 357 查看
Author:水如烟

总目录:行政区划数据方案设计
上一篇,行政区划数据数据库的设计(一)

在具体设计数据库之前,我们应该先熟悉“数据对象”的特性。在这里,面对的数据对象就是区划码,它的格式如下:

六位数字名称
如:
340302 东市区

它的特性如何?它是国家的权威性的数据,由不得我们人为的臆想,所以必须寻求权威性的也就是权威发布机构的说明。就算里面的数据是错的,对于我们使用方来说,也须忠实的使用“错误”数据。

那几个版本的数据我都看了,也比较了更改过名称的数据,一部分是更名,一部分它真是修正了前期版本的名称。

更名部分还有一种情形,就是两个字的,只是中间空格数不一样。这种情形我进行了处理。在下载网上数据后,凡名称字串里有空格的,在写入本地数据库前,都去掉。


Private Sub AddRow(ByVal table As DataTable, ByVal line As String)
line = line.Trim
If line.Length < 7 Then Exit Sub

Dim tmpCode As String
Dim tmpName As String

tmpCode = line.Substring(0, 6)
tmpName = line.Substring(6).Trim

If Not IsNumeric(tmpCode) Then Exit Sub '前六位需是数字

'去掉名称中间的空格
table.Rows.Add(New String() {tmpCode, tmpName.Replace(" ", "")})
End Sub



六位数字的区划码相关规约有:
关于印发《关于统计上对全国行政区划代码编制、使用和管理的暂行规定》的通知》
中华人民共和国行政区划代码》国家标准(GB 2260-1995)

代码结构:



我还是比较了数据,发现:
首组,代表省;
中组,其中01-20、51-99表示省直辖市,21-50表示地区(州、盟);
尾组,01-20表示市辖区或地辖区,21-80表示县(旗),81-99表示省直辖县级市。

在设计数据库时,我考虑了这种动态定义。如果自己理解不对,可以修改。

这篇简单说了设计前的基本的准备工作,确定了设计中应把握的基本原则。
下篇转入技术上的设计。
下一篇,行政区划数据数据库的设计(三)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: