Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет_ОБД.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

Insert into persons values ('ivanov', 'ivan', 'ivanovich')

Insert into persons values ('petrov', 'petr', 'petrovich')

Insert into persons values ('sidorov', 'sidor', 'sidorovich')

/*

За допомогою команди INSERT таблиця PERSONS заповнюється значеннями. Оскільки перше поле таблиці має властивість IDENTITY, то значення для нього генеруються автоматично, а тому не вказуються в списку значень після ключового слова VALUE. При цьому після ім'я таблиці не потрібно задавати список стовпців, для яких явно зазначені значення в команді INSERT.

Для виконання команди INSERT користувач повинен мати привілей dm_datawriter доступу до бази даних, у якій перебуває шукана таблиця.

*/

END

-ELSE

-- DROP TABLE PERSONS

/*

Якщо таблиця SUBJECTS існує, то вона знищується за допомогою команди DDL DROP TABLE, для виконання якої користувач повинен мати привілей dm_ddladmin доступу до бази даних, у якій перебуває таблиця. Цю команду не можна застосовувати для таблиць, на які йде посилання в обмеженні FOREIGN KEY ... REFERENCES (для видалення таких таблиць необхідно видалити обмеження FOREIGN KEY ... REFERENCES або таблицю, його утримуючу).

*/

if NOT exists(select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MARKS')

/*

Перевіряється: чи існує вибірка з подання TABLES, власником якого є користувач INFORMATION_SCHEMA, полючи TABLE_NAME, значення якого повинне рівнятися MARKS. Для одержання потрібного значення поля TABLE_NAME використовується команда DML SELECT. Для її використання користувач повинен мати привілей dm_datareader доступу до бази даних, що містить шукану таблицю.

Зміст цього оператора мови TSQL полягає в перевірці того, чи існує таблиця з ім'ям MARKS. Якщо така таблиця не існує, то виконується її створення і заповнення даними.

*/

BEGIN

/*

Використовуються операторні дужки BEGIN...END, тому що, цілий блок команд повинен розглядатися як єдина група команд.

*/

create table MARKS (ID_MARK int PRIMARY KEY IDENTITY, MARK varchar(20))

/*

За допомогою команди DDL create table створюється таблиця з ім'ям MARKS, що має 2 поля:

id_mark - поле, що має цілочисельний тип даних int, що є первинним ключем (PRIMARY KEY - обмеження, що вимагає, щоб значення в стовпці завжди існували (NOT NULL) і були унікальними(UNIQUE); тільки один стовпець або набір стовпців може мати це обмеження) і властивість IDENTITY, що дозволяє генерувати значення поля автоматично (у цьому випадку, оскільки не зазначене початкове значення і збільшення, то будуть згенеровані значення, починаючи з 1 з кроком 1.

Це поле призначене для зберігання коду оцінки.

mark - поле, що має строковий тип даних змінної довжини з максимальною кількістю символів = 20 (varchar(20)).

Це поле призначене для зберігання позначення оцінки.

Для виконання команди CREATE TABLE користувач повинен мати привілей dm_ddladmin доступу до бази даних, у якій створюється таблиця.

*/

INSERT INTO MARKS VALUES('A')

INSERT INTO MARKS VALUES('BC')

INSERT INTO MARKS VALUES('DE')

INSERT INTO MARKS VALUES('FX')

/*

За допомогою команди INSERT таблиця MARKS заповнюється значеннями. Оскільки перше поле таблиці має властивість IDENTITY, то значення для нього генеруються автоматично, а тому не вказуються в списку значень після ключового слова VALUE. При цьому після імені таблиці не потрібно задавати список стовпців, для яких явно зазначені значення в команді INSERT.

Для виконання команди INSERT користувач повинен мати привілей dm_datawriter доступу до бази даних, у якій перебуває шукана таблиця.

*/

END

-ELSE

-- DROP TABLE MARKS

/*

Якщо таблиця MARKS існує, то вона знищується за допомогою команди DDL DROP TABLE, для виконання якої користувач повинен мати привілей dm_ddladmin доступу до бази даних, у якій перебуває таблиця. Цю команду не можна застосовувати для таблиць, на які йде посилання в обмеженні FOREIGN KEY ... REFERENCES (для видалення таких таблиць необхідно видалити обмеження FOREIGN KEY ... REFERENCES або таблицю, його утримуючу).

*/

if NOT exists(select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'STUDENTS')

/*

Перевіряється: чи існує вибірка з подання TABLES, власником якого є користувач INFORMATION_SCHEMA, поля TABLE_NAME, значення якого повинне рівнятися STUDENTS. Для одержання потрібного значення поля TABLE_NAME використовується команда DML SELECT. Для її використання користувач повинен мати привілей dm_datareader доступу до бази даних, що містить шукану таблицю.

Зміст цього оператора мови TSQL полягає в перевірці того, чи існує таблиця з ім'ям STUDENTS. Якщо така таблиця не існує, то виконується її створення і заповнення даними.

*/

BEGIN

/*

Використовуються операторные дужки BEGIN...END, тому що, цілий блок операторів повинен розглядатися як єдина група операторів.

*/

create table STUDENTS (ID_STUD int PRIMARY KEY,