Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OBDZ metod.doc
Скачиваний:
8
Добавлен:
11.11.2018
Размер:
1.02 Mб
Скачать

Контрольні питання

  1. Дайте означення форми в СУБД Microsoft Access.

  1. Перерахуйте варіанти створення форм.

  2. Що таке елементи управління даними?

  3. Як встановлюються на формі елементи управління?

  4. Перерахуйте основні елементи управління даними.

  5. Чим відрізняються списки і списки, що розкриваються?

  6. Які типи даних полів базової таблиці можуть використовуватись для роботи з елементами управління – поле, список, що розкривається, прапорець?

Варианти завдань

В кожному варианті необхідно створити форми для вводу, перегляду, редагування даних в заданих таблицях. Для таблиць, які знаходяться на стороні «один» в схемі даних форми створити за допомогою майстра або автоформи; для таблиць, які знаходяться на стороні «багато» створити форми в режимі конструктора, використовуючи елементи управління Поле, Кнопка, Список, що розкривається. За допомогою форм заповнити таблиці. В кожній таблиці повинно бути 10-15 записів.

Лабораторна робота № 3

Тема: «Запити на проекцію та обмеження. Вирази в складі WHERE. Запити с параметрами».

Мета : Навчити студентів створювати запити на вибірку мовою SQL.

Зміст роботи: створити запити мовою SQL на вибірку даних з однієї таблиці, використовуючи операції порівняння, шаблон в умові WHERE, сортування ORDER BY, функції для обробки даних типу DateTime, арифметичні вирази та задання альтернативних імен стовпців в запиті SELECT.

Форма звіту:

  1. створені запити

  2. протокол лабораторної роботи

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

Для пошуку і виводу даних, що задовольняють заданим умовам, включаючи дані з декількох таблиць, використовується запит. Запит також може оновлювати або видаляти декілька записів одночасно і виконувати стандартні або призначені для користувача обчислення з даними. Запити використовуються для перегляду, зміни і аналізу даних різними способами. Запити також можна використовувати як джерела записів для форм, звітів і сторінок доступу до даних.

Запит 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. Операції порівняння дозволяють порівняти значення двох виразів.

( < , >, =, <>, <=, >= ).

  1. Логічні операції:

BETWEEN...AND Визначає приналежність значення виразу вказаному

діапазону

LIKE Використовується для завдання шаблону

IN Перевіряє, чи співпадає значення виразу з одним з елементів

вказаного списку

IS NULL Порівняння з невизначеним значенням

EXISTS Відбір записів, відповідних заданому критерію

ALL Порівняння початкового значення зі всіма іншими, що

входять в деякий набір даних

ANY Порівняння заданого значення з кожним із значень деякого

набору даних

  1. Операції об'єднання

AND Об'єднання декількох умов шляхом операції логічного множення

OR Об'єднання декількох умов шляхом операції логічного додавання

  1. Операція заперечення

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 (ім'я поля) - повертає номер дня.

Контрольні питання

  1. Дайте визначення запиту до бази даних.

  2. Які види запитів існують?

  3. Що таке запит на вибірку, запит з параметрами?

  4. Що таке SQL?

  5. Для чого використовуються оператори SQL – SELECT, FROM, WHERE?

  6. Що таке обчислювані поля, як вони задаються?

  7. Як задати нестандартне ім’я для обчислюваного поля?

  8. Яка інструкція використовується для вибірки даних?

  9. Назвіть обов’язкові пропозиції інструкції SELECT.

  10. Як задати порядок сортування?

  11. Назвіть призначення логічних операцій в пропозиції WHERE.

  12. Як виділити рік (місяць, день) з дати?

Варианти завдань

Вариант 1

  1. Отримати інформацію о передплатниках.

  2. Отримати список видавництв, розташувавши його в алфавитному порядку назв видавництв.

  3. Отримати інформацію про видання, вартість номерів яких не перевищує 5 гривень.

  4. Отримати інформацію про видання по заданому індексу, який вводиться з екрану.

  5. Отримати список видавництв, у яких не вказан e-mail.

  6. Отримати номери квітанцій, виданих у січні 2008 року.

Вариант 2

  1. Отримати інформацію про замовників.

  2. Отримати інформацію про вироби, вартість пошивуяких не перевищує 150 гривень.

  3. Отримати інформацію про замовників, у яких не вказан телефон.

  4. Отримати в алфавитному порядку список виробників, які виробляють тканини дорожче 50 гривень за метр.

  5. Отримати інформацію про замовника, вказуючи з екрана його назву.

  6. Отримати інформацію про замовлення, термін виконання яких 20.02 поточного року.

Вариант 3

  1. Отримати назви всіх стадіонів.

  2. Отримати інформацію про гравців, розташувавши його алфавитному порядку прізвищ гравців.

  3. Отримати інформацію про персонал старше 50 років.

  4. Отримати інформацію про гравців амплуа яких задається параметром.

  5. Отримати інформацію про гравців, зріст яких не більше 2 метрів.

  6. Отримати інформацію про гравців, які народилися в травні.

Вариант 4

  1. Отримати інформацію про промисли.

  2. Отримати інформацію про майстрів, розташувавши його алфавитному порядку прізвищ майстрів.

  3. Отримати в алфавитному порядку список виробів заданого майстра. Код майстра вводиться з екрану.

  4. Отримати інформацію про майстрів старше 40 років.

  5. Отримати інформацію про майстрів, у яких не вказана адреса.

  6. Отримати інформацію про майстрів з кодом кваліфікації 2.

Вариант 5

  1. Отримати інформацію про викладачів, які займають посаду «старший викладач».

  2. Отримати список кафедр, розташувавши його алфавитному порядку назв кафедр.

  3. Отримати в алфавитному порядку номери лекційних аудіторій (кількість місць не менше 50).

  4. В якій аудіторії проходить перша пара у вівторок групи 532?

  5. Отримати розклад занять заданого викладача (код викладача вводиться з екрану).

  6. Отримати список аудіторії другого поверха.

Вариант 6

  1. Отримати інформацію про виробників, розташувавши його алфавитному порядку назв виробників.

  2. Отримати інформацію про виробників, у яких не вказан e-mail.

  3. Отримати назви виробів з кодом виду =1.

  4. Отримати в алфавитному порядку назви виробів ціна за одиницю яких не перевищує 20 гривень.

  5. Отримати інформацію про вироби заданого виробника ( код виробника вводиться з екрана).

  6. Хто відповідальна особа у виробника «Світоч»?

Вариант 7

  1. Отримати всю інформацію про видавництва.

  2. Отримати інформацію про видавництва, у яких не вказан e-mail.

  3. Отримати в алфавитному порядку список авторів.

  4. Отримати назви книг заданого автора (код автора вводиться з екрана).

  5. Отримати назви книг, ціна яких знаходиться в границях від 10 до 50 гривень

  6. Отримати дату випуска книги з кодом 10.

Вариант 8

  1. Отримати всю інформацію про споживачів.

  2. Отримати інформацію про споживачів, у яких не вказан тедефон.

  3. Отримати в алфавитному порядку назви товарів, ціна яких вище 50 гривень.

  4. Отримати номери накладних за 15.02 поточного року.

  5. Отримати інформацію про товари заданого виробника (назва виробника вводиься з екрана).

  6. Яка адреса і телефон споживача «Віртус»?

Вариант 9

  1. Отримати всю інформацію про замовників.

  2. Отримати інформацію про виконавців, у яких не вказан телефон.

  3. Отримати інформацію про транспорт з датою випуску раніше 1999 року.

  4. Отримати в алфавитному порядку назви замовлень, вартість перевезення яких перевищує 100 гривень.

  5. Отримати коди не оплачених замовлень.

  6. Яка адреса у замовника «ОДАХ»?

Вариант 10

  1. Отримати всю інформацію про матеріали.

  2. Отримати в алфавитному порядку назви об’єктів з указанням їх адреси.

  3. Отримати назви матеріалів, ціна яких за одиницю не перевищує 90 гривень.

  4. Отримати назви об’єктів заданого типу (код типу вводиться з екрана).

  5. Отримати коди об’єктів, на яких витрачається 100 одиниць матеріалу з кодом 2.

  6. Отримати назви об’єктів по вулиці Балківській.

Вариант 11

  1. Отримати всю інформацію про авторів.

  2. Отримати в алфавитному порядку інформацію про замовників, у яких не вказан телефон.

  3. Отримати назви книг заданого автора, вартість яких не перевищує 50 гривень (код автора вводиться з екрана).

  4. Отримати інформацію про замовлення в січні 2008 року.

  5. Вказати адресу замовника «ОДАХ».

  6. Вказати коди книг, які замовив замовник з кодом=2.

Вариант 12

  1. Отримати всю інформацію про посади.

  2. Отримати в алфавитному порядку список співробітників з вищою освітою відділу №1.

  3. Отримати в алфавитному порядку список співробітників, прийнятих на роботу у серпні 2007 року.

  4. Отримати назви посад, оклад яких перевищує 1500 гривень. Розташувати назви в порядку спадання окладів.

  5. Отримати назви відділів, в яких може працювати 20 співробітників.

  6. Вказати адресу Іванова Івана Івновича.

Вариант 13

  1. Отримати назви видів спорту даного товариства.

  2. Отримати в алфавитному порядку список спортсменів.

  3. Отримати в алфавитному порядку список спортсменів, яким виповнилось 30 років.

  4. Отримати список тренерів, які мають звання «Майстер спорту».

  5. Отримати список тренерів заданого виду спорту (код виду спорту вводиться з екрана).

  6. Отримати в алфавитному порядку список спортсменів народившихся в лютому. Вказати день народження.

Вариант 14

  1. Отримати всю інформацію про клієнтів автосалону.

  2. Отримати в алфавитному порядку інформацію про клієнтів автосалону, у яких не вказан номер телефону.

  3. Отримати інформацію про моделі фірми з кодом 1.

  4. Отримати номери рахунків, виданих в березні поточного року.

  5. Отримати інформацію про авто з датою випуску 2007 рік і не дорожчих 70 тис. гривень.

  6. Вказати адресу та номер телефону клієнта, назва якого вводиться з екрану.

Вариант 15

  1. Отримати всю інформацію про замовників.

  2. Отримати в алфавитному порядку інформацію про замовників, у яких не вказан номер телефону.

  3. Отримати назви кімнатних рослин не дорожчих 30 гривень.

  4. Отримати список співробітників, прийнятих на роботу в 2007 році.

  5. Отримати інформацію про співробітника, прізвище якого вводиться з екрану.

  6. Отримати термін виконання договору № 30.

Вариант 16

  1. Отримати всю інформацію про учасників конференції.

  2. Отримати інформацію про учасників конференції, з країни з кодом =1.

  3. Отримати інформацію про теми конференції.

  4. Отримати в алфавитному порядку інформацію про учасників конференції з вищою освітою.

  5. Отримати в алфавитному порядку інформацію про учасників конференції, у яких не вказана посада.

  6. Отримати назву і дату доповіді заданого учасника конференції (код учасника вводиться з екрану).

Вариант 17

  1. Отримати всю інформацію про клієнтів.

  2. Отримати в алфавитному порядку інформацію про клієнтів, у яких не вказана адреса.

  3. Отримати інформацію про товари заданого виробника ціна за одиницю яких не перевищує 50 гривень (код виробника вводиться з екрану).

  4. Отримати номери рахунків, виданих в березні поточного року.

  5. Отримати номери рахунків клієнта з кодом =10.

  6. Отримати прізвища та імена клієнтів – абонентів мережі «КиівСтар»

Вариант 18

  1. Отримати всю інформацію про відділення поліклініки.

  2. Отримати в алфавитному порядку інформацію про паціентів чоловічої статі.

  3. Отримати інформацію про паціента, номер карточки якого вводиться з екрану.

  4. Отримати прізвища та імена лікарів, маючих ліцензію, отриману в 2000 році.

  5. Отримати номера карточок паціентів, які викликали лікаря в січні поточного року.

  6. Отримати прізвища, імена та адреси паціентів, яким виповнилось 90 років.

Вариант 19

  1. Отримати всю інформацію про кафедри.

  2. Отримати в алфавитному порядку інформацію про викладачів, займаючих посаду «доцент».

  3. Отримати в алфавитному порядку інформацію про викладачів, яким виповнилось 55 років.

  4. Отримати інформацію про видання 2007 року.

  5. Отримати інформацію про викладачів кафедри з кодом =31.

  6. Яка вчена степінь викладача Попова Петра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]