· 9 years ago · Oct 03, 2016, 10:56 AM
1USE master
2GO
3
4IF EXISTS (
5 SELECT name
6 FROM sys.databases
7 WHERE name = N'Uliana_lab1'
8)
9ALTER DATABASE [Uliana_lab1] set single_user with rollback immediate
10GO
11
12IF EXISTS (
13 SELECT name
14 FROM sys.databases
15 WHERE name = N'Uliana_lab1'
16)
17DROP DATABASE [Uliana_lab1]
18GO
19
20CREATE DATABASE [Uliana_lab1]
21GO
22
23USE [Uliana_lab1]
24GO
25
26IF EXISTS(
27 SELECT *
28 FROM sys.schemas
29 WHERE name = N'Kvashnina1'
30)
31 DROP SCHEMA Kvashnina1
32GO
33
34
35CREATE SCHEMA Kvashnina1
36GO
37
38
39IF OBJECT_ID('[Uliana_lab1].Kvashnina1.izm', 'U') IS NOT NULL
40 DROP TABLE [Uliana_lab1].Kvashnina1.izm
41GO
42
43
44CREATE TABLE [Uliana_lab1].Kvashnina1.izm
45(
46 Name VARCHAR(40) NULL,
47 Izmer VARCHAR(40) NULL,
48)
49GO
50
51 INSERT INTO [Uliana_lab1].Kvashnina1.izm
52 (Name,Izmer)
53 VALUES
54 ( N'Temperature', N'ЦельÑий')
55 ,(N'Humidity', N'Проценты')
56 ,(N'Pressure', N'ММ ртутного Ñтолба')
57 ,(N'Direction', N'ЧаÑть Ñвета')
58 ,(N'Speed', N'Км.ч')
59 ,(N'Precipitation', N'мм')
60 ,(N'RAdiation', N'ÑÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ð´Ð¾Ð·Ð°')
61GO
62
63
64IF OBJECT_ID('[Uliana_lab1].Kvashnina1.station', 'U') IS NOT NULL
65 DROP TABLE [Uliana_lab1].Kvashnina1.station
66GO
67
68
69CREATE TABLE [Uliana_lab1].Kvashnina1.station
70(
71 NameStation varchar(40) NULL,
72)
73GO
74
75 INSERT INTO [Uliana_lab1].Kvashnina1.station
76 (NameStation)
77 VALUES
78 ( N'Им.Ð.Т.КренкелÑ,ГМО')
79 ,( N'ОÑтров_Визе')
80 ,( N'ГоломÑнный')
81 ,( N'Баренцбург')
82 ,( N'РуÑÑкий')
83 ,( N'Им.Е.К.Федорова,ГМО')
84 ,( N'мыÑ_Ð–ÐµÐ»Ð°Ð½Ð¸Ñ ')
85 ,( N'Стерлегова')
86 ,( N'ОÑтров_ДикÑон')
87GO
88
89
90CREATE TABLE [Uliana_lab1].Kvashnina1.measure
91(
92 idSt tinyint NOT NULL,
93 idIz tinyint NOT NULL,
94 Date_Iz nvarchar(40) NULL,
95 Number tinyint DEFAULT (3) NOT NULL,
96 CONSTRAINT PK_NumberGroup PRIMARY KEY (NumberGroup)
97)
98GO
99SELECT * From [Uliana_lab1].Kvashnina1.station
100
101SELECT * From [Uliana_lab1].Kvashnina1.izm
102/*СОЗДÐЕМ Ð’ БÐЗЕ ДÐÐÐЫХ [ИМЯ БÐЗЫ] Ð’ СХЕМЕ С ИМЕÐЕМ
103 Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ Ð¢ÐБЛИЦУ ut_students С ТРЕМЯ ТЕКСТОВЫМИ ПОЛЯМИ
104 И ПЕРВИЧÐЫМ КЛЮЧОМ (PRIMARY KEY),
105 ГДЕ PK_NumberZach - ИМЯ КЛЮЧÐ, Ð NumberZach - ИМЯ КЛЮЧЕВОГО ПОЛЯ*/
106
107/*ALTER TABLE [Uliana_lab1].Kvashnina.ut_students ADD
108 NumberGroup tinyint null,
109 Kurs char(1) null
110 GO
111
112ALTER TABLE [Uliana_lab1].Kvashnina.ut_students ADD
113 Birthday date null
114GO
115
116ALTER TABLE [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
117ALTER COLUMN Birthday date NOT NULL
118GO*/
119
120/*СУЩЕСТВУЮЩИЕ ОБЪЕКТЫ БÐЗЫ ДÐÐÐЫХ МОЖÐО ИЗМЕÐЯТЬ С ПОМОЩЬЮ
121ИÐСТРУКЦИИ ALTER (ИМЯ ОБЪЕКТÐ) */
122
123
124--DROP TABLE [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
125--GO
126
127/*УДÐЛЕÐИЕ ОБЪЕКТРТÐБЛИЦЫ ИЗ БÐЗЫ ДÐÐÐЫХ */
128
129CREATE TABLE [Uliana_lab1].Kvashnina.ut_nameGroup
130(
131 NumberGroup tinyint NOT NULL,
132 NameGroup nvarchar(40) NULL,
133 Kurs tinyint DEFAULT (3) NOT NULL,
134 CONSTRAINT PK_NumberGroup PRIMARY KEY (NumberGroup)
135)
136GO
137
138/*СОЗДÐЕМ Ð’ БÐЗЕ ДÐÐÐЫХ [ИМЯ БÐЗЫ] Ð’ СХЕМЕ С ИМЕÐЕМ
139 Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ Ð¢ÐБЛИЦУ ut_nameGroup С ТЕКСТОВЫМ ПОЛЯМ И ДВУМЯ ЦЕЛОЧИСЛЕÐÐЫМИ
140 ПОЛЯМИ. ОДÐО ПОЛЕ ДЕЛÐЕМ ИДЕÐТИФИКÐТОРОМ, Ð’ ДРУГОЕ ПОЛЕ Ð’ÐОСИМ ЗÐÐЧЕÐИЕ
141 ПО УМОЛЧЕÐИЮ. СОЗДÐЕМ ПЕРВИЧÐЫЙ КЛЮЧ (PRIMARY KEY),
142 ГДЕ PK_NumberGroup - ИМЯ КЛЮЧÐ, Ð NumberGroup - ИМЯ КЛЮЧЕВОГО ПОЛЯ*/
143
144ALTER TABLE [ИМЯ БÐЗЫ].ФамилиÑ.ut_students ADD
145 CONSTRAINT FK_NameGroup FOREIGN KEY (NumberGroup)
146 REFERENCES [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup(NumberGroup)
147 ON UPDATE CASCADE
148GO
149 /*СОЗДÐЕМ Ð’ ТÐБЛИЦЕ ut_students Ð’ÐЕШÐИЙ КЛЮЧ (FOREIGN KEY)
150 С ИМЕÐЕМ FK_NameGroup, СВЯЗЫВÐЮЩИЙ ПОЛЕ NumberGroup ТÐБЛИЦЫ ut_students
151 С ПОЛЕМ NumberGroup ТÐБЛИЦЫ ut_nameGroup. СВЯЗЬ МÐОГИЕ-К-ОДÐОМУ.
152 Ð’ÐЕШÐИЙ КЛЮЧ СОЗДÐЕМ С ПОМОЩЬЮ ИÐСТРУКЦИИ ALTER TABLE,
153 ПОСКОЛЬКУ ÐÐРУШЕÐРОЧЕРЕДÐОСТЬ СОЗДÐÐИЯ ТÐБЛИЦ*/
154
155 ALTER TABLE [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup ADD
156 CONSTRAINT CK_Kurs
157 CHECK (Kurs>0 and Kurs<=6)
158GO
159/*УСТÐÐÐВЛИВÐЕМ ОГРÐÐИЧЕÐИЕ (CHECK) Ð’ ТÐБЛИЦЕ ut_nameGroup ÐРПОЛЕ Kurs.
160 CK_Kurs - ИМЯ ОГРÐÐИЧЕÐИЯ*/
161
162 INSERT INTO [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup
163 (NumberGroup,NameGroup)
164 VALUES
165 (1,N'КÐ-301')
166 ,(2,N'КÐ-303')
167 ,(3,N'КБ-301')
168GO
169/*Ð’ÐОСИМ ДÐÐÐЫЕ Ð’ ТÐБЛИЦУ ut_nameGroup ТОЛЬКО Ð’ ДВРПОЛЕ
170 ПОЛЕ Kurs ЗÐПОЛÐЯЕТСЯ ÐВТОМÐТИЧЕСКИ*/
171
172SELECT * From [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup
173--ПРОСМÐТРИВÐЕМ СОДЕРЖИМОЕ ТÐБЛИЦЫ ut_nameGroup
174
175
176INSERT INTO [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
177 VALUES
178 ('095811',N'Сергеев',N'Петр',2,3,'19950924')
179 , ('095812',N'Петров',N'Сергей',1,3,'19960924')
180
181 /*Ð’ÐОСИМ ДÐÐÐЫЕ Ð’ ТÐБЛИЦУ ut_students,
182 ПОСКОЛЬКУ ЗÐПОЛÐЯЮТСЯ ВСЕ ПОЛЯ, ПИШУТЬСЯ ТОЛЬКО ДÐÐÐЫЕ
183 Ð’ ПОРЯДКЕ СЛЕДОВÐÐИЯ ПОЛЕЙ Ð’ ТÐБЛИЦЕ.
184 ОБРÐТИТЕ Ð’ÐИМÐÐИЕ ÐРВВОД ДÐТЫ!!! */
185
186SELECT * From [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
187--ПРОСМÐТРИВÐЕМ СОДЕРЖИМОЕ ТÐБЛИЦЫ ut_students
188
189--DELETE FROM [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
190/*УДÐЛЯЕМ ВСЕ ДÐÐÐЫЕ ИЗ ТÐБЛИЦЫ ut_students.
191СÐМРТÐБЛИЦРОСТÐЕТСЯ Ð’ БÐЗЕ ДÐÐÐЫХ*/
192
193UPDATE [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup
194SET NumberGroup = 7 where NumberGroup =2
195
196--ПРОВЕРЯЕМ ОГРÐÐИЧЕÐИЕ ON UPDATE CASCADE
197
198SELECT * From [ИМЯ БÐЗЫ].ФамилиÑ.ut_nameGroup
199--ПРОСМÐТРИВÐЕМ СОДЕРЖИМОЕ ТÐБЛИЦЫ ut_nameGroup
200
201SELECT * From [ИМЯ БÐЗЫ].ФамилиÑ.ut_students
202--ПРОСМÐТРИВÐЕМ СОДЕРЖИМОЕ ТÐБЛИЦЫ ut_students