分布式数据库的设计与实现 100songguozhi]

发布时间:2017-5-29 2:47:23 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"分布式数据库的设计与实现 100songguozhi]",主要涉及到分布式数据库的设计与实现 100songguozhi]方面的内容,对于分布式数据库的设计与实现 100songguozhi]感兴趣的同学可以参考一下。

现在需要有一个数据库的分布式方案,分布为国家-省-市-县;数据存放于省级数据中心、国家需要对各省的整个数据进行统计分析 我看了一些理论的东西,但是真正的设计与实现还没有一点眉目? 大家有经验的分享下

这个可以设计成BOM结构 --参考 --测试数据   深度排序        DECLARE   @t   TABLE(ID   char(3),PID   char(3),Name   nvarchar(10))      INSERT   @t   SELECT   '001',NULL   ,'山东省'      UNION   ALL   SELECT   '002','001','烟台市'      UNION   ALL   SELECT   '004','002','招远市'      UNION   ALL   SELECT   '003','001','青岛市'      UNION   ALL   SELECT   '005',NULL   ,'四会市'      UNION   ALL   SELECT   '006','005','清远市'      UNION   ALL   SELECT   '007','006','小分市'           --深度排序显示处理      --生成每个节点的编码累计(相同当单编号法的编码)      DECLARE   @t_Level   TABLE(ID   char(3),Level   int,Sort   varchar(8000))      DECLARE   @Level   int      SET   @Level=0      INSERT   @t_Level   SELECT   ID,@Level,ID      FROM   @t      WHERE   PID   IS   NULL      WHILE   @@ROWCOUNT>0      BEGIN      SET   @[email protected]+1      INSERT   @t_Level   SELECT   a.ID,@Level,b.Sort+a.ID      FROM   @t   a,@t_Level   b      WHERE   a.PID=b.ID      AND   [email protected]      END           --显示结果      SELECT   a.*      FROM   @t   a,@t_Level   b      WHERE   a.ID=b.ID      ORDER   BY   b.Sort      /*--结果      ID       PID       Name                    ------   ---------   ----------        001     NULL   山东省      002     001       烟台市      004     002       招远市      003     001       青岛市      005     NULL   四会市      006     005       清远市      007     006       小分市      --*/ --查询指定节点及其所有子节点的函数      CREATE   FUNCTION   f_Cid(@ID   char(3))      RETURNS   @t_Level   TABLE(ID   char(3),Level   int)      AS      BEGIN      DECLARE   @Level   int      SET   @Level=1      INSERT   @t_Level   SELECT   @ID,@Level      WHILE   @@ROWCOUNT>0      BEGIN      SET   @[email protected]+1      INSERT   @t_Level   SELECT   a.ID,@Level      FROM   tb   a,@t_Level   b      WHERE   a.PID=b.ID      AND   [email protected]      END      RETURN      END      GO           --调用函数查询002及其所有子节点      SELECT   a.*      FROM   tb   a,f_Cid('002')   b      WHERE   a.ID=b.ID      /*--结果      ID       PID     Name                    ------   -------   ----------        002     001     烟台市      004     002     招远市      --*/   --测试数据 DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10)) INSERT @t SELECT '001',NULL ,'山东省' UNION ALL SELECT '002','001','烟台市' UNION ALL SELECT '004','002','招远市' UNION ALL SELECT '003','001','青岛市' UNION ALL SELECT '005',NULL ,'四会市' UNION ALL SELECT '006','005','清远市' UNION ALL SELECT '007','006','小分市' --深度排序显示处理 --生成每个节点的编码累计(相同当单编号法的编码) DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000)) DECLARE @Level int SET @Level=0 INSERT @t_Level SELECT ID,@Level,ID FROM @t WHERE PID IS NULL WHILE @@ROWCOUNT>0 BEGIN     SET @[email protected]+1     INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID     FROM @t a,@t_Level b     WHERE a.PID=b.ID         AND [email protected] END --显示结果 SELECT SPACE(b.Level*2)+'|--'+a.Name FROM @t a,@t_Level b WHERE a.ID=b.ID ORDER BY b.Sort /*--结果 |--山东省   |--烟台市     |--招远市   |--青岛市 |--四会市   |--清远市     |--小分市 --*/

引用楼主 songguozhi 的回复:现在需要有一个数据库的分布式方案,分布为国家-省-市-县;数据存放于省级数据中心、国家需要对各省的整个数据进行统计分析 我看了一些理论的东西,但是真正的设计与实现还没有一点眉目? 大家有经验的分享下 你按照国家统一的行政编码进行数据的管理就行了. http://www.ahip.cn/tsg/zyly/xzqdm.htm GB2260中华人民共和国行政区划代码

另外,各省需要将数据定时上报到你所谓的国家信息中心.

学习中.........

引用 2 楼 dawugui 的回复:引用楼主 songguozhi 的回复: 现在需要有一个数据库的分布式方案,分布为国家-省-市-县;数据存放于省级数据中心、国家需要对各省的整个数据进行统计分析 我看了一些理论的东西,但是真正的设计与实现还没有一点眉目? 大家有经验的分享下 你按照国家统一的行政编码进行数据的管理就行了. http://www.ahip.cn/tsg/zyly/xzqdm.htm GB2260中华人民共和国行政区划代码 我之前没有这方面的经验,不知道如何下手,也不知道需要哪些技术

数据集成,数据同步

引用 1 楼 fredrickhu 的回复:SQL code这个可以设计成BOM结构--参考 --测试数据   [email protected](IDchar(3),PIDchar(3),Namenvarchar(10))[email protected]'001',NULL   ,'山东省'UNIONALLSELECT'002','001','烟台市'UNIONALLSELECT'004','002','招远市'UNIONALLSELECT?- 貌似跑題了

分布式数据库?学习。

乌龟可以分享这方面的经验

期待。 貌似有什么水平分布,垂直分布这东西吧。

期待乌龟大侠出手

帮顶 !

你这个应该建立水平式分布,按照国家数据管理规定建立. 你可以看看下面的例子,为水平式分布和垂直分布: 比如学生表student: --------------------- 该数据位于A: id  name  class 1   a1    c1 2   a2    c2 3   a3    c3 该数据位于B: id  name  class 4   a4    c4 5   a5    c5 6   a6    c6 以上为水平式分布 --------------------------- id  name  class 1   a1  |  c1 2   a2  |  c2 3   a3  |  c3 4   a4  |  c4 5   a5  |  c5 6   a6  |  c6 左边位于A,右边位于B,这就是垂直分布。 以上只是一个个人见解。

无头无脑的事情,难啊1!

该回复于2011-10-11 11:31:31被版主删除

上一篇:新手求助 40ft0751]
下一篇:数据库事表联表临表命名规则 30jichunfeng]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。