
- •Крещенко л.Ф. Мова sql
- •Навчальна програма дисципліни«Мова sql»
- •Методичні рекомендації до вивчення дисципліни Тема 1. Основи роботи з Microsoft sql| Server| 2005
- •1. Основні відомості про|із|sql|Server|2005 та принципи його роботи
- •Що таке sql Server 2005
- •Бази даних
- •Реляційні бази даних
- •2. Використання sql|Server|Management|Studio|
- •Створення|створіння|запитів
- •Тема 2. Створення і керування базою даних sql Server
- •1. Створення бази даних у середовищі ms sql Server 2005
- •Методи створення бази даних sql Server
- •Оператор create database
- •Керування базою даних sql Server
- •Видалення бази даних sql Server
- •Приклад створення і керування базою даних
- •Перегляд бази даних BookShopDb
- •Видалення бази даних за допомогою оператора drop database
- •2. Створення таблиць у базі даних та накладання обмежень
- •Визначення типів даних
- •Системні типи даних
- •Користувальницькі типи даних
- •Цілісність даних
- •Цілісність, обумовлена користувачем
- •Практична реалізація створення таблиць та забезпечення цілісності даних Перегляд існуючих таблиць, стовпців і їхніх типів даних
- •Створення таблиць і керування ними
- •Створення таблиць у базі даних sql Server
- •Реалізація обмежень, що забезпечують цілісність
- •Загальні відомості про обмеження, що забезпечують цілісність
- •Визначення можливості зберігання порожніх значень (null)
- •Визначення значень за замовчуванням (default)
- •Автоматична нумерація й стовпці з ідентифікатором (identity)
- •Створення стовпців з ідентифікатором
- •Властивість identity
- •Обмеження primary key
- •Створення обмежень primary key
- •Обмеження unique
- •Створення обмежень unique
- •Обмеження foreign key
- •Створення обмежень foreign key
- •Обмеження check
- •Створення обмежень check
- •Модифікація таблиць у базі даних sql Server
- •Видалення таблиці з бази даних sql Server
- •Створення таблиці Authors у базі BookShopDb
- •Створення таблиць BookAuthors і BookCondition у базі даних BookShopDb
- •Тема 3. Синтаксичні елементи мови Transact-sql
- •1.Ідентифікатори
- •Звичайні ідентифікатори
- •Ідентифікатори з обмежниками
- •2. Функції та інші конструкції мови
- •Убудовані функції
- •Функції одержання набору рядків
- •Агрегатні функції
- •Скалярні функції
- •Користувальницькі функції
- •Типи користувальницьких функцій
- •Детермінованість функцій
- •3. Типи даних та фирази
- •Коментарі
- •Приклади. Створення сценаріїв за допомогою синтаксичних елементів мови Transact-sql
- •Сценарії Trarisact-sql
- •Тема 4 Вибірка даних з бази даних sql Server
- •1. Основи оператора select
- •Конструкція select
- •Використання ключових слів у списку вибору
- •Ключове слово distinct
- •Ключове слово top n
- •Ключове слово as
- •Типи інформації в списку вибору
- •Конструкція into
- •Конструкція from
- •Конструкції where, group by і having
- •Конструкція group by
- •Обробка конструкцій where, group by і having
- •Конструкція order by
- •Витяг всіх даних з таблиці Titles
- •Одержання даних з певних стовпців таблиці Titles
- •Завдання умови, якій повинен відповідати результуючий набір
- •Угруповання даних у результуючому наборі
- •2.Витяг даних за допомогою з'єднань
- •Внутрішні з'єднання
- •Зовнішні з'єднання
- •Використання лівих зовнішніх з'єднань
- •Використання правих зовнішніх з'єднань
- •Використання повних зовнішніх з'єднань
- •3.Визначення підзапитів усередині операторів select
- •Типи підзапитів
- •Підзапити із ключовими словами in або not in
- •Підзапити з операторами порівняння
- •Підзапити із ключовими словами exists і not exists
- •Узагальнення даних
- •Узагальнення даних за допомогою оператора cube
- •Узагальнення даних за допомогою оператора rollup
- •Приклади
- •Одержання даних за допомогою повного зовнішнього з'єднання
- •Тема 5. Модифікація даних у базах даних sql Server
- •1. Додавання даних у бд sql Server
- •Додавання даних за допомогою оператора insert
- •Insert [into] таблиця_або_відображення
- •Додавання даних за допомогою оператора insert...Values
- •Додавання даних за допомогою підзапиту select
- •Додавання даних за допомогою оператора select...Into
- •Додавання у вставлені рядки даних типу ntext, text і image
- •Додавання даних за допомогою операцій масового копіювання
- •2. Модифікація даних у бд sql Server
- •Модифікація даних за допомогою оператора update
- •Модифікація даних за допомогою конструкції set
- •Модифікація даних за допомогою конструкції where
- •Модифікація даних за допомогою конструкції from
- •Модифікація даних за допомогою api і курсорів
- •Модифікація даних типу ntext, text і image
- •3. Видалення даних із бд sql Server
- •Видалення даних оператором delete
- •Видалення даних за допомогою api і курсорів
- •Видалення даних за допомогою оператора truncate table
- •Практичні приклади модифікації даних у бд sql Server
- •Тема 6. Збережені процедури
- •1. Основні відомості про збережені процедури
- •Продуктивність
- •Можливості програмування
- •Безпека
- •2. Операції зі збереженими процедурами
- •Збереження процедури
- •Методи створення збережених процедур
- •Передача контексту збереженій процедурі
- •Виконання збереженої процедури
- •Виклик збереженої процедури
- •Визначення параметрів і їхніх значень
- •Модифікація збереженої процедури
- •Видалення збереженої процедури
- •Приклади роботи зі збереженими процедурами
- •Приклади програмування збережених процедур
- •Тема 7. Створення|створіння|тригерів|трігерів|і керування ними
- •1. Створення|створіння|тригерів|трігерів|за допомогою мови|язика|transact-sql|
- •Конструкція on|
- •Конструкції for|, after|і instead|of|
- •Конструкція as|
- •Управління тригерами|трігерами|
- •Зміна і перейменування тригерів
- •Перегляд|проглядати|, видалення|віддалення|і відключення тригерів|трігерів|
- •2. Програмування тригерів|трігерів| Псевдотаблиці Inserted|і Deleted|
- •План практичних занять Практичні заняття 1,2 (4 години)
- •Перелік завдань для модуля
- •Індивідуальні завдання для самостійної роботи студентів
- •Порядок і критерії оцінювання знань студентів
- •Перелік питань для підготовки до поточного модульного контролю
- •Розподіл балів, що отримають студенти за результатами вивчення дисципліни «Мова sql»
- •Система нарахування балів за видами навчальної роботи
- •Список рекомендованої літератури
Створення обмежень check
Обмеження CHECKстворюють одним з наступних способів:
під час створення таблиці (у складі визначення таблиці);
додають до існуючої таблиці.
Створені обмеження CHECKдозволено модифікувати й видаляти. Наприклад, можна модифікувати вираз, який використовується в обмеженніCHECK, визначеному для стовпця або таблиці.
Щоб модифікувати обмеження CHECKза допомогою Transact-SQL, спочатку варто видалити існуюче визначення обмеженняCHECK, а потім створити нове визначення.
У цьому прикладі створюється таблиця Tablelі визначається для стовбцясо1_2обмеженняCHECK, що обмежує введення значень з діапазоном 0 - 1000:
CREATE TABLE Table1
(
Col_l INT PRIMARY KEY,
Col_2 INT
CONSTRAINT limit_amount CHECK (Col_2 BETWEEN 0 AND 1000),
Col_3 VARCHAR(50)
)
Це обмеження також можна визначити на рівні таблиці:
CREATE TABLE Tablel
(
Col_l INT PRIMARY KEY,
Col_2 INT,
Col_3 VARCHAR(5O),
CONSTRAINT limit_amount CHECK (Col_2 BETWEEN 0 AND 1000)
)
Щоб додати обмеження СНЕСКдо існуючої таблиці, можна скористатися операторомALTERTABLE:
ALTER TABLE Tablel
ADD CONSTRAINT limit_amount CHECK (Col_2 BETWEEN 0 AND 1000)
При додаванні до існуючої таблиці обмеження CHECKзастосовується тільки до нових даних або до всіх даних таблиці, включаючи існуючі. За замовчуванням обмеженняCHECKзастосовується як до існуючих, так і до всіх нових даним. Можливість застосувати обмеження тільки до нових даних корисна, якщо існуючі дані вже відповідають новому обмеженнюCHECKабо якщо бізнес-правило вимагає, щоб обмеження застосовувалося, тільки починаючи із цього моменту.
Однак потрібно бути обережним при додаванні обмеження без перевірки існуючих даних, оскільки ця дія відбувається в обхід контролю SQL Server, що забезпечує цілісність дані таблиці.
Модифікація таблиць у базі даних sql Server
Після створення таблиці багато параметрів, певні під час її створення, дозволяється змінювати. Наприклад, додавати, модифікувати й видаляти стовпці, у тому числі змінювати ім'я, довжину, тип даних, точність (точність дробової частини), можливість уведення порожніх значень - останнє з деякими обмеженнями. Більш докладно про це розказано в SQL Server Books Online, а зараз ми просто перелічимо всі можливі операції:
додавання й видалення обмеження PRIMARY KEY і FOREIGN KEY;
додавання й видалення обмеження UNIQUE і CHECK, а також визначення обмежень (і об'єктів) DEFAULT;
додавання й видалення стовпців з ідентифікатором за допомогою властивостей IDENTITY або ROWGUIDCOL. Дозволяється додавати й видаляти властивість ROWGUIDCOL в існуючих стовпців, але при цьому в будь-який момент часу можливий тільки один стовпець із властивістю ROWGUIDCOL;
таблиці й обрані стовпці таблиці можна зареєструвати для повнотекстового індексування.
Видалення таблиці з бази даних sql Server
Іноді, наприклад, якщо потрібно реалізувати нову структуру або звільнити місце в базі даних, необхідно видалити таблицю. При цьому структурне визначення таблиці, дані, повнотекстові індекси, обмеження й індекси повністю віддаляються з бази даних, а місце, колись зайняте таблицею і її індексами, стає доступним для інших таблиць. Можна явно видалити тимчасову таблицю, якщо ви не хочете чекати на неї автоматичного видалення.
Якщо необхідно видалити таблиці, зв'язані за допомогою обмеження FOREIGN KEY, UNIQUE або PRIMARY KEY, те спочатку варто видалити таблиці з обмеженням FOREIGN KEY. Якщо потрібно видалити таблицю, на яку є посилання в обмеженні FOREIGN KEY, але при цьому повністю видаляти таблицю із зовнішнім ключем не можна, варто видалити обмеження FOREIGN KEY.
Видаляють таблицю з бази даних SQL Server за допомогою оператора DROP TABLE або SQL Server Management Studio (яка видаляє таблицю з вузла Tables). Наведемо простий приклад видалення таблиці Table1з бази даних за допомогою оператораDROPTABLE:
DROP TABLE Table1
На завершення наведемо декілька прикладів створення таблиць у базі даних BookShopDB.