Advertisement
Ladies_Man

#DB Lab13 (horizontal distr) COMPLETE

Dec 31st, 2015
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.65 KB | None | 0 0
  1. --Задание 13. Создание распределенных баз данных на основе секционированных представлений
  2.  
  3.  
  4. --1.Создать две базы данных на одном экземпляре СУБД SQL Server 2012.
  5. --2.Создать в базах данных п.1. горизонтально фрагментированные таблицы.
  6. --3.Создать секционированные представления, обеспечивающие работу с данными таблиц (выборку, вставку, изменение, удаление).
  7.  
  8.  
  9.  
  10. --1.Создать две базы данных на одном экземпляре СУБД SQL Server 2012.
  11. use master;
  12. go
  13. if DB_ID (N'lab13_1') is not null
  14.     drop database lab13_1;
  15. go
  16. create database lab13_1
  17. go
  18.  
  19.  
  20. use master;
  21. go
  22. if DB_ID (N'lab13_2') is not null
  23.     drop database lab13_2;
  24. go
  25. create database lab13_2
  26. go
  27.  
  28.  
  29.  
  30. --2.Создать в базах данных п.1. горизонтально фрагментированные таблицы.
  31. use lab13_1;
  32. go
  33. if OBJECT_ID(N'dbo.books', N'U') is not null
  34.     drop table dbo.books;
  35. go
  36. create table dbo.books (
  37.     id              int not null,
  38.     title           varchar(254),
  39.     writer          varchar(35),
  40.  
  41.     PRIMARY KEY (id),
  42.     CONSTRAINT CHK_books_id
  43.                 CHECK (id <= 5)
  44.     );
  45. go
  46.  
  47.  
  48. use lab13_2;
  49. go
  50. if OBJECT_ID(N'dbo.books', N'U') is not null
  51.     drop table dbo.books;
  52. go
  53. create table dbo.books (
  54.     id              int not null,
  55.     title           varchar(254),
  56.     writer          varchar(35),
  57.  
  58.     PRIMARY KEY (id),
  59.     CONSTRAINT CHK_books_id
  60.                 CHECK (id > 5)
  61.     );
  62. go
  63.  
  64.  
  65.  
  66. --3.Создать секционированные представления, обеспечивающие работу с данными таблиц
  67.     --(выборку, вставку, изменение, удаление).
  68. use lab13_1;
  69. go
  70. if OBJECT_ID(N'horizontal_dist_v', N'V') is not null
  71.     drop view horizontal_dist_v;
  72. go
  73. create view horizontal_dist_v as
  74.     select * from lab13_1.dbo.books
  75.     union all                  
  76.     select * from lab13_2.dbo.books
  77. go
  78.  
  79.  
  80.  
  81. insert horizontal_dist_v values
  82.     (1, 'the lord of the rings', 'john tolkien'),
  83.     (2, 'the hobbit, or there and back again', 'john tolkien'),
  84.     (3, 'the winds of winter', 'unknown'),
  85.     (6, 'a game of thrones', 'george martin'),
  86.     (10, 'a dream of spring', 'John Tolkien');
  87.  
  88. select * from horizontal_dist_v
  89.  
  90. update horizontal_dist_v
  91.     set writer = 'george martin'
  92.     where title like '%dream%'
  93.  
  94. delete horizontal_dist_v
  95.     where writer = 'unknown'
  96.  
  97. select * from lab13_1.dbo.books;
  98. select * from lab13_2.dbo.books;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement