基于Sql Server 2008的分布式数据库的实践(四)
原文 基于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 asselect * from student_7 union allselect * from [192.168.116.130].[V3].[dbo].[student_2003] |
Win2003 创建视图V3_student
|
1
2
3
4
5
|
create view V3_student asselect * from student_2003 union allselect * 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)) asset XACT_ABORT onBEGIN DISTRIBUTED TRANSACTIONinsert 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 Server的teacher的数据表里面。
-----------------------------------------------------------------------------------------------------------------
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的分布式数据库的实践(四)的更多相关文章
- 基于Sql Server 2008的分布式数据库的实践(五)
原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...
- 基于Sql Server 2008的分布式数据库的实践(三)
原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...
- 基于Sql Server 2008的分布式数据库的实践(二)
原文 基于Sql Server 2008的分布式数据库的实践(二) 从Win7连接Win2003的Sql Server 2008 1.新建链接服务器链接到Win2003的Sql Server 2008 ...
- 基于Sql Server 2008的分布式数据库的实践(一)
原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...
- 基于Sql Server 2008的分布式数据库的实践(终结)
学习.操作心得 以前在做网站程序的时候一直用的是MYSQL,但是网上搜到MYSQL不支持分布式操作,然后便开始查询MSSQL的分布式数据库的设计与操作,后来在网上找到了<基于SQL SERVER ...
- 基于Sql Server 2008的分布式数据库的实践
配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择“属性”.左侧选择“安全性”,选中右侧的“SQL Server 和 ...
- 基于SQL Server 2008 Service Broker构建企业级消息系统
注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroke ...
- SQL SERVER 2008 R2 还原数据库3154错误
1.SQL SERVER 2008 在还原数据库时,会报错. 提示错误:"备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异常终止. (Micro ...
- SQL Server 2008 R2 主从数据库同步
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
随机推荐
- perl5 第十三章 Perl的面向对象编程
第十三章 Perl的面向对象编程 by flamephoenix 一.模块简介二.Perl中的类三.创建类四.构造函数 实例变量 五.方法六.方法的输出七.方法的调用八.重载九.析构函数十.继承十一. ...
- Windows Azure 网站上的 WordPress 3.8
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 和 Windows Azure 网站开发人员体验合作伙伴共同撰写. WordPr ...
- 令人作呕的OpenSSL
在OpenSSL心脏出血之后,我相信非常多人都出了血,而且流了泪...网上瞬间出现了大量吐嘈OpenSSL的文章或段子,仿佛内心的窝火一瞬间被释放了出来,跟着这场疯闹,我也吐一下嘈,以雪这些年被Ope ...
- 关于var(string)++的类型自动转换
展示时间: var miao="50"; var fen="59"; var shi="00"; setInterval(fun, 1000 ...
- [译]Stairway to Integration Services Level 5 - 增量删除数据
在 dbo.Contact中添加一行记录 Use AdventureWorks go Insert Into dbo.Contact (FirstName, MiddleName, LastName, ...
- Oracle存储过程function语法及案例
create or replace function F01_SX03_SUM(statdate varchar2, code varchar2, para varchar2) RETURN numb ...
- 如何查看程序被哪个版本编译器编译的linux-gcc
如何查看程序被哪个版本编译器编译的linux-gcc http://bbs.csdn.net/topics/380000949 那是不可能的,除非你加入了调试信息,也就是编译的时候加入了-g参数,然后 ...
- 「C」 函数、运算、流程控制
一.函数 (一)什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”. (二)函数的定义 目的:将一个常用的功能封装起来,方 ...
- Java基础之编程语法(二)
1.常量: 整型:整数,4个字节. 长整型:整数,8个字节.以L结尾. 单精度浮点数:小数,4个字节.以F结尾. 双精度浮点数:小数,8个字节. 布尔:只有两个值,真(true)或假(false),1 ...
- IOS 隐藏键盘。
在View的UITextField中经常需要输入完文字后隐藏软键盘,要实现着一点要让View的Controller实现UITextFieldDelegate代理,然后编写相应的代码. #import ...