分享
 
 
 

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

王朝other·作者佚名  2006-09-21
窄屏简体版  字體: |||超大  

Author:水如烟

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

我以前从来不说,只写代码,就算也有“系列”的,也全是代码的。基础差,脑袋中没几个专用术语,所以是“说”的话会误导读者,特别担心会误导初学者。所以一再强调“仅供参考”。别信我说的,但可以参考我的思维方法。

写这个“系列”,一是可以总结一下自己的数据库设计方面的“想法”,二是代码贴在自己的BLOG上当作备份,三呢从头到尾的写出来,给初学者了解一个解决方案的大概过程。

文字的排版方面我不大热心,以后找个时间熟悉一下吧。现在只是多用换行,尽量的使界面清晰一些。

转到“说”技术,真头疼了。我不能边从MSDN上找术语边说,只能用自己的“术语”了。

我只说自己的做法,不跟别的方法进行对比,对比方法优劣不是我的能力所及。我甚至不知道如何有效使用索引。

整个数据库的设计核心是引入了“稳定数据日期”概念。所有的函数包括存储过程都围绕这个“稳定数据日期”进行操作。

如果不了解这个概念,就不容易读懂这个数据库设计。或许专业设计上已有这种模式,但是我不知道,所以下面还是说自己的。

一项数据,在一定的时间内它的属性值(有意义的字段值)如果相对的稳定,并且要反映不同时期它的属性值,就可以引入这个概念。

除了这里的区划码数据适合这种情形,日常中还有职员的岗位变动、考核的参照标准等等,在法津上约定的还有职员的年龄退休年限、工龄退休年限、个税基数等等。适用范围很广。

针对这种数据的“稳定数据日期”,定义为8位的nvarchar,通常的日期转换为八位数字串,如“2006-9-19”转换为“20060919”。它具有一个默认值,“Current”。

“Currnet”总影射到最近的时间,比如我现在要查2008年8月8日的数据,虽然实际时间还没到,它还是一样的起作用,指向了2008年8月8日的数据。

凡使用这个概念的表,它都有两个字段,如图中所示的“截止日期”和“起始日期”,这两个字段的类型都是“稳定数据日期”类型。这种表至少有一个约束,指定“截止日期”不小于“起始日期”。

“起始日期”表示这项数据自这个日期起生效;“截止日期”表示这项数据生效的最后日期。如果“截止日期”值是“Current”,那么它适用到现在,并且随时间推移一直生效下去。

这种数据具有时间顺序的强制性。如果表中记录已存在起始日期为20060101的数据,再插入或修改2005年的数据,那是不充许的,也不会成功。

这种表由“截止日期”和数据的特定外键组成主键,保证某一时间内(日期范围)它的记录项是唯一的。

当某一数据变动了,如果表中有相应的特定记录,它将相应记录载止日期为“Current”的记录进行修改,把载止日期的值改为最新数据的起始日期的前一天;表中存在还是不存在的相应记录,最后都插入一条新记录,新记录的截止日期值为默认值,也就是“Current”。

当某一属性在某一时间之后停止使用了,将相应记录载止日期的“Current”值修改为截止有效日期。那样,查询该日期之后日期的数据中,不会再有反映这个属性的数据。其实质是取消了该记录的“Current”影射。

在这里,区划码的数据最旧的起始日期为20020331,所以只能查自2002年3月31日起的数据,再前的查不到了。所以初始化数据库时,应考虑把它延后至某一个日期,比如19491001,不过那时香港还不是特别行政区哪。

这篇介绍了数据库设计的核心,是引入了“稳定数据日期”概念。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有