Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы Данных Методичка Лабораторные ИТП 2009.pdf
Скачиваний:
15
Добавлен:
07.02.2016
Размер:
1.28 Mб
Скачать

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

@Примітка

 

 

 

 

 

 

Поле зі спискомвідрізняється від Списку

тим, що

 

 

дозволяє вводити значення, відсутні в списку.

 

 

 

Завдання типу підстановки здійснюється або

вручну на

відповідній вкладці, або за допомогоюМайстра підстановки, що

викликається в стовпчику Тип даних.

 

 

 

 

 

 

 

 

 

 

 

@ Примітка

 

 

 

 

 

 

Припускається

також

створення

в

таблиці

поля

 

підстановок із посиланням на інше поле в тієї ж таблиці.

 

1.4 Встановлення зв’язків

1.4.1 Ключі

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

первинного ключа однієї таблиці та зовнішнього ключа - в інший.

Первинний ключ

Кожна таблиця повинна міститипервинний ключ - одне або

декілька полів, уміст яких унікальний для кожного запису.

 

При

створенні

таблицьAccess завжди

пропонує

задати

первинний ключ із типом данихЛічильник, значення якого буде автоматично збільшуватися на одиницю при додаванні нового запису.

@ Примітка

 

 

 

 

 

Поля

первинного

ключа

повинні

бути

як

можна

коротшими, оскільки

їхні

розміри

впливають

на

швидкість виконання операцій у базах даних.

 

 

 

10

Зовнішні ключі. Поняття посилальної цілісності

Коли поле однієї таблиці посилається на інше поле(в іншій таблиці), воно зветься зовнішнім ключем (foreign key). Поле, на який

він посилається, зветься

його батьківським ключем (parent

key).

Імена

зовнішнього

та

батьківського

ключів

можуть

неоднаковими.

 

 

 

 

 

Зовнішній ключ, як і первинний, може бути визначений на будь-

якій

кількості полів, які

усі

разом розглядаються

як єдине

ціле

(складовий ключ). Зовнішній ключ і батьківський, на який він посилається, повинні бути визначені на однаковій множині полів(за кількістю полів, типам полів і порядку слідування полів).

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

1.4.2 Конструктор зв'язків

Конструктор зв'язків викликається командоюСервісðСхема

даних

або за

допомогою кнопкиСхема даних

панелі

інструментів .

роботи вікноСхема даних не містить

 

На

початку

таблиць.

Додавати таблиці до вікна можна у такий спосіб:

 

використавши діалогове вікноДодавання таблиці; що відчиняється автоматично, якщо вікно Схема даних для бази даних відчиняється вперше;

за допомогою кнопкиДодати таблицю панелі інструментів;

за допомогою команди Зв'язкиðДодати таблицю;

у вікні Схема даних викликати контекстне меню та вибрати команду Додати таблицю.

11

Установка зв'язків між таблицями

Перш за все, слід мати на увазі, що таблиці зв’язуються лише за полем, яке є загальним (за вмістом , а не за назвою) для обох таблиць. Для установки зв'язків між таблицями потрібно вибрати загальне поле

в одній таблиці та перетягнути його мишкою в загальне поле тієї таблиці, яку необхідно зв'язати з першою. При цьому викликається діалогове вікно Зв'язки, показане на рисунку 1.1.

Рисунок 1.1 - Діалогове вікно Зв'язки

У вікні Зв'язки міститься інформація про поля зв'язку головної та підпорядкованої таблиць, параметрах забезпечення цілісності даних

ітип зв'язку, який встановлюється.

Уверхній частині вікна виводяться найменування таблиць. Таблиця, що знаходиться зліва, рахується первинною в цьому відношенні. Нижче розміщується поля зв'язку обох таблиць. Після встановлення зв'язку можна включити підтримку цілісності даних.

@ На замітку Цілісність даних - це набір правил, що охороняють

пов'язані таблиці від внесення некоректних значень.

Каскадне оновлення пов'язаних полів

Якщо включена опціяЗабезпечення цілісності даниху вікні Зв'язки, Access дозволяє включити опціюКаскадне оновлення пов'язаних полів. При цьому зміна значення ключа в батьківській

 

 

12

 

 

 

 

таблиці

автоматично

викликає

оновлення

відповідних

полів

в

підлеглих таблицях.

 

 

 

 

 

MУвага

Якщо опція Каскадне оновлення пов'язаних полівне включена, змінити значення ключового поля первинної таблиці не можна.

Каскадне вилучання пов'язаних записів

Ця опція дає можливість після вилучання запису у первинній таблиці автоматично вилучати відповідні записи в підлеглих таблицях.

MУвага

Будьте обережні з опцією вилучання пов'язаних записів! Access не попереджує про каскадне вилучання

Для вилучання існуючого зв'язку потрібно зайти у вікноСхема даних, виділити потрібний зв'язок і вилучити його за допомогою або кнопки на панелі інструментів, або команди Вилучити в контекстному меню

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

sЯкі типи даних використовуються в Access?

sЯк задається режим автоматичної нумерації записів?

sЯк можна задати значення по замовчанню в числові поля?

sЩо таке формат даних, як він задається?

sДля чого використовується маска вводу та як вона задається?

sЯк задається ключове поле?

sЯкі властивості поля підтримує Access?

sЯк можна задати список значень для підстановки в поле?

sЩо таке первинні та зовнішні ключі?

sЯк встановлюються та вилучаються зв'язки між таблицями?

sПоняття цілісності даних; як воно підтримується в Access?

sЯк встановлюється Каскадне вилучання пов'язаних полів?

sЯк здійснити Каскадне оновлення пов'язаних полів?

13

2 ЛАБОРАТОРНА РОБОТА № 2 "СТВОРЕННЯ ПРОСТИХ ЗАПИТІВ"

2.1 Мета роботи

Метою роботи є ознайомлення з основними прийомами упорядкування і використання запитів.

2.2 Завдання до лабораторної роботи

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

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

 

 

 

За

допомогою

запитів

користувач

може

вибрати

з таблиці

необхідні дані й відобразити їх на екрані. Результатом опрацювання

запиту є таблиця, яка має назву динамічного,

тимчасового набору

даних.

 

 

 

 

 

 

При

зберіганні

запиту

зберігається

тільки

структура

запиту,

тобто лише перелік

таблиць, список полів,

порядок сортування,

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

2.3.1 Типи запитів

Access підтримує такі основні типи запитів:

Запит на

Найпоширеніший тип запиту. Витягає дані з однієї

вибірку

або декількох таблиць і результати відображає в

Груповий

режимі таблиці.

Це спеціальна версія запиту на вибірку. Дозволяє

запит

обчислювати суми, підраховувати кількість записів

 

і виконувати розрахунки підсумкових значень. При

 

виборі цього типу запиту Access добавляє до

 

бланку запиту рядок Групова операція

 

 

 

14

 

 

 

 

 

Запит на

Дозволяє

створювати

 

нові

таблиці(команда

зміну

Створення

таблиці)

або

змінювати

дані

в

 

існуючих

таблицях (команди

Вилучання,

Перехресний

Оновлення та Додавання).

 

 

 

 

Відображає

результати

статистичних

розрахунків

запит

(такі як суми, кількість записів і середнє значення),

 

які виконані за даними одного поля. Ці результати

 

групуються за двома наборами даних у форматі

SQL

перехресної таблиці (аналогічно таблиці Excel).

 

Це запит, який створений за допомогою інструкції

Запит із

SQL.

 

 

 

 

 

 

 

Цей

обмежувач запиту

можна

використовувати

обмеженням

тільки

в

кон'юнкції з іншими

п'ятьма

типами

 

запитів. Він дозволяє задавати кількість перших

 

записів або частину загальної кількості записів у

 

відсотках, яку користувач хотів би одержати в будь-

 

якому виді запитів.

 

 

 

 

 

2.3.2 Створення запитів на вибірку

Запит на вибірку називають такожзапитом за зразком (QBE - Query By Example). Для його проектування потрібно у вікні бази

даних вибрати розділЗапити, а

потім

натиснути

 

на кнопці

Створити.

 

 

 

 

 

 

 

 

На екрані з'явиться діалогове вікноНовий

запит із

списком

варіантів створення запиту:

 

 

 

 

 

 

 

Конструктор

- новий

запит

створюється

"вручну",

без

допомоги майстра;

 

 

 

 

 

 

 

 

Простий запит - на

основі

обраних

полів

створюється

простий запит;

 

 

 

 

 

 

 

 

Перехресний

запит - створюється запит,

у

якому

дані

надаються в компактному форматі, подібному формату відображення

даних в електронних таблицях;

 

 

 

 

 

 

 

Повторювані

записи - створюється

запит,

у

якому

відображаються лише дублікати значень полів у таблиці або простому

запиті;

 

 

 

 

 

 

 

 

Записи без

підпорядкованих-

створюється

запит,

у якому

15

відображаються ті записи з однієї таблиці, що не мають зв'язків із записами іншої таблиці (підпорядкованої).

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

Для вибору таблиць або запитів потрібно виділити відповідний елемент і натиснути кнопкуДодати. По закінченні вибору треба натиснути кнопку Закрити.

Вікно Конструктора запитів складається з двох частин (рис. 2.1): Область таблиць запиту - це місце, де розміщаються таблиці

або запити й встановлюються зв'язки між ними.

Бланк запиту призначений для визначення полів і умов, що будуть використані для витягу динамічного набору даних. У кожному стовпчику бланка запиту міститься інформація про одне поле з таблиці або запиту у верхній частині екрана.

Область таблиць запитів

Бланк запиту

Рисунок 2.1 - Вікно конструктора запитів

Бланк запиту містить шість рядків:

1.Поле – ім'я поля;

2.Ім'я таблиці – ім'я таблиці;

16

3.Сортування – місце запровадження інструкцій сортування;

4.Виведення на екран – визначає, чи буде присутнім поле в динамічному наборі даних;

5.Умова відбору – містить першу умову, що обмежує набір

записів;

6.Або – інші умови обмеження набору записів.

Вставка та вилучання полів

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

Для вилучання стовпчиків із бланка запиту можна скористатися командами ПравкаðВилучити стовпчики або ПравкаðОчистити бланк, а також шляхом виділення стовпчика та натискання клавіші

<Del>.

Зміна порядку сортування

Сортування даних за окремими полями може виконуватися як по зростанню, так і по зменшенню. Сортування за декількома полями залежить від порядку розміщення полів у бланку запиту(зліва на право).

@ Примітка

Поля типу Memo та OLE не сортуються

Відбір записів

Умови відбору записів- це набір визначених уAccess або заданих користувачем правил. Умови задаються за допомогою виразу.

Вираз може задаватися за зразком або використовувати складні функції вибору.

Наприклад, можна вибрати товари, які поставлені у поточному кварталі постачальниками, розташованими у визначеному регіоні.

17

Зв'язування таблиць у запиті

Дуже часто виникає необхідність вибірки інформації з декількох таблиць.

MУвага

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

Зв'язки між таблицями можна створити таким чином:

при створенні макета бази даних;

вибрати для запиту дві таблиці з однаковими полями одного типу, одне з яких також є ключовим полем в одній з цих таблиць;

створити зв'язки у вікні конструктора запитів.

У перших двох способах зв'язки встановлюються автоматично. Проте іноді необхідно додати до запиту незв'язані таблиці, наприклад:

дві таблиці мають загальне поле, яке назване різними іменами;

таблиця не пов'язана(й не може бути пов'язана) іншою таблицею.

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

Типи зв’язків між таблицями

Між таблицями й запитами можна встановити такі типи зв'язків:

один-до-одного;

один-до-багатьох;

багато-до-одного.

багато-до-багатьох.

При завданні зв'язку між таблицями встановлюються тільки правила зв'язку, але не засіб перегляду даних на основі цього зв'язку.

18

Для перегляду даних у двох таблицях їх необхідно з'єднати загальним полем (або групою полів) в обох таблицях. Такий метод з'єднання таблиць називається'єднанням (joining). Існують різноманітні типи з'єднань:

рівні з'єднання (внутрішні з'єднання);

зовнішні з'єднання;

самоз'єднання;

перехресні (декартові) з'єднання.

Внутрішнє з'єднання (рівне з'єднання)

Прийнято в Access по умовчанню. Означає, що з таблиць вибираються тільки записи, що мають однакове значення в обох таблицях.

При з’єднанні таблиці одержують деякі нові риси (або властивості) зв'язку. Властивість зв'язку – це правило, що управляє відображенням усіх записів (для заданих полів) і яким керується Access при інтерпретації будь-яких винятків (а можливо, й помилок) у таблицях).

Access дозволяє змінити тип з'єднання шляхом зміни його властивостей. Для зміни властивостей з'єднання треба вибрати лінію зв'язку та двічі клікнути на ній лівою кнопкою миші. На екрані з'явиться діалогове вікно Параметри з'єднання (рис. 2.2).

Рисунок 2.2 - Діалогове вікно "Параметри з'єднання"

19

У вікні є три перемикачі. Перший варіант зазвичай називають

внутрішнім (INNER JOIN – у термінах мови SQL) з'єднанням, а два інших – зовнішнім.

Зовнішні з'єднання відображають усі записи, що мають відповідні друг другу дані в обох полях. Вони також показують записи з однієї таблиці, що не мають підпорядкованих їм даних в іншій таблиці. Існує два види зовнішніх з'єднань: ліві (LEFT JOIN) і праві

(RIGHT JOIN).

@ Примітка

 

 

 

 

Слід мати на увазі, що при перекладі мови інтерфейсуAccess

 

термін Join

(операція

реляційної алгебри з’єднання)

був

 

помилково перекладений як об’єднання (а це вже принципово інша

 

операція – Union). Ця

прикра помилка також дуже

часто

зустрічається у технічній літературі.

 

 

2.3.3 Вибір за складними умовами відбору записів

Оператор Like і символи підстановки

У полі Умови відбору бланка запиту можна задавати маску відбору за допомогою оператораLike, у якому використовуються символи підстановки (таблиця 2.1 і таблиця 2.2).

 

MУвага

Like

 

 

 

 

 

 

 

Оператор

і

символи

підстановки

 

можуть

 

використовуватися

тільки для трьох типів :

полів

 

текстового, Memo та дати. При роботі з іншими типами

 

 

 

 

полів це може призвести до помилки.

 

 

 

 

 

Таблиця 2.1

- Символи

підстановки,

які використовуються

оператором Like

 

 

 

 

 

 

 

 

 

 

 

 

Спеціальний символ

 

Призначення

 

 

?

 

Будь-який символ (0-9, Aa-Zz, Аа-Яя)

 

 

*

 

Будь-яка кількість символів (0-n)

 

 

#

 

Будь-яка цифра