Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет вказівки до лаб з SQL.doc
Скачиваний:
7
Добавлен:
07.05.2019
Размер:
811.01 Кб
Скачать

Завдання для самостійної роботи

1. Напишіть команду, що вводить у таблицю SUBJECT рядок для нового предмета навчання з наступними значеннями полів:

SEMESTER = 4; SUBJ_NAME = 'Алгебра'; HOUR = 72; SUBJ_ID =201.

2. Уведіть запис для нового студента, якого кличуть Орлов Микола, що навчається на першому курсі ВДУ, що живе у Вінниці, відомості про дату народження й розмір стипендії невідомі.

  1. Напишіть команду, що видаляє з таблиці EXAM_MARKS записи про всі оцінки студента, ідентифікатор якого дорівнює 100.

  2. Напишіть команду, що збільшує на 5 значення рейтингу всіх наявних у базі даних університетів, розташованих у Миколаєві.

  3. Змініть в таблиці назву (значення) міста, у якому проживає студент Іваненко, на «Вінниця».

3.11. Лабораторна робота №11

Тема: Команди створення об'єктів бази даних

Мета роботи: набути практичні навички використання команд створення об'єктів бази даних.

Порядок виконання роботи

1. Ознайомитися з теоретичними положеннями до лабораторної роботи.

2. Виконати всі наведені приклади в середовище СУБД ACCESS.Для цього необхідно:

  • завантажити СУБД ACCESS;

  • виконати режим відкриття бази даних «ВНЗ SQL»;

  • у вікні БД «ВНЗ SQL» вибрати вкладку «Запити»;

  • в діалоговому вікні вказати режим «Додати таблицю» і вибрати необхідні дані;

  • на панелі інструментів вибрати пункт меню «Вид» і вказати режим роботи SQL;

  • в поточному діалоговому вікні ввести текст запиту в форматі SQL;

  • виконати введений запит, для чого натиснути кнопку «Запуск» (!) на панелі інструментів;

  • отриманий результат виконання запиту занести в звіт та перевірити на відповідність умовам прикладу;

  • зберегти створений запит, надавши йому власне ім’я.

3. Виконати індивідуальне завдання (дивись завдання для самостійної роботи). Номери індивідуальних завдань видаються викладачем.

4. Результати виконання індивідуальних завдань занести у звіт.

5. Захистити звіт.

Теоретичні відомості

Створення таблиць бази даних

Створення об'єктів бази даних здійснюється за допомогою операторів мови визначення даних (DDL).

Таблиці бази даних створюються за допомогою команди CREATE TABLE. Ця команда створює порожню таблицю, тобто таблицю, що не має рядків. Значення в цю таблицю вводяться за допомогою команди INSERT. Команда CREATE TABLE визначає ім'я таблиці й множину пойменованих стовпців у зазначеному порядку. Для кожного стовпця повинен бути визначений тип і розмір. Кожна створювана таблиця повинна мати, принаймні, один стовпець. Синтаксис команди CREATE TABLE має такий вигляд:

CREATE TABLE <ІМ'Я Таблиці>

(<ім'я стовпця> <тип даних>[(<розмір>)]);

Використовувані в SQL типи даних як мінімум підтримують стандарти ANSI (American National Standards Institute — Американський національний інститут стандартів) :

CHAR (CHARACTER) ,

INT (INTEGER) ,

SMALLINT,

DEC (DECIMAL) ,

NUMERIC,

FLOAT.

Тип даних, для якого обов'язково повинен бути зазначений розмір, - це CHAR. Реальна кількість символів, що може знаходитися в полі, змінюється від нуля (якщо в полі міститься NULL-значення) до заданого в CREATE TABLE максимального значення.

Приклад 1. Створити таблицю STUDENT1:

CREATE TABLE STUDENT1

(STUDENT_ID INTEGER,

SURNAME VARCHAR (60),

NAME VARCHAR (60),

STIPEND DOUBLE,

KURS INTEGER,

CITY VARCHAR(60),

BIRTHDAY DATE,

UNIV_ID INTEGER);

Використання індексації для швидкого доступу до даних

Операції пошуку-вибірки (SELECT) даних з таблиць за значеннями їхніх полів можуть бути істотно прискорені шляхом використання індексації даних. Індекс містить упорядкований (в алфавітному або числовому порядку) список змісту стовпців або групи стовпців в індексованій таблиці з ідентифікаторами цих рядків (ROWID). Для користувачів індексування таблиці по тих або інших стовпцях являє собою спосіб логічного впорядкування значень індексованих стовпців, що дозволяє, на відміну від послідовного перебору рядків, істотно підвищити швидкість доступу до конкретних рядків таблиці при вибірках, які використовують значення цих стовпців. Індексація дозволяє знаходити блок даних, що містить індексований рядок, виконуючи невелике число звертань до зовнішнього пристрою.

При використанні індексації треба, однак, мати на увазі, що управління індексом істотно сповільнює час виконання операцій, пов'язаних з відновленням даних (таких, як INSERT і DELETE), тому що ці операції вимагають перебудови індексів.

Індекси можна створювати як по одному, так і по множині полів. Якщо зазначено більше одного поля для створення єдиного індексу, дані впорядковуються за значеннями першого поля, по якому здійснюється індексування. Усередині отриманої групи, здійснюється впорядкування за значеннями другого поля, для груп, отриманих в результаті, здійснюється впорядкування за значеннями третього поля й т.д.

Синтаксис команди створення індексу має такий вигляд:

CREATE INDEX <ім'я індексу> ON <ім'я таблиці> (<ім'я стовпця> [,<ім'я стовпця>]);

При цьому таблиця повинна бути вже створена й містити стовпці, імена яких зазначені в команді створення індексу. Ім'я індексу, визначене в команді, повинне бути унікальним у базі даних. Будучи один раз створеним, індекс є невидимим для користувача, всі операції з ним здійснює СУБД.

Приклад 2 Створити індекс для таблиці EXAM_MARKS, яка часто використовується для пошуку оцінки конкретного студента за значенням поля STUDENT_ID:

CREATE INDEX STUDENT_ID_1 ON EXAM_MARKS (STUDENT_ID) ;

Для видалення індексу (при цьому обов'язково потрібно знати його ім'я) використовується команда DROP INDEX, що має наступний синтаксис:

DROP INDEX <ім'я індексу>;

Видалення індексу не змінює вмісту поля або полів, індекс яких видаляється.

Зміна існуючої таблиці

Для модифікації структури й параметрів існуючої таблиці використовується команда ALTER TABLE.

Синтаксис команди ALTER TABLE для додавання стовпців у таблицю має вигляд:

ALTER TABLE <ім'я таблиці> ADD (<ім'я стовпця> <тип даних> <розмір>);

По цій команді для існуючих у таблиці рядків додається новий стовпець, у який заноситься NULL-значення. Цей стовпець стає останнім у таблиці. Можна додавати кілька стовпців, у цьому випадку їхні визначення в команді ALTER TABLE розділяються комами.

Можлива зміна опису стовпців. Часто це пов'язано зі зміною розмірів стовпців, додаванням або видаленням обмежень, що накладаються на їхні значення. Синтаксис команди в цьому випадку має вигляд:

ALTER TABLE <ім'я таблиці> MODIFY<ім'я стовпця> <тип даних> <розмір/точність >;

Варто мати на увазі, що модифікація характеристик стовпця може здійснюватися не в будь-якому випадку, а з урахуванням наступних обмежень:

  • зміна типу даних можливо тільки в тому випадку, якщо стовпець порожній;

  • для незаповненого стовпця можна змінювати розмір/точність. Для заповненого стовпця розмір/точність можна збільшити, але не можна зменшити;

  • обмеження NOT NULL може бути встановлено, якщо жодне значення в стовпці не містить NULL. Опцію NOT NULL завжди можна скасувати;

  • дозволяється змінювати значення, установлені за замовчуванням.

Видалення таблиці

Щоб видалити (знищити) існуючу таблицю, необхідно попередньо видалити всі дані із цієї таблиці, тобто зробити її порожньою. Таблиця, що має рядки, не може бути вилучена. Синтаксис команди, що здійснює видалення порожньої таблиці, має такий вигляд:

DROP TABLE <ім'я таблиці>;