бази даних

93
БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ © К.Ю. Поляков, 2007 Переклад В.Семенюка 1. Інформаційнi системи 2. Бази даних (БД) 3. Реляційні БД 4. Робота з таблицями 5. Проектування таблиць 6. Форми 7. Макроси 8. Запити 9. Звіти

Upload: escuela

Post on 26-May-2015

2.566 views

Category:

Education


5 download

DESCRIPTION

Теоретичні основи баз даних. СУБД. Створення запитів, звітів, форм. Практична частина базується на використанні MS Access.

TRANSCRIPT

Page 1: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИ

© К.Ю. Поляков, 2007

Переклад В.Семенюка

1. Інформаційнi системи2. Бази даних (БД)3. Реляційні БД4. Робота з таблицями5. Проектування таблиць

6. Форми7. Макроси8. Запити9. Звіти

Page 2: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 1. Інформаційні системи

Page 3: бази даних

3Означення

База даних (БД) – це сховище даних про деяку предметну область, організоване у вигляді спеціальної структури.

Важливо: дані про деяку область (не про все) впорядковані

Система керування базою даних (СУБД) – це програмне забезпечення для роботи з БД.

Функції: пошук інформації в БД виконання нескладних розрахунків виведення звітів на друк редагування БД

Інформаційна система – це БД + СУБД.Інформаційна система – це БД + СУБД.

Page 4: бази даних

4Типи інформаційних систем

• локальні ІС БД і СУБД знаходяться на одному комп’ютерi.

• файл-сервернi БД знаходиться на сервері мережі (файловому сервері), а СУБД на комп’ютерi користувача.

• клієнт-серверні БД і основна СУБД знаходяться на сервері, СУБД на робочій станції посилає запит і виводить на екрані результат.

Page 5: бази даних

5Локальні ІС

БДСУБД

автономність (незалежність)

1) з БД працює тільки одна людина2) складно поновлювати при великій кількості

користувачів3) практично неможливо «стикувати» зміни, що

вносяться декільками користувачами

Page 6: бази даних

6Файл-сервернi IС

БД СУБД

СУБДСУБД

СУБД

декілька чоловік працюють з одною базою

1) основна робота виконується робочою станцією (РС), вони повинні бути потужними

2) для пошуку рядка на РС копіюється вся БД – навантаження на мережу

3) слабкий захист від взлому (тільки на РС)4) проблеми при одночасній зміні з різних РС

Page 7: бази даних

7Клієнт-серверні ІС

БД

СУБД-клієнт

СУБД-клієнт

СУБД-клієнт

1) основну роботу виконує сервер, робочі станції можуть бути малопотужні

2) простіша модернізація (тільки сервер)3) по мережі йдуть тільки потрібні дані4) захист і права доступу ставляться на сервері (складно взломати)5) розділені доступи (черга завдань)

запит на SQL

відповідь

СУБД-сервер:• MS SQL Server• Oracle• MySQL

• Interbase• SyBase

SQL (Structured Query Language) – мова структурних запитів

1) складність налаштування2) висока вартість ПЗ (тисячі $)

Page 8: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 2. Бази даних

Page 9: бази даних

9Типи баз даних

• табличні БД дані у вигляді одної таблиці

• мережеві БД набір вузлів, в яких кожний може бути зв’язаний з кожним.

• iєрархічні БД у вигляді багаторівневої структури

• реляційні БД (99,9%) набір взаємозв’язаних таблиць

Page 10: бази даних

10Табличнi БД

Прізвище Ім’я Адресa Телефон

Барвінок Олесь Свободи пр., б. 32, кв. 11 275-75-75

Івченко Іван Шухевича вул., б.25, кв.12 276-76-76

Модель – картотека

Приклади:• записна книжка• каталог в бібліотеці

Барвінок ОлесьСвободи пр., б. 32, кв. 11275-75-75

записизаписи

1) сама проста структура2) всі інші типи БД використовують таблиці

в багатьох випадках – дублювання даних:

поляполя

Леся Українка Лісова пісня 100 стр.

Леся Українка Камінний господар 92 стр.

Page 11: бази даних

11Ключеве поле (ключ таблицi)

Ключеве поле (ключ) – це поле (або комбінація полів), яке однозначно визначає запис.

В таблиці не може бути двох записів з одинаковим значенням ключа.

Чи можуть ці дані бути ключем?• прізвище• iм’я• номер паспорта• номер будинка• регістраційний номер автомобіля• місце проживания• дата виконання роботи• марка пральної машини ?

Page 12: бази даних

12Табличні БД

1. Кількість полів визначається розробником і не може змінюватися користувачем.

2. Будь-яке поле повинне мати унікальне ім’я.

3. Поля можуть мати різний тип:

• рядок символів (довжиною до 255 символів)

• дійсне число (з дробовою частиною)

• ціле число

• грошова сума

• дата, час, дата і час

• логічне поле (істинно або хибно, так або ні)

• багаторядковий текст (МЕМО)

• рисунок, звук або інший об’єкт (об’єкт OLE)

4. Поля можуть бути обов’язковими для заповнення або ні.

5. Таблиця може містити скільки завгодно записів (ця кількість обмежена тільки об’ємом диска); записи можнa додавати, вилучати, редагувати, сортувати, шукати.

Page 13: бази даних

13Мережеві БД

Мережева БД - це набір вузлів, в яких кожний може бути зв’язаний з кожним.

БГ

А

В

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

1) складно зберігати і шукати інформацію по всіх зв’язках2) заплутаність структури

Можна зберігати у вигляді таблиці, але з дублюванням даних! Можна зберігати у вигляді таблиці, але з дублюванням даних!!!

Page 14: бази даних

14Ієрархічна БД

Ієрархічна БД – це набір даних у вигляді багаторівневої структури.

Прайс-лист:

Продавець (рівень 1)

Товар (рівень 2)

Модель (рівень 4)

Ціна (рівень 5)

Виробник (рівень 3)

$306$306 $312$312

S93S93 X93BX93B

SonySony PhillipsPhillips SamsungSamsung

МоніториМонітори ПринтериПринтери

КейКей

Page 15: бази даних

15Ієрархічна БД

Приведені до табличної форми:

Продавець Товар Виробник Модель Ціна

Кей Монітор Sony S93 $306

Кей Монітор Sony X93B $312

Key Монітор Phillips 190 B5 CG $318

Кей Монітор Samsung SyncMaster 193P

$452

1) дублювання даних2) при зміні адреси фірми потрібно змінювати його у

всіх рядках3) немає захисту від помилок введення оператора

(Кей – Key), краще було б вибирати із списку

Page 16: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 3. Реляційні бази даних

Page 17: бази даних

17Реляційні БД

1970-і р. Е. Кодд, англ. relation – відношення.

Реляційна база даних – це набір простих таблиць, між якими встановлені зв’язки (відношення) за допомогою числових кодів.

Продавці

Код

Назва

Адреса

Телефон

Сайт

Виробники

Код

Назва

Країна

Сайт

Моделі

Код

Назва

Код виробника

Товари

Код

Назва

Прайс-лист

Код запису

Код продавця

Код виробника

Код товара

Код моделі

Ціна

Page 18: бази даних

18Реляційні БД

1) немає дублювання інформації;

2) при зміні адреси фірми, достатньо змінити її тільки в таблиці Продавці;

3) захист від неправильного введення: можна вибрати тільки фірму, яка ще раніше уведена в таблицю Продавці;

4) механізм транзакцій: будь-які зміни вносяться в базу тільки тоді, коли вони повністю завершені.

1) складність структури (не більше 40-50 таблиць);

2) при пошуку потрібно звертатися до декількох таблиць;

3) потрібно підтримувати цілісність: при вилучені фірми продавця потрібно вилучати всі зв’язані записи з всіх таблиць (в СУБД – автоматично, каскадне вилучення).

Page 19: бази даних

19Зв’язки мiж таблицями

Один до одного («1-1») – один запис в першій таблиці відповідає рівно один запис в другій.Застосування: виділення даних, які часто використовуються.

Код Прізвище Ім’я

1 Іванов Кузьма

2 Петров Василь

Код Рік народження

Адреса

1 1992 Суворовський, б.20, кв. 6

2 1993 Корочна вул., б. 30, кв 18

1 1

Один до багатьох («1- ») – один запис в першій таблиці відповідає скільки завгодно записів у другій.

Код Назва

1 Монітор

2 Вінчестер

Код Код товару Ціна

123 1 10 999

345 1 11 999

1 товаритовари прайс-лист

прайс-лист

Page 20: бази даних

20Зв’язок між таблицями

Багато до багатьох (« - ») – один запис в першій таблиці відповідає скільки завгодно записів у другій, і навпаки.

Код Прізвища

1 Іванов

2 Петров

Код Назва

1 Історія

2 Географія

3 Біологія

Реалізація – через третю таблицю і два зв’язки «1-».

Код Прізвища

1 Іванов

2 Петров

Код Назва

1 Історія

2 Географія

3 Біологія

КодКод

учителяКод

предметаКлас

1 1 1 9-А

2 1 2 8-Б

3 2 3 7-В

розкладрозклад

учителіучителі предметипредмети

1 1

Page 21: бази даних

21Нормалізація бази даних

Нормалізація – це розробка такої структури БД, в якій немає надлишкових даних і зв’язків.

Основнi принципи: Будь-яке поле повинне бути неподільним.

Прізвище та ім’я

Іванов Петр

Петров Іван

Прізвище Ім’я

Іванов Петр

Петров Іван

Не повинно бути полів, які позначають різні види одного і того

ж, наприклад, товару.

Рік Банани Ківі

2006 3200 1200

2007 5600 1500

РікКод

товаруКіл-сть

2006 1 1200

2007 2 1500

Код Товар

1 Банани

2 Ківі

1

Page 22: бази даних

22Нормалізація бази даних

Основні принципи: Будь-яке поле повинне залежати тільки від ключа (ключ – це

поле або комбінація полів, що однозначно визначає запис).

Код Назва Ціна

1 Монитор 9 000 р.

2 Винчестер 11 000 р.

Не повинно бути полів, які можуть бути знайдені за допомогою

решти.

Код ТоварЦіна за

тонуКількість,

тонВартість

1 Банани 1200 10 12 000

2 Ківі 1500 20 30 000

товаритоваризалежить не тільки від назви товару!

залежить не тільки від назви товару!

прайс-листпрайс-лист

Page 23: бази даних

23Пошук в базах даних

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

Код Прізвище

1 Сайгук

2 Вітрук

1024 Помірко

Іванків?Іванків?

1024 порівнянь!

дані не потрібно попередньо готувати

низька швидкість пошуку

Page 24: бази даних

24Двійковий пошук

1. Розділити область пошуку на дві рівні частини.

2. Визначити, в якій половині знаходиться потрібний об’єкт.

3. Перейти до кроку 1 для цієї половини.

4. Повторювати кроки 1-3 поки об’єкт не буде «зловлений».

1. Розділити область пошуку на дві рівні частини.

2. Визначити, в якій половині знаходиться потрібний об’єкт.

3. Перейти до кроку 1 для цієї половини.

4. Повторювати кроки 1-3 поки об’єкт не буде «зловлений».

Page 25: бази даних

25Пошук в базах даних

1 Андрійчук

2 Борсук

512 Коваль

1023 Юрчук

1024 Яшин

Двійковий пошук в БД – вимагає попереднього сортування.

Іванів?Іванів? 1 Андрійчук

255 Журов

512 Коваль

1024 Яшин

255 Журов

383 Ігнатчук

512 Коваль

Скільки порівнянь? Скільки порівнянь???

1) записи потрібно відсортувати по потрібному полю;

2) можна використовувати тільки для одного поля.

швидкий пошук

11 порівнянь!

Page 26: бази даних

26Пошук по індексам

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

ТаблицяНомер Дата Товар Кількість

1 02.02.2006 Ківі 6

2 01.11.2006 Банани 3

3 12.04.2006 Апельсини 10

Індекси:

по даті

Номер Дата

1 02.02.2006

3 12.04.2006

2 01.11.2006

по товару по кількості

Номер Товар

3 Апельсини

2 Банани

1 Ківі

Номер Кількість

2 3

1 6

3 10

Page 27: бази даних

27Пошук по індексам

Алгоритм пошуку:1) двійковий пошук по індексу – знайти номера

потрібних записів;2) вибрати ці записи по номерам з основної

таблиці.

1) індекси займають місце на диску;

2) при зміні таблиці потрібно перелаштовувати всі індекси (в СУБД – автоматично).

двійковий пошук по всім стовпцям, для яких побудовані індекси

Page 28: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 4. Бази даних Access. Робота з таблицями

Page 29: бази даних

29Бази даних Access (Microsoft Office)

Расширення: *.mdb, один файл

Склад:• таблиці;• форми – діалогові вікна для введення і

редагування даних;• запити – звертання до бази даних для вибору

потрібної інформації або зміни бази;• звіти – документи для виведення на друк;• макроси – засоби автоматизації роботи;• модулі – додаткові процедури на мові Visual

Basic.

Page 30: бази даних

30Початок роботи

Пуск – Програми – Microsoft Office – Microsoft Access 2003

Page 31: бази даних

31Сервіс – Схема даних

таблицятаблиця ключеве полеключеве поле

зв’язок «1-»зв’язок «1-»

Вилучити зв’язок: ЛКМ + Delete.

Створити зв’язок: перетягнути потрібне поле на відповідне поле другої таблиці.

Page 32: бази даних

32Робота з таблицями

Таблиці – Замовлення – або подвійне клацання ЛКМ

Page 33: бази даних

33Робота з таблицями

поляполя

записизаписи

текучий запис

текучий запис

область виділенняобласть

виділення

новий запис

новий запис

на 1-ий запис

на 1-ий запис попередній

записпопередній

запис

номер текучого запису

номер текучого запису

наступний запис

наступний запис

останній запис

останній запис

перейти на новий

запис

перейти на новий

запис

всього записіввсього записів

текуче поле

текуче поле

Page 34: бази даних

34Сортування і пошук

Сортування по текучому полю (стовпцу):

по зростанню (в алфавітному порядку)

по спаданню (в зворотньому алфавітному порядку)

Пошук і заміна:

текуче поле або всі поля

текуче поле або всі поля

ціле, з будь-якою частиною, з

початком

ціле, з будь-якою частиною, з

початком

все, вверх, внизвсе, вверх, вниз

Page 35: бази даних

35Фільтрація

Фільтрація – це відбір записів, що задовільняють деяку умову (фільтр).Решта записів тимчасово приховують, поки фільтр не буде знято.

Фільтр по виділеному1. Клацнути в потрібній комірці або виділити частину текста.

2. Клацнути по кнопці .

3. Зняття фільтра .

Page 36: бази даних

36Фільтрація

Складні умови

Одночасно(операція І)Одночасно(операція І)

Розпочинається з ‘С’Розпочинається з ‘С’

нова умова, зв’язана через АБО

нова умова, зв’язана через АБО

Записи – Фільтр – Змінити фільтр

Повний варіант: Записи – Фільтр – Розширенний фільтр

• можна переставляти стовпці• можна виводити не всі стовпці• можна встановлювати порядок сортування

Точне співпадінняТочне співпадіння

Page 37: бази даних

37Службові операції

Сервіс – Службові програми:• Перетворити базу даних

• у формат Access-97• у формат Access-2000

• Стиснути і поновити базу даних (фізично вилучити зайві записи)

• Резервна копія бази даних

Установка пароля:• Сервіс – Захист – Задати пароль бази даних

Page 38: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 5. Проектування таблиць

Page 39: бази даних

39Стоворення таблиць

• введення даних і назв полів (режим таблиці);• конструктор – ручне налаштування;• майстер таблиць – створення таблиць стандартних типів

(Товари, Клієнти, Співробітники, …);• імпорт таблиць – завантаження даних з інших джерел (БД інших

форматів, Excel, текстові файли, …).

Page 40: бази даних

40Створення таблиць

Введення данихМайстер

Імпорт• з інших БД Access• з БД інших форматів

(*.db, *.dbf)• з таблиць Excel• з документів XML• з текстових БД (CSV –

comma separated values)

Page 41: бази даних

41Конструктор таблиць

перейти в конструктор

перейти в режим таблиці

Page 42: бази даних

42Конструктор таблиць

тип поля (вибір зі списку)

тип поля (вибір зі списку)

властивості текучого полявластивості

текучого поля

ключ

текуче поле

Page 43: бази даних

43Властивості полів

Розмір поля: байт, ціле, дійсне, …

Формат поля: як виводити на екран.

Маска введення: шаблон (введення телефона).

Підпис: як називається стовпець при виведенні на екран (можна використовувати дужки, знаки і т.д. («Населення, млн. чол.»)

Значення за замовчуванням: (вписується автоматично).

Умова на значенням: захист від помилок введення («>18»).

Повідомлення про помилку («Повернення повинне бути

більше 18 років!»)

Обов’язкове поле (так/ні)

Індексоване поле (так/ні)

Page 44: бази даних

44Операції з полями

зробити поле ключовим (відмінити…)

додати поле вище текучого

вилучити текуче поле (або всі виділені)

індекси поле таблиці(вибір зі списку)

поле таблиці(вибір зі списку)

Primary Key:ключ

таблиці

Primary Key:ключ

таблиці

назва індексаназва

індекса

Page 45: бази даних

45Підстановки

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

Розв’язок: вибір зі списку = поле підстановки

Варіанти:

• заданний список («так» або «ні», «Ч» або «Ж»)

• з іншої таблиці (наприклад, вибір назви фірми)

Як зробити:

Page 46: бази даних

46Майстер підстановок

Page 47: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 6. Форми

Page 48: бази даних

48Форми

Форма – це діалогове вікно для• перегляду і редагування даних• введення нових записів• керування ходом роботи (кнопки)• виведення допоміжної інформації

Створення форм:

джерело даних

джерело даних

Page 49: бази даних

49Створення форм

Конструктор – повністю вручну.Майстер форм – режим «питання – відповіді».

Автоформа в стовпець: Автоформа в рядок:

Автоформа таблична:Діаграма:

Page 50: бази даних

50Конструктор форм

перейти в конструктор

перейти в режим форми

область виділенняобласть

виділення

кнопки переходукнопки

переходу

Page 51: бази даних

51Конструктор форм

вибраний елемент

вибраний елемент

заголовок форми

заголовок форми

область даних

область даних

примітка форми

примітка форми

зміна розмірів

зміна розмірів

Page 52: бази даних

52Властивості форми

Вікно властивостей

Правка – Виділити форму

область виділенняобласть виділення

Макет

кнопки переходукнопки переходу

Дані• Джерело – таблиця або запит• Фільтр – умова відбору записів• Сортування

Події (призначення макросів)• натиск на клавіши, дія мишою, …• відкриття, закриття, зменіння запису, …

Page 53: бази даних

53Зв’язані елементи

напис (текст можнa змінювати)

напис (текст можнa змінювати)

поле (назва поля таблиці)

поле (назва поля таблиці)

маркери (зміна

розмірів)

маркери (зміна

розмірів)

Незалежне переміщенняНезалежне

переміщення

клацнути всередині, щоб змінити текст

клацнути всередині, щоб змінити текст клацнути на

рамці, щоб виділити елемент

клацнути на рамці, щоб виділити елемент

Page 54: бази даних

54Властивості елементів

Панель форматування

вибраний елемент

вибраний елемент

назва шрифтаназва

шрифтарозмір

шрифтарозмір

шрифтажирний, курсив,

підкресленняжирний, курсив,

підкреслення

вирівнюваннявирівнювання колір фонуколір фону

Колір текстуКолір тексту

колір рамкиколір рамки

товщина рамки

товщина рамки стильстиль

Стиль оформлення:

нормальний, припіднятий, притопленний, втиснутий, з тінью, рельєфний

Виділення елементів:• ЛКМ на рамці елемента• + Shift = виділити декілька елементів

Page 55: бази даних

55Властивість елементів

Вікно властивостей

Макет:• розміри• оформлення

Дані:• Дані – назва поля• Маска введення – шаблон (для телефона)• Значення за замовчуванням• Умова на значення• Повідомлення про помилку

Подія• дія користувача (клавіатура, миша)• зміна даних

ПКМ – Властивості

Page 56: бази даних

56Додавання нових елементів

Вивести (сховати) панель елементів

вибір об’єктіввибір

об’єктівмайстермайстер

написнапис

поле (інформація з бази даних)

поле (інформація з бази даних)

рисунокрисунок

незалежний об’єкт (наприклад,

діаграма Excel)

незалежний об’єкт (наприклад,

діаграма Excel)

елементи інтерфейсаелементи

інтерфейса

зв’язанний об’єкт (зберігається в БД) зв’язанний об’єкт (зберігається в БД)

розрив сторінкирозрив

сторінкипідлегла форма

підлегла форма

інші елементи

інші елементи

Page 57: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 7. Макроси

Page 58: бази даних

58Макроси

Макрос – це набір макрокоманд.

Макрокоманда описує дії, які потрібно виконувати:

• відкриття і закриття таблиць, звітів, форм

• виконання запитів

• установка значень полів

• пошук даних

• керування виведенням на екран

• друк даних

• повідомлення користувачу

• запуск інших програм

Події (для запуску макроса)

• дія користувача (клавіатура, миша)

• внутрішні події (відкриття і закриття форми зміни запису і т.д.)

Page 59: бази даних

59Простий макрос

Конструктор

Page 60: бази даних

60Макроси

Відлагодження макроса• перейти в конструктор• Запуск – По крокам• запустити на виконання

Використання макросів• AutoExec – виконується автоматично при відкриті

бази• призначення подіям

вибрати ім’я макроса зi списку

вибрати ім’я макроса зi списку

Page 61: бази даних

61Макроси

Групи макросів• Вигляд – Імена макросів• Запуск

Макрос1: QQQ

Макрос1: MMM

Макрос1 тільки перша група

Умовне виконання• Вигляд – Умова

або

Page 62: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 8. Запити

Page 63: бази даних

63Запити

«Ну і запити у вас!» - сказала база даних і «зависла».

(Фольклор)

Запит – це звертання до СУБД для виконання яких-небудь операцій з даними.

Типи запитів:• вибірка• створення таблиці• поновлення (зміна даних)• додавання записів• вилучення записів• …

Page 64: бази даних

64Запит і фільтрація

В запиті можна:

• відібрати інформацію з декількох зв’язаних таблиць

• використовувати складні умови відбору

• користувач може сам увести параметри (суму грошей)

• додати обчислювальні поля

• виконати підсумкові розрахунки

Page 65: бази даних

65Створення запитів

Page 66: бази даних

66Майстер запитів

Page 67: бази даних

67Запуск запита

Page 68: бази даних

68Конструктор

перейти в конструктор

перейти в режим таблиці

Page 69: бази даних

69Конструктор

таблиця(ПКМ – Додати таблицю)

таблиця(ПКМ – Додати таблицю)

перетягнути ЛКМ

перетягнути ЛКМ

всі полявсі

поля

•по зростанню•по спаданню•відсутня

•по зростанню•по спаданню•відсутня

фільтрфільтр

Page 70: бази даних

70Робота з стовпцями

виділити (ЛКМ)

виділити (ЛКМ)

ПКМ:• вирізати• копіювати• вставити• властивості

ПКМ:• вирізати• копіювати• вставити• властивості

перетягнути (ЛКМ)

перетягнути (ЛКМ)

Page 71: бази даних

71Умова відбору

Співпадіння

Нерівність

Шаблон

* будь-яка кількість довільних символів? один будь-який символ # будь-яка цифра

Page 72: бази даних

72Побудова виразів

Forms – формиReports – звітиФункції: 1) вмонтовані; 2) функції користувача (VB) Константи: пустий рядок, Істинно, ХибноОператори: + - * / < > <= >= = <> Not And Or XorЗагальні вирази – час, дата, нумерація рядків

ПКМПКМ

Page 73: бази даних

73

Всі дані, які можна обчислити, не повинні зберігатися в таблицях!

Всі дані, які можна обчислити, не повинні зберігатися в таблицях!!!

Обчислювальні поля

• ввести Ціна*Кількість Вираз1: [Ціна]*[Кількість]• замінити Вираз1 на Сума

• ввести Ціна*Кількість Вираз1: [Ціна]*[Кількість]• замінити Вираз1 на Сума

• ввести Year(Дата) Вираз1: Year([Дата])

• замінити Вираз1 на Рік

• ввести Year(Дата) Вираз1: Year([Дата])

• замінити Вираз1 на Рік

або ПКМ - Побудуватиабо ПКМ - Побудувати

Page 74: бази даних

74Запити з параметрами

Задача: вводити числові дані для фільтра не в конструкторі, а при виконанні запитів.

Приклад: «На яку суму Ви розраховуєте?»

Будь-який невідомий рядок викликає запитБудь-який невідомий рядок викликає запит

Page 75: бази даних

75Підсумковий запит

Конструктор

Таблиця Підсумковий запит

Групові операціїГрупові операції

ГрупуванняГрупування ГрупуванняГрупування Sum – сумаSum – сума

Page 76: бази даних

76Підсумковий запит (майстер)

ЛКМЛКМ

Page 77: бази даних

77Перехрестний запит

Таблиці

Перехрестний запит

Page 78: бази даних

78Перехрестний запит

Конструктор: Запит – Перехрестний

Заголовки рядківЗаголовки рядків Заголовки стовпців

Заголовки стовпців

ЗначенняЗначення

Майстер – не дозволяє вибрати інформацію з декількох таблиць (тільки через зайвий запит).

Page 79: бази даних

79Запит на поновлення (зміни)

Задача: у всіх записах, що відносяться до 2007 року, змінити дату в полі Дата на сьогоднішне число.

Розв’язок:• запит, який відбирає всі потрібні записи

• резервна копія таблиці (Копіювати – Вставити)• меню Запити – Поновлення• в рядку Поновлення ввести нове значення поля:

• виконати запит

ПоновленняПоновлення

Page 80: бази даних

80Інші типи запитів

Вилучення: • запит на вибірку потрібних записів• резервна копія таблиці• Запит – Вилучення• виконати запит

Створення таблиці: • Запит – Створення таблиці

Додавання даних в підсумкову таблицю: • Запит – Додавання

Записи, що повторюються: • Запити – Створити – Записи, що повторюються

Записи без підлеглих: • Запити – Створити – Записи без підлеглих

Page 81: бази даних

БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ

СИСТЕМИТема 9. Звіти

Page 82: бази даних

82Створення звітів

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

Тільки одне джерело! Тільки одне джерело!!!

Джерело: таблиця

або запит

Джерело: таблиця

або запит

Page 83: бази даних

83Автозвіти

Автозвіт в стовпці Автозвіт в рядках

Page 84: бази даних

84Режим перегляду звіту

2 x ЛКМ2 x ЛКМ

Page 85: бази даних

85Режим перегляду звіту

– перейти в конструктор

– друк

– масштаб (переключення режима)

– одна сторінка

– дві сторінки

– декілька сторінок

– масштаб в процентах

– закрити вікно перегляду

– налаштування (поля, формат паперу)

Page 86: бази даних

86Конструктор звітів

Заголовок звіту – один раз на початку звіту.Верхній колонтитул – на початку кожної сторінки.Область даних – інформація з БД.Нижній колонтитул – в кінці кожної сторінки.Примітка звіту – один раз в кінці звіту.

="Страница " & [Page] & " из " & [Pages]

="Страница " & [Page] & " из " & [Pages]

=Now()=Now()

Page 87: бази даних

87Редагування звітів

– вивести (приховати) панель елементів

– властивості вибранного елемента

Так само, як в конструкторі форм:

ЛКМ – виділити елемент

Page 88: бази даних

88Звіти з групуванням

групування по посадам

групування по посадам

загальна зарплатазагальна зарплата

Page 89: бази даних

89Звіти з групуванням (крок I)

Створення запитів, що включають всі дані:

& - з’єднання символьних рядків

& - з’єднання символьних рядків

поля таблицьполя таблиць

Page 90: бази даних

90Звіти з групуванням (крок 2)

Використання майстра звітів:

Підсумкові дані

Підсумкові дані

Page 91: бази даних

91Звіти з групуванням (конструктор)

Заголовок групи

Заголовок групи

Примітка групи

Примітка групи

Page 92: бази даних

92Звіти з групуванням (конструктор)

сортування і групування

Page 93: бази даних

93Кінець