Міністерство освіти і науки України
Центральноукраїнський національний технічний університет
Механіко-технологічний факультет
Кафедра програмування та захисту інформації
Звіт
з виконаної лабораторної роботи № 2
дисципліни “ Організація баз даних ”
на тему
“ Керування базами даних за допомогою SQL. Особливості багатотабличних запитів. Застосування вкладених запитів. Зміна структури БД за допомогою операторів DDL.
Створення та вилучення таблиць. Створення та видалення унікальних індексів ”
Кропивницький – 2017
Лабораторна робота № 2
Тема: Керування базами даних за допомогою SQL. Особливості багатотабличних запитів. Застосування вкладених запитів. Зміна структури БД за допомогою операторів DDL. Створення та вилучення таблиць. Створення та видалення унікальних індексів.
Мета: Застосовуючи SQL-оператори EXISTS, ANY, ALL, SOME навчитися структурувати запити, створювати більш зрозумілі запити. Навчитися будувати вкладені запити. Засвоїти на практиці операції об’єднання. Застосовуючи DDL оператори CREATE, DROP, ALTER навчитися створювати та визначати, видаляти та змінювати об’єкти БД.
Завдання:
За допомогою SQL- запиту вивести дані з двох таблиць, наприклад, про викладачів і студентів, чиї фамілії знаходяться між буквами ‘К’ і ‘С’, крім того зазначити, хто студент, а хто викладач.
Вивести за допомогою SQL-запиту інформацію з таблиць, наприклад, викладачів і предметів (які пов’язані між собою), щоб кожному викладачу відповідав предмет, який він викладав.
Необхідно отримати інформацію, наприклад, про студента Петрова - номер у списку та бал успішності. Номер знаходиться у таблиці про студентів, бал - у таблиці успішності. Застосуйте вкладений запит.
Вивести з таблиці успішності за допомогою SQL- запиту номера студентських білетів та код предмету, тільки якщо в ній присутні відмінні оцінки.
За допомогою DDL-операторів створіть таблицю з визначеним ім’ям та декількома полями різних типів та розмірів.
За допомогою DDL-оператора змініть структуру існуючої таблиці. Додайте нове поле типу INTEGER, збільшіть розмір існуючого поля, видаліть непотрібне поле.
Видаліть таблицю із своєї БД за допомогою DDL-операторів.
Створіть індекс у таблиці БД.
Створіть унікальний індекс для таблиці своєї БД.
Видаліть створений раніше індекс.
Створіть таблицю так, щоб для двох полів не можна було б встановити невизначене значення, та встановіть первинний ключ за допомогою необхідного обмеження.
Хід роботи
Завдання 1:
/
Завдання 2:
/
Завдання 3:
/
Завдання 4:
/
Завдання 5:
//
Завдання 6:
//
ALTER TABLE prices ALTER COLUMN currency VARCHAR(25)
ALTER TABLE prices DROP COLUMN currency
Завдання 7:
/
Завдання 8:
/
Завдання 9:
/
Завдання 10:
/
Завдання 11:
/
Висновки:
У ході лабораторної робитись №2 я, застосовуючи SQL-оператори EXISTS, ANY, ALL, SOME навчилась структурувати запити, створювати більш зрозумілі запити. Навчилась будувати вкладені запити. Засвоїла на практиці операції об’єднання. Застосовуючи DDL оператори CREATE, DROP, ALTER, навчилась створювати та визначати, видаляти та змінювати об’єкти БД.
Контрольні запитання
Які запити називають багатотабличними запитами?
Запити, що оперують інформацією з декількох таблиць
Що означає UNION в інструкції SELECT?
UNION - поєднує виведення двох чи більше SQL запитів в єдиний набір рядків та стовпців
Які функції не можна застосовувати в інструкції SELECT запиту на об’єднання?
Не можна застосовувати агрегатні функції в інструкції SELECT запиту на об’єднання
Чи дозволяється створювати запити, які об’єднують більше двох таблиць?
Допускається створювати запити, що об’єднують більше двох таблиць.
Який запит називають підзапитом?
Запит що розміщений всередині іншого предиката.
Які умови накладаються на значення яке отримується у підзапиті?
Підзапит повинен вибрати тільки одне поле, а тип даних цього поля повинен співпадати з тим значенням, з яким він порівнюється в предікаті.
Як відокремлюються одна від одної таблиці в багатотабличних запитах, які представлені у вигляді списку в інструкції FROM?
UNION
Які дії виконуються спочатку для запита, який використовує виведення внутрішнього запиту?
Щоб виконати запит SQL спочатку оцінює внутрішній запит (його називають підзапитом) всередині речення WHERE.
Які спеціальні оператори завжди беруть підзапити у якості аргументів?
EXISTS, ANY, ALL, SOME-спеціальні оператори, які завжди беруть підзапити у якості аргументів
В яких випадках використовують оператор EXISTS?
EXISTS-використовують, щоб вказати предикату на те, щоб виконувати виведення чи не виконувати виведення в підзапиті, при цьому EXISTS дає у якості результату значення ІСТИНА чи БРЕХНЯ.
Чим відрізняються оператори ANY, ALL та SOME від EXISTS?
ANY, ALL та SOME, нагадують EXISTS, але відрізняються тим, що застосовуються разом з реляційними операторами, аналогічно IN в підзапитах.
Які можливості DDL?
За допомогою операторів DDL можливо наступне:
Створити нову базу даних;
Визначити структуру нової таблиці та створити цю таблицю;
Видалити існуючу таблицю;
Змінити визначення існуючої таблиці;
Визначити представлення даних;
Забезпечити умови безпеки БД;
Створити індекси для доступа до таблиць;
Керувати розміщенням даних на пристроях зберігання.
На яких командах базується DDL?
DDL базується на трьох командах SQL:
CREATE-дозволяє визначити та створити об’єкт бази даних;
DROP- застосовується для видалення існуючого об’єкту бази даних;
ALTER -за допомогою якого можна змінити визначення об’єкта БД
За допомогою якої команди можна створити таблицю?
CREATE
За допомогою якої команди можна видалити таблицю?
DROP
За допомогою якої команди можна змінити визначення об’єкта БД?
ALTER
Що означає команда CREATE TABLE?
Створює таблицю
Що означає команда ALTER TABLE?
Змінює таблицю
Що означає команда DROP TABLE?
Видалення таблиці
Які дії над таблицею треба виконати перед тим як видалити її?
Очистити її
Що називають індексом?
Індексом називають впорядкований список полів чи груп полів в таблиці.
Що означає обмеження даних?
Обмеження даних – це частина визначень таблиці, яка обмежує значення, які допускаються до введення в поля таблиці. Обмеження можна вказувати, коли створюється чи змінюється таблиця.
Коли не можна створити унікальний індекс в таблиці з даними?
Якщо у стовпці трапляються неунікальні данні.