博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分区视图(转载)
阅读量:7199 次
发布时间:2019-06-29

本文共 3690 字,大约阅读时间需要 12 分钟。

分区视图:分区视图是通过对成员表使用union all所定义的视图

这些成员的结构相同,一般情况下,为分区视图具有如下语法:
create view vie_name
with schemabinding
as
select <select_list1>
from t1
union all

select <select_list2>

from t2
union all
..
select <select_listn>
from tn

分区视图的作用:用在一台或多台服务器水平连接一组成员表中的分区数据
使数据看起来就像来自一个表

 

CREATE TABLE China_student_qinghua    -- 清华大学学生信息表

( sc_no  INT   NOT NULL CHECK(sc_no=1), -- 清华大学的编号规定为1
 sc_name  varchar(50) NOT NULL CHECK(sc_name='清华大学'),
s_no   char(8),
s_name   char(8)   NOT NULL,
s_sex   char(2)   CHECK(s_sex = '男' OR s_sex = '女'),
s_birthday  smalldatetime CHECK(s_birthday>='1970-1-1' AND s_birthday<='2000-1-1'),
s_speciality  varchar(50)  DEFAULT  '计算机软件与理论',
s_avgrade  numeric(3,1)  CHECK(s_avgrade >= 0 AND s_avgrade <= 100),
s_dept   varchar(50)  DEFAULT  '计算机科学系',
CONSTRAINT sc_no_and_s_no1 PRIMARY KEY(sc_no, s_no)   -- 定义主键约束
);

CREATE TABLE China_student_zhejiang_university    -- 浙江大学学生信息表

( sc_no  INT   NOT NULL CHECK(sc_no=2),  -- 浙江大学的编号规定为
 sc_name  varchar(50) NOT NULL CHECK(sc_name ='浙江大学'),
s_no   char(8),
s_name   char(8)   NOT NULL,
s_sex   char(2)   CHECK(s_sex = '男' OR s_sex = '女'),
s_birthday  smalldatetime CHECK(s_birthday>='1970-1-1' AND s_birthday<='2000-1-1'),
s_speciality  varchar(50)  DEFAULT  '计算机软件与理论',
s_avgrade  numeric(3,1)  CHECK(s_avgrade >= 0 AND s_avgrade <= 100),
s_dept   varchar(50)  DEFAULT  '计算机科学系',
CONSTRAINT sc_no_and_s_no2 PRIMARY KEY(sc_no, s_no)   -- 定义主键约束
);

CREATE TABLE China_student_wuhan_university    -- 武汉大学学生信息表

( sc_no  INT   NOT NULL CHECK(sc_no=3),  -- 武汉大学的编号规定为
 sc_name  varchar(50) NOT NULL CHECK(sc_name ='武汉大学'),
s_no   char(8),
s_name   char(8)   NOT NULL,
s_sex   char(2)   CHECK(s_sex = '男' OR s_sex = '女'),
s_birthday  smalldatetime CHECK(s_birthday>='1970-1-1' AND s_birthday<='2000-1-1'),
s_speciality  varchar(50)  DEFAULT  '计算机软件与理论',
s_avgrade  numeric(3,1)  CHECK(s_avgrade >= 0 AND s_avgrade <= 100),
s_dept   varchar(50)  DEFAULT  '计算机科学系',
CONSTRAINT sc_no_and_s_no3 PRIMARY KEY(sc_no, s_no)   -- 定义主键约束
);

 

 

CREATE VIEW China_student_view

AS
   SELECT * FROM MyDatabase.dbo.China_student_qinghua
UNION ALL
   SELECT * FROM MyDatabase.dbo.China_student_zhejiang_university
UNION ALL
   SELECT * FROM MyDatabase.dbo.China_student_wuhan_university;

 

-- 在Server1上创建的分布式分区视图

CREATE VIEW China_student_view
AS
   SELECT * FROM MyDatabase.dbo.China_student_qinghua
UNION ALL
   SELECT * FROM Server2.MyDatabase.dbo.China_student_zhejiang_university
UNION ALL
   SELECT * FROM Server3.MyDatabase.dbo.China_student_wuhan_university;
在多个服务器中的数据表
------------------------------------------------------------------------------------

--【说明】部分的代码:

-- 创建本地分区视图
CREATE VIEW China_student_view
AS
   SELECT * FROM MyDatabase.dbo.China_student_qinghua
UNION ALL
   SELECT * FROM MyDatabase.dbo.China_student_zhejiang_university
UNION ALL
   SELECT * FROM MyDatabase.dbo.China_student_wuhan_university;
--【例9.24】

INSERT INTO China_student_view VALUES(1,'清华大学','20060201','李好','男', '1987-1-1', '计算机应用技术', 94.5, '计算机系');
INSERT INTO China_student_view VALUES(1,'清华大学','20060203','王智高','男', '1986-12-25', '网络工程', 85.8, '信息工程系');
INSERT INTO China_student_view VALUES(2,'浙江大学','20060204','赵刚','男', '1988-7-1', '网络工程', 77.8, '信息工程系');
INSERT INTO China_student_view VALUES(2,'浙江大学','20060205','贾志','男', '1985-9-18', '计算机应用技术', 45.0, '计算机系');
INSERT INTO China_student_view VALUES(3,'武汉大学','20060206','丽思','女', '1984-8-1', '计算机应用技术', 61.3, '计算机系');
INSERT INTO China_student_view VALUES(3,'武汉大学','20060207','赵智远','男', '1983-11-2', '电子商务', 72.8, '电子商务系');

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

SELECT * FROM China_student_view;

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

 

SELECT * FROM China_student_qinghua;

SELECT * FROM China_student_zhejiang_university;
SELECT * FROM China_student_wuhan_university;

转载地址:http://potkm.baihongyu.com/

你可能感兴趣的文章
通宵疯狂积累VB.NET基础知识
查看>>
sql server字符集
查看>>
【ruby项目,语言提交检查(一)】怎样高速学习ruby ?
查看>>
javax.crypto.BadPaddingException: Given final block not properly padded解决方案
查看>>
sql相关问题
查看>>
#include<string.h>
查看>>
React(0.13) 定义一个动态的组件(函数作为动态的值)
查看>>
html5界面手机播放mp3
查看>>
如何跳转到其他APP(android)
查看>>
【Java】生成UUID
查看>>
雪球数据爬取上传数据库
查看>>
[jumping to the gate] 娱乐向setjmp
查看>>
图形化SQL JOIN
查看>>
racket
查看>>
ajax 异步 通信 小例子 servlet与 jsp异步 post方法
查看>>
JAVA学习笔记--字符串概述
查看>>
input 滑块功能range javascript方法使用
查看>>
第八次课后作业多态的一些问题
查看>>
[iOS]改变状态栏颜色
查看>>
Ruby 实现扫码二维码登录
查看>>