原文 基于Sql Server 2008的分布式数据库的实践(四)

数据库设计

1.E-R图

2.数据库创建

Win 7

1
create database V3

  

Win 2003

1
create database V3

  

3.数据表设计

Win7 创建数据表student_7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
create table student_7
(
    sid int not null,
    sex nvarchar(1) not null,
    sname varchar(20) not null,
    school varchar(20) not null,
    scount varchar(20) not null,
    spwd varchar(20) not null,
    constraint pk_student_7
    primary key(sid,sex),
    constraint uq_student_7_scount
    unique(scount),
    constraint chk_student_7_sex
    check(sex='1')
)

Check(sex=1)指明存放sex=1的数据,即女生。

Win2003 创建数据表student_2003

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
create table student_2003
(
    sid int not null,
    sex nvarchar(1) not null,
    sname varchar(20) not null,
    school varchar(20) not null,
    scount varchar(20) not null,
    spwd varchar(20) not null,
    constraint pk_student_2003
    primary key(sid,sex),
    constraint uq_student_2003_scount
    unique(scount),
    constraint chk_student_2003_sex
    check(sex='0')
)

Check(sex=0)指明存放sex=0的数据,即男生。

Win7 创建视图V3_student

1
2
3
4
5
create view V3_student
as
select * from student_7
union all
select * from [192.168.116.130].[V3].[dbo].[student_2003]

Win2003 创建视图V3_student

1
2
3
4
5
create view V3_student
as
select * from student_2003
union all
select * from [192.168.233.1].[V3].[dbo].[student_7]

student水平分片数据表已经建立,现在可以在任何位置,只要访问本地V3_student分布式分区视图,就实现了所有分布式数据库的操作。此时,对数据库的全局操作和局部操作就如同操作本地集中式数据库一样。

-----------------------------------------------------------------------------------------------------------------

Win7创建数据表teacher

1
2
3
4
5
6
7
8
9
10
11
12
create table teacher
(
    tid int not null,
    tname varchar(20) not null,
tage int not null,
tsex int not null,
    tcount varchar(20) not null,
    tpwd varchar(20) not null,
tsuper int not null,
    primary key(tid),
    unique(tcount)
)

Win2003创建数据表teacher

1
2
3
4
5
6
7
8
create table teacher
(
    tid int not null,
nowage int not null,
tel char(20) not null,
address varchar(80) not null,
    primary key(tid)
)

Win7 创建存储过程V3_teacher

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
create proc V3_teacher
(
@tid int,
@tname varchar(20),
@tage int,
@tsex int,
@tcount varchar(20),
@tpwd varchar(20),
@super int,
@nowage int ,
@tel char(20) ,
@address varchar(80)
)
as
set XACT_ABORT on
BEGIN DISTRIBUTED TRANSACTION
insert into teacher
values(@tid,@tname,@tage,@tsex,@tcount,@tpwd,@super);
insert into [192.168.116.130].[V3].[dbo].[teacher]
values(@tid,@nowage,@tel,@address);
COMMIT TRANSACTION

采用存储过程实现垂直分片。此时插入数据之后,将分别插入到不同地址上的SQL Serverteacher的数据表里面。

-----------------------------------------------------------------------------------------------------------------

Win7创建数据表class

1
2
3
4
5
6
7
8
9
create table class
(
    cid int not null,
    sid int not null,
tid int not null,
cname varchar(20) not null,
    score int not null,
    primary key(cid,sid)
)

本地数据表。

-----------------------------------------------------------------------------------------------------------------

Win 7:

Win2003:

4.程序代码测试

水平分片测试

垂直分片测试

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3459836.html

基于Sql Server 2008的分布式数据库的实践(四)的更多相关文章

  1. 基于Sql Server 2008的分布式数据库的实践(五)

    原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...

  2. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  3. 基于Sql Server 2008的分布式数据库的实践(二)

    原文 基于Sql Server 2008的分布式数据库的实践(二) 从Win7连接Win2003的Sql Server 2008 1.新建链接服务器链接到Win2003的Sql Server 2008 ...

  4. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  5. 基于Sql Server 2008的分布式数据库的实践(终结)

    学习.操作心得 以前在做网站程序的时候一直用的是MYSQL,但是网上搜到MYSQL不支持分布式操作,然后便开始查询MSSQL的分布式数据库的设计与操作,后来在网上找到了<基于SQL SERVER ...

  6. 基于Sql Server 2008的分布式数据库的实践

    配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择“属性”.左侧选择“安全性”,选中右侧的“SQL Server 和 ...

  7. 基于SQL Server 2008 Service Broker构建企业级消息系统

    注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroke ...

  8. SQL SERVER 2008 R2 还原数据库3154错误

    1.SQL SERVER 2008 在还原数据库时,会报错. 提示错误:"备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异常终止. (Micro ...

  9. SQL Server 2008 R2 主从数据库同步

    一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...

随机推荐

  1. Linux中fork()函数详解(转)

    一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同, ...

  2. AngularJS Factory Service Provider

    先看看http://www.cnblogs.com/mbydzyr/p/3460501.html http://www.oschina.net/translate/angularjs-factory- ...

  3. tomcat应用转到weblogic上时的问题

    昨天将一个tomcat环境下调试通过的报表demo应用发布到weblogic上做测试,结果发现好多问题.总结了一下,主要有这么几点: 1.使用log4j的问题. tomcat应用直接发布到weblog ...

  4. 读书笔记: 深入浅出node.js

    >> 深入浅出node.js node.js是c++编写的js运行环境 浏览器: 渲染引擎 + js引擎 后端的js运行环境 node.js用google v8引擎,同时提供很多系统级的A ...

  5. artdialog的图片,标题,以及关闭按钮不显示的问题

    因其它css样式文件中包含“div{ overflow:hidden; }”引起的artdialog的图片,标题,以及关闭按钮不显示的问题: 如下图: 解决办法:在artdialog的样式文件顶部添加 ...

  6. Jetty 8.1 安装 运行 部署

    链接地址:http://blog.csdn.net/lego2816/article/details/42650545 Java + MySQL 从Jfinal开始,第一步先走完整个流程,主要是发布部 ...

  7. 再谈协方差矩阵之主成分分析PCA

    上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Co ...

  8. __call重载方法

    <?php class Person { function du() { echo "这是一个存在的方法"; } //该方法有两个参数,第一个参数 $function_nam ...

  9. [LeetCode]题解(python):023-Merge k Sorted Lists

    题目来源: https://leetcode.com/problems/merge-k-sorted-lists/ 题意分析: 给定k个有序的链表,将这些链表整合成一个新的有序链表. 题目思路: 前面 ...

  10. 我的Python成长之路---第八天---Python基础(25)---2016年3月5日(晴)

    多进程 multiprocessing模块 multiprocessing模块提供了一个Process类来代表一个进程对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...