- •Лабораторна робота № 1
- •Контрольні питання
- •Лабораторна робота № 2
- •Контрольні питання
- •Лабораторна робота № 3
- •Лабораторна робота № 4
- •Зміст роботи: створити запити мовою sql з використанням inner join, left join, ritgh join, union, з використанням group by, having, агрегатних функцій sum, min, max, avg, count
- •Лабораторна робота № 5.
- •Зміст роботи: створити запити мовою sql з використанням інструкцій insert, delete, update.
- •Лабораторна робота №6
- •Зміст роботи: створити підпорядковані запити мовою sql
- •Теоретичні відомості
- •Лабораторна робота № 7
- •Зміст роботи: створити підпорядковану форму в залежності від варианта завдання
- •Контрольні питання:
- •Варианти завдань
- •Лабораторна робота № 8
- •Зміст роботи: створити головну форму додатку, настроїти командні кнопки, захистити базу даних за допомогою пароля.
- •Варианти завдань
- •Література
- •Організація баз даних
Контрольні питання
-
Дайте означення форми в СУБД Microsoft Access.
-
Перерахуйте варіанти створення форм.
-
Що таке елементи управління даними?
-
Як встановлюються на формі елементи управління?
-
Перерахуйте основні елементи управління даними.
-
Чим відрізняються списки і списки, що розкриваються?
-
Які типи даних полів базової таблиці можуть використовуватись для роботи з елементами управління – поле, список, що розкривається, прапорець?
Варианти завдань
В кожному варианті необхідно створити форми для вводу, перегляду, редагування даних в заданих таблицях. Для таблиць, які знаходяться на стороні «один» в схемі даних форми створити за допомогою майстра або автоформи; для таблиць, які знаходяться на стороні «багато» створити форми в режимі конструктора, використовуючи елементи управління Поле, Кнопка, Список, що розкривається. За допомогою форм заповнити таблиці. В кожній таблиці повинно бути 10-15 записів.
Лабораторна робота № 3
Тема: «Запити на проекцію та обмеження. Вирази в складі WHERE. Запити с параметрами».
Мета : Навчити студентів створювати запити на вибірку мовою SQL.
Зміст роботи: створити запити мовою SQL на вибірку даних з однієї таблиці, використовуючи операції порівняння, шаблон в умові WHERE, сортування ORDER BY, функції для обробки даних типу DateTime, арифметичні вирази та задання альтернативних імен стовпців в запиті SELECT.
Форма звіту:
-
створені запити
-
протокол лабораторної роботи
Теоретичні відомості
Для пошуку і виводу даних, що задовольняють заданим умовам, включаючи дані з декількох таблиць, використовується запит. Запит також може оновлювати або видаляти декілька записів одночасно і виконувати стандартні або призначені для користувача обчислення з даними. Запити використовуються для перегляду, зміни і аналізу даних різними способами. Запити також можна використовувати як джерела записів для форм, звітів і сторінок доступу до даних.
Запит SQL - це запит до бази даних, створюваний за допомогою команд SQL. Мова SQL (Structured Query Language) використовується при створенні запитів, а також для оновлення і управління реляційними базами даних, такими як бази даних Microsoft Access.
Коли користувач створює запит в режимі конструктора запиту, Microsoft Access автоматично створює еквівалентну команду SQL. Фактично, для більшості властивостей запиту, доступних у вікні властивостей в режимі конструктора, є еквівалентні пропозиції або параметри мови SQL, доступні в режимі SQL.
В Microsoft Access є декілька типів запитів.
1) Запити на вибірку
Запит на вибірку є типом запиту, що найбільш часто використовується. Запити цього типу повертають дані з однієї або декількох таблиць і відображають їх у вигляді таблиці, записи в якій можна обновляти (з деякими обмеженнями). Запити на вибірку можна також використовувати для угрупування записів і обчислення сум, середніх значень, підрахунку записів і знаходження інших типів підсумкових значень.
2) Запити з параметрами
Запит з параметрами - це запит, який при виконанні відображає у власному діалоговому вікні запрошення ввести дані, наприклад, умову для повернення записів або значення, яке вимагається вставити в поле. Можна розробити запит, що виводить запрошення на введення декількох одиниць даних, наприклад, двох дат. Потім Microsoft Access може повернути всі записи, що приходяться на інтервал часу між цими датами.
Запити з параметрами також зручно використовувати як основи для форм, звітів і сторінок доступу до даних. Наприклад, на основі запиту з параметрами можна створити місячний звіт про доходи. При друці даного звіту Microsoft Access виводить на екран запрошення ввести місяць, доходи за який повинні бути приведені в звіті. Після введення місяця Microsoft Access виконує друк відповідного звіту.
Окрім перерахованих типів запитів існують також підпорядковані запити, запити на об'єднання таблиць, запити на модифікацію даних в таблицях. Ці типи запитів будуть розглянуті в наступних лабораторних роботах.
Інструкція SELECT (запит на вибірку ) призначена для отримання записів з бази даних у вигляді набору записів із збереженням його в новому об'єкті RECORDSET. У додатку можна потім маніпулювати цим набором записів - виводити записи на екран у формі, додавати, змінювати і/або видаляти їх, а також створювати звіти.
SELECT - найчастіше перше слово в інструкції SQL. Більшість інструкцій SQL є запитами SELECT або SELECT INTO. Запити SELECT не змінюють дані в базі даних - вони тільки відбирають дані.
Синтаксис інструкції SELECT має наступний вигляд:
SELECT [ALL| DISTINCT] {*| ім'я поля1 [AS нове ім'я][, ім'я поля2 [AS нове ім'я][…}
FROM ім'я таблиці1[, ім'я таблиці2]
[WHERE умова вибірки або з'єднання]
[GROUP BY Список полів для угрупування]
[HAVING умова відбору для групи]
[ORDER BY Список полів, по яких треба упорядкувати результат [ASC|DESC]]
[WITH OWNERACCESS OPTION];
Ключове слово SELECT повідомляє СУБД, що це команда - запит. Всі запити на вибірку починаються цим словом з подальшим пропуском. За ним може слідувати спосіб вибірки: ключове слово ALL (мається на увазі за умовчанням) означає, що в результуючий набір рядків включаються всі рядки, що задовольняють умовам запиту. Означає, в результуючий набір можуть потрапити однакові рядки. І це порушення принципів теорії відносин ( на відміну від реляційної алгебри, де за умовчанням передбачається відсутність дублікатів в кожному результуючому відношенні). Ключове слово DISTINCT означає, що в результуючий набір рядків включаються тільки різні рядки, тобто дублікати рядків не включаються в набір. Список полів є іменами стовпців, значення з яких необхідно вибрати. Символ * (зірочка) означає, що в результуючий набір включаються всі стовпці з початкових таблиць запиту.
Інструкція SELECT завжди містить пропозицію FROM, вказуючу таблицю або декілька таблиць, з яких відбираються записи. Якщо в список вибраних полів потрібно включити поля, наявні більш ніж одній з таблиць пропозиції, ці поля потрібно специфікувати ім'ям таблиці з оператором . (крапка). У випадку якщо вказано більше одного імені таблиці, неявно мається на увазі, що над перерахованими таблицями здійснюється операція декартова добутку.
Все подальші пропозиції інструкції є необов'язковими.
Пропозиція WHERE визначає, які записи з таблиць, перерахованих в пропозиції FROM повинні бути включені в результат інструкції SELECT. Якщо пропозиція WHERE не специфікується, запит повертає всі рядки з таблиць. Коли інструкцією SELECT створюється об'єкт RECORDSET, імена стовпців таблиці стають іменами об'єкту FIELD в RECORDSET. Пропозицією AS можна встановити для стовпців альтернативні (можливо більш описові або економні) імена.
Пропозиція ORDER BY сортує записи, одержані в результаті запиту, у порядку зростання або убування на основі значень вказаного поля або полів. За умовчанням використовується порядок сортування за збільшенням( від А до Я і від 0 до 9). Для сортування по спаданню ( від Я до А і від 9 до 0) слід додати зарезервоване слово DESC після кожного імені поля, яке потрібно відсортувати в спадаючому порядку. Пропозиція ORDER BY може містити декілька полів. Спочатку записи сортуються по першому полю в списку ORDER BY, потім записи, що мають співпадаючі значення в першому полі сортуються по другому полю і т.д.
Операції мови SQL, вживані для завдання умови, можна розділити на:
1. Операції порівняння дозволяють порівняти значення двох виразів.
( < , >, =, <>, <=, >= ).
-
Логічні операції:
BETWEEN...AND Визначає приналежність значення виразу вказаному
діапазону
LIKE Використовується для завдання шаблону
IN Перевіряє, чи співпадає значення виразу з одним з елементів
вказаного списку
IS NULL Порівняння з невизначеним значенням
EXISTS Відбір записів, відповідних заданому критерію
ALL Порівняння початкового значення зі всіма іншими, що
входять в деякий набір даних
ANY Порівняння заданого значення з кожним із значень деякого
набору даних
-
Операції об'єднання
AND Об'єднання декількох умов шляхом операції логічного множення
OR Об'єднання декількох умов шляхом операції логічного додавання
-
Операція заперечення
NOT
Для розрахунку значень обчислюваних стовпців результуючого набору даних використовуються арифметичні вирази. При цьому в списку стовпців, що повертаються, після SELECT замість імені обчислюваного стовпця указується вираз. Наприклад, наступний запит повертає всі записи про договори Іванова і для кожного договору розраховує загальну вартість купленого товару.
select N_lease, data, tovar, pokup, kol_vo, CENA
kol_vo*CENA AS STOIM
from lease
Where pokup = "Іванов"
Ключове слово AS указується після виразу, якщо обчислюваному стовпцю потрібно привласнити нестандартне ім'я. У виразах можна використовувати і інші операції - додавання, віднімання, ділення і т.д.
Для обробки значень полів, які мають тип DateTime (ДатаЧас) використовуються наступні функції:
Date () - повертає поточну дату;
Year (ім'я поля) - повертає значення року;
Month (ім'я поля) – повертає номер місяця;
Day (ім'я поля) - повертає номер дня.
Контрольні питання
-
Дайте визначення запиту до бази даних.
-
Які види запитів існують?
-
Що таке запит на вибірку, запит з параметрами?
-
Що таке SQL?
-
Для чого використовуються оператори SQL – SELECT, FROM, WHERE?
-
Що таке обчислювані поля, як вони задаються?
-
Як задати нестандартне ім’я для обчислюваного поля?
-
Яка інструкція використовується для вибірки даних?
-
Назвіть обов’язкові пропозиції інструкції SELECT.
-
Як задати порядок сортування?
-
Назвіть призначення логічних операцій в пропозиції WHERE.
-
Як виділити рік (місяць, день) з дати?
Варианти завдань
Вариант 1
-
Отримати інформацію о передплатниках.
-
Отримати список видавництв, розташувавши його в алфавитному порядку назв видавництв.
-
Отримати інформацію про видання, вартість номерів яких не перевищує 5 гривень.
-
Отримати інформацію про видання по заданому індексу, який вводиться з екрану.
-
Отримати список видавництв, у яких не вказан e-mail.
-
Отримати номери квітанцій, виданих у січні 2008 року.
Вариант 2
-
Отримати інформацію про замовників.
-
Отримати інформацію про вироби, вартість пошивуяких не перевищує 150 гривень.
-
Отримати інформацію про замовників, у яких не вказан телефон.
-
Отримати в алфавитному порядку список виробників, які виробляють тканини дорожче 50 гривень за метр.
-
Отримати інформацію про замовника, вказуючи з екрана його назву.
-
Отримати інформацію про замовлення, термін виконання яких 20.02 поточного року.
Вариант 3
-
Отримати назви всіх стадіонів.
-
Отримати інформацію про гравців, розташувавши його алфавитному порядку прізвищ гравців.
-
Отримати інформацію про персонал старше 50 років.
-
Отримати інформацію про гравців амплуа яких задається параметром.
-
Отримати інформацію про гравців, зріст яких не більше 2 метрів.
-
Отримати інформацію про гравців, які народилися в травні.
Вариант 4
-
Отримати інформацію про промисли.
-
Отримати інформацію про майстрів, розташувавши його алфавитному порядку прізвищ майстрів.
-
Отримати в алфавитному порядку список виробів заданого майстра. Код майстра вводиться з екрану.
-
Отримати інформацію про майстрів старше 40 років.
-
Отримати інформацію про майстрів, у яких не вказана адреса.
-
Отримати інформацію про майстрів з кодом кваліфікації 2.
Вариант 5
-
Отримати інформацію про викладачів, які займають посаду «старший викладач».
-
Отримати список кафедр, розташувавши його алфавитному порядку назв кафедр.
-
Отримати в алфавитному порядку номери лекційних аудіторій (кількість місць не менше 50).
-
В якій аудіторії проходить перша пара у вівторок групи 532?
-
Отримати розклад занять заданого викладача (код викладача вводиться з екрану).
-
Отримати список аудіторії другого поверха.
Вариант 6
-
Отримати інформацію про виробників, розташувавши його алфавитному порядку назв виробників.
-
Отримати інформацію про виробників, у яких не вказан e-mail.
-
Отримати назви виробів з кодом виду =1.
-
Отримати в алфавитному порядку назви виробів ціна за одиницю яких не перевищує 20 гривень.
-
Отримати інформацію про вироби заданого виробника ( код виробника вводиться з екрана).
-
Хто відповідальна особа у виробника «Світоч»?
Вариант 7
-
Отримати всю інформацію про видавництва.
-
Отримати інформацію про видавництва, у яких не вказан e-mail.
-
Отримати в алфавитному порядку список авторів.
-
Отримати назви книг заданого автора (код автора вводиться з екрана).
-
Отримати назви книг, ціна яких знаходиться в границях від 10 до 50 гривень
-
Отримати дату випуска книги з кодом 10.
Вариант 8
-
Отримати всю інформацію про споживачів.
-
Отримати інформацію про споживачів, у яких не вказан тедефон.
-
Отримати в алфавитному порядку назви товарів, ціна яких вище 50 гривень.
-
Отримати номери накладних за 15.02 поточного року.
-
Отримати інформацію про товари заданого виробника (назва виробника вводиься з екрана).
-
Яка адреса і телефон споживача «Віртус»?
Вариант 9
-
Отримати всю інформацію про замовників.
-
Отримати інформацію про виконавців, у яких не вказан телефон.
-
Отримати інформацію про транспорт з датою випуску раніше 1999 року.
-
Отримати в алфавитному порядку назви замовлень, вартість перевезення яких перевищує 100 гривень.
-
Отримати коди не оплачених замовлень.
-
Яка адреса у замовника «ОДАХ»?
Вариант 10
-
Отримати всю інформацію про матеріали.
-
Отримати в алфавитному порядку назви об’єктів з указанням їх адреси.
-
Отримати назви матеріалів, ціна яких за одиницю не перевищує 90 гривень.
-
Отримати назви об’єктів заданого типу (код типу вводиться з екрана).
-
Отримати коди об’єктів, на яких витрачається 100 одиниць матеріалу з кодом 2.
-
Отримати назви об’єктів по вулиці Балківській.
Вариант 11
-
Отримати всю інформацію про авторів.
-
Отримати в алфавитному порядку інформацію про замовників, у яких не вказан телефон.
-
Отримати назви книг заданого автора, вартість яких не перевищує 50 гривень (код автора вводиться з екрана).
-
Отримати інформацію про замовлення в січні 2008 року.
-
Вказати адресу замовника «ОДАХ».
-
Вказати коди книг, які замовив замовник з кодом=2.
Вариант 12
-
Отримати всю інформацію про посади.
-
Отримати в алфавитному порядку список співробітників з вищою освітою відділу №1.
-
Отримати в алфавитному порядку список співробітників, прийнятих на роботу у серпні 2007 року.
-
Отримати назви посад, оклад яких перевищує 1500 гривень. Розташувати назви в порядку спадання окладів.
-
Отримати назви відділів, в яких може працювати 20 співробітників.
-
Вказати адресу Іванова Івана Івновича.
Вариант 13
-
Отримати назви видів спорту даного товариства.
-
Отримати в алфавитному порядку список спортсменів.
-
Отримати в алфавитному порядку список спортсменів, яким виповнилось 30 років.
-
Отримати список тренерів, які мають звання «Майстер спорту».
-
Отримати список тренерів заданого виду спорту (код виду спорту вводиться з екрана).
-
Отримати в алфавитному порядку список спортсменів народившихся в лютому. Вказати день народження.
Вариант 14
-
Отримати всю інформацію про клієнтів автосалону.
-
Отримати в алфавитному порядку інформацію про клієнтів автосалону, у яких не вказан номер телефону.
-
Отримати інформацію про моделі фірми з кодом 1.
-
Отримати номери рахунків, виданих в березні поточного року.
-
Отримати інформацію про авто з датою випуску 2007 рік і не дорожчих 70 тис. гривень.
-
Вказати адресу та номер телефону клієнта, назва якого вводиться з екрану.
Вариант 15
-
Отримати всю інформацію про замовників.
-
Отримати в алфавитному порядку інформацію про замовників, у яких не вказан номер телефону.
-
Отримати назви кімнатних рослин не дорожчих 30 гривень.
-
Отримати список співробітників, прийнятих на роботу в 2007 році.
-
Отримати інформацію про співробітника, прізвище якого вводиться з екрану.
-
Отримати термін виконання договору № 30.
Вариант 16
-
Отримати всю інформацію про учасників конференції.
-
Отримати інформацію про учасників конференції, з країни з кодом =1.
-
Отримати інформацію про теми конференції.
-
Отримати в алфавитному порядку інформацію про учасників конференції з вищою освітою.
-
Отримати в алфавитному порядку інформацію про учасників конференції, у яких не вказана посада.
-
Отримати назву і дату доповіді заданого учасника конференції (код учасника вводиться з екрану).
Вариант 17
-
Отримати всю інформацію про клієнтів.
-
Отримати в алфавитному порядку інформацію про клієнтів, у яких не вказана адреса.
-
Отримати інформацію про товари заданого виробника ціна за одиницю яких не перевищує 50 гривень (код виробника вводиться з екрану).
-
Отримати номери рахунків, виданих в березні поточного року.
-
Отримати номери рахунків клієнта з кодом =10.
-
Отримати прізвища та імена клієнтів – абонентів мережі «КиівСтар»
Вариант 18
-
Отримати всю інформацію про відділення поліклініки.
-
Отримати в алфавитному порядку інформацію про паціентів чоловічої статі.
-
Отримати інформацію про паціента, номер карточки якого вводиться з екрану.
-
Отримати прізвища та імена лікарів, маючих ліцензію, отриману в 2000 році.
-
Отримати номера карточок паціентів, які викликали лікаря в січні поточного року.
-
Отримати прізвища, імена та адреси паціентів, яким виповнилось 90 років.
Вариант 19
-
Отримати всю інформацію про кафедри.
-
Отримати в алфавитному порядку інформацію про викладачів, займаючих посаду «доцент».
-
Отримати в алфавитному порядку інформацію про викладачів, яким виповнилось 55 років.
-
Отримати інформацію про видання 2007 року.
-
Отримати інформацію про викладачів кафедри з кодом =31.
-
Яка вчена степінь викладача Попова Петра.