Bazi danih

1cana1
БАЗИ ДАНИХ.
ІНФОРМАЦІЙНІ
  СИСТЕМИ
Тема 1. Інформаційні системи
Означення
База даних (БД) – це сховище даних про деяку предметну
   область, організоване у вигляді спеціальної структури.
   Важливо:
      дані про деяку область (не про все)
      впорядковані
Система керування базою даних (СКБД) – це програмне
   забезпечення для роботи з БД.
   Функції:
     пошук інформації в БД
     виконання нескладних розрахунків
     виведення звітів на друк
     редагування БД


             Інформаційна система – це БД + СКБД.
              Інформаційна система – це БД + СКБД.
Типи інформаційних систем
• локальні ІС
   БД і СКБД знаходяться на одному комп'ютері.
• файл-серверні
   БД знаходиться на сервері мережі
   (файловому сервері), а СКБД на комп'ютері
   користувача.
• клієнт-серверні
    БД і основна СКБД знаходяться на сервері,
    СКБД на робочій станції посилає запит
    і виводить на екран результат.
Локальні ІС

         БД
        СКБД



 автономність (незалежність)
   1) з БД працює тільки одна людина
   2) складно обновляти при великій кількості
      користувачів
   3) практично неможливо “стикувати” зміни, які
      вносять різні користувачі
Файл-серверні ІС
    СКБД            БД                    СКБД


           СКБД                   СКБД




    декілька людей працюють з одною базою
   1) основну роботу виконують робочі станції (РС),
      вони повинні бути потужними
   2) для пошуку рядка на РС копіюється вся БД –
      навантаження на мережу
   3) слабкий захист від злому (тільки на РС)
   4) проблеми при одночасній зміні з різних РС
Клієнт-серверні ІС
    СКБД-клієнт                  БД         СКБД-сервер:
                                             • MS SQL Server   • Interbase
                                             • Oracle          • SyBase
                                             • MySQL

                     запит
                                                   СКБД-клієнт
                     на SQL
                               відповідь

                              СКБД-клієнт


SQL (Structured Query Language) – мова структурних запитів
     1) основну роботу виконує сервер, робочі станції можуть бути
        малопотужними
     2) легше модернізується (тільки сервер)
     3) по мережі ідуть тільки потрібні дані
     4) захист і права доступу встановлюються на сервері (складніше пошкодити)
     5) розділення доступу (черга завдань)
     1) складність налаштування
     2) висока вартість ПЗ (тисячі $)
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
              Тема 2. Бази даних


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Типи баз даних
• табличні БД
    дані у вигляді однієї таблиці
• мережеві БД
    набір вузлів, в яких кожен може бути
    зв'язаний з кожним.
• ієрархічні БД
     у вигляді багаторівневої структури
• реляційні БД (99,9%)
    набір взаємопов'язаних таблиць
Табличні БД
Модель – картотека
Приклади:                               Петров Вася
 • записна книжка                       Шевченка пл., б. 32, кв. 11
                                        275-75-75
 • каталог в бібліотеці

                                              поля
записи
             Прізвище      Ім'я                  Адреса                     Телефон
            Петров        Вася       Шевченка пл., б. 32, кв. 11            275-75-75
            Іванов        Петро Франка вул., б. 25, кв.12                   276-76-76



       1) найпростіша структура
       2) всі інші типи БД використовують таблиці
       в багатьох випадках – дублювання даних:
         Т.Г. Шевченко   Кобзар                                    540 ст.
         Т.Г. Шевченко   Гайдамаки                                 45 ст.
Табличні БД
1. Кількість полів визначається розробником і не може змінюватися
   користувачем.
2. Будь-які поля повинні мати унікальне ім'я.
3. Поля можуть мати різний тип:
     • рядок символів (довжиною до 255 символів)
     • дійсне число (з дробовою частиною)
     • ціле число
     • грошова сума
     • дата, час, дата і час
     • логічне поле (істина або хибність, так або ні)
     • багатосторінковий текст (МЕМО)
     • малюнок, звук або інший об'єкт (об'єкт OLE)
4. Поля можуть бути обов'язковими для заповнення або ні.
5. Таблиці можуть містити скільки завгодно записів (ця кількість
   обмежується тільки об'ємом диску); записи можна добавляти, вилучати,
   редагувати, сортувати, шукати.
Ключове поле (ключ таблиці)
Ключове поле (ключ) – це поле (або комбінація полів),
 які однозначно визначають запис.
 В таблиці не може бути двох записів з однаковими
 значеннями ключа.
Чи можуть дані поля бути ключем?
 • прізвище
 • ім'я
 • номер паспорта
 • номер будинку
 • реєстраційний номер автомобіля
 • пункт проживання
 • дата виконаних робіт
 • марка пральної машини     ?
Мережеві БД
Мережева БД – це набір вузлів, в яких кожен може бути
  зв'язаний з кожним.

                              А
              Г                              Б
                              В
        найповніше відображає структуру деяких задач
        (наприклад, мережеве планування в економіці)
        1) складно зберігати і шукати інформацію в усіх зв'язках
        2) заплутаність структури


   !!    Можна зберігати у вигляді таблиці, але з
         Можна зберігати у вигляді таблиці, але з
         дублюванням даних!
         дублюванням даних!
Ієрархічна БД
Ієрархічна БД – це набір даних у вигляді багаторівневої
   структури.
Прайс-лист:
Продавець (рівень 1)                                     Іван
                                                          Іван


Товар (рівень 2)                            Монітори
                                            Монітори             Принтери
                                                                 Принтери


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


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


Ціна (рівень 5)        $306
                       $306          $312
                                     $312
Ієрархічна БД
Перетворення в табличну форму:

 Продавець     Товар      Виробник          Модель    Ціна
 Іван        Монітор    Sony          S93            $306
 Іван        Монітор    Sony          X93B           $312
 Іванн       Монітор    Phillips      190 B5 CG      $318
 Іван        Монітор    Samsung       SyncMaster 193P $452
 …


     1) дублювання даних
     2) при зміні адреси фірми потрібно міняти її в усіх
        рядках
     3) немає захисту від помилок введених оператором
        (Іван – Іванн), краще було б вибрати із списку
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
        Тема 3. Реляційні бази даних


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Реляційні БД
1970-і рр. Е. Кодд, англ. relation – відношення.
Реляційна база даних – це набір простих таблиць, між якими
  встановлені зв'язки (відношення) з допомогою числових кодів.

                                                             Виробник
       Продавці
                                    Прайс-лист             Код
      Код
                             Код запису                    Назва
      Назва
                             Код продавця                  Країна
      Адреса
                             Код виробника                 Сайт
      Телефон
                             Код товару
      Сайт
                             Код моделі
                             Ціна


              Товари                                     Моделі

            Код                                    Код

            Назва                                  Назва
                                                   Код виробника
Реляційні БД
  1) немає дублювання інформації;
  2) при зміні адреси фірми, достатньо змінити її тільки в
     таблиці Продавці;
  3) захист від неправильного введення: можна вибирати
     тільки фірму, яка заздалегідь введена в таблицю
     Продавці;
  4) механізм транзакції: будь-які зміни вносяться в базу
     тільки тоді, коли вони повністю завершені.
  1) складність структури (не більше 40-50 таблиць);
  2) при пошуку потрібно звертатися до декількох таблиць;
  3) потрібно підтримувати цілісність: при вилученні
     фірми продавця потрібно вилучати всі зв'язані записи
     з всіх таблиць (в СКБД – автоматично, каскадні
     вилучення).
Зв'язки між таблицями
Один до одного («1-1») – одному запису в першій таблиці відповідає
  тільки один запис в другій таблиці.
  Примітка: виділення часто використовуваних даних.
 1                                      1
  Код    Прізвище          Ім'я   Код       Рік народження                Адреса
     1   Іванов        Кузьма      1             1992        Шевченка, б.20, кв. 6
     2   Петров        Василь      2             1993        Франка вул., б. 30, кв. 18
     …                            …


Один до багатьох («1- ∞ ») – одному запису в першій таблиці
  відповідає декілька записів в другій.
                                                                                     прайс-
                                                                                     прайс-
товари
товари      1                                                    ∞                    лист
                                                                                      лист
             Код        Назва                   Код     Код товару     Ціна
                  1   Монітор                   123          1          2 999
                  2   Вінчестер                 345          1          2 499
                …                                …
Зв’язок між таблицями
Багато до багатьох («∞ - ∞ ») – одному запису в першій таблиці
  відповідає декілька записів в другій, і навпаки.
 вчителі
 вчителі                                                                       предмети
                                                                               предмети
                   Код   Прізвище                    Код        Назва
                    1    Іванов
                                        ∞       ∞     1       Історія
                    2    Петров                       2       Географія
                   …                                  3       Біологія
                                                     …

Реалізація – через третю таблицю і два зв'язки «1-∞».
                                            розклад
                                            розклад
  1                                     ∞           ∞                                 1
   Код    Прізвище                        Код         Код                        Код        Назва
                                  Код                                   Клас
      1   Іванов                        вчителя     предмету
                                                                                  1       Історія
      2   Петров                   1        1             1              9-А
                                                                                  2       Географія
      …                            2        1             2              8-Б
                                                                                  3       Біологія
                                   3        2             3              7-В
                                                                                 …
                                  …
Нормалізація бази даних
Нормалізація – це розробка такої структури БД, в які немає
  надлишкових даних і зв'язків.
Основні принципи:
  Будь-яке поле повинно бути неподільним.
           Прізвище і ім'я             Прізвище        Ім'я
          Іванов Петро               Іванов       Петро
          Петров Іван                Петров       Іван
          …                                       …


  Не повинно бути полів, в яких позначені різні види одного і того
   ж, наприклад, товарів.
                                       ∞                           1
    Рік    Банани        Ківі             Код                 Код        Назва
                                Рік               Кількість
                                         товару                1       Банани
   2006       3200       1200
                                2006          1       1200     2       Ківі
   2007       5600       1500
                                2007          2       1500    …
    …
                                 …
Нормалізація бази даних
Основні принципи:
  Будь-яке поле повинно залежати тільки від ключа (ключ – це
   поле або комбінація полів, однозначно визначає запис).
                                                              залежить не тільки
                                                              залежить не тільки
                                                               від назви товару!
                                                               від назви товару!
          товари
          товари             Код     Назва       Ціна
                              1    Монітор     1800 грн.
                              2    Вінчестер   2200 грн.        прайс-лист
                                                                прайс-лист
                             …


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

                                   Ціна за      Кількість,
           Код       Товар                                   Вартість
                                   тонну           тонн
            1      Банани           240             10        2400
            2      Киви             300             20        6000
            …
Пошук в базі даних
Лінійний пошук – це перебір всі записів до тих пір, поки
  не буде знайдений потрібний.

              Код      Прізвище
               1     Сидоров        Іванов?
                                     Іванов?
               2     Вєтров
               …                    1024 порівняння!
              1024   Помаранський



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

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



                  1. Розділити область пошуку на
                  1. Розділити область пошуку на
                     дві рівні частини.
                     дві рівні частини.
                  2. Визначити, в якій половині
                  2. Визначити, в якій половині
                     знаходиться потрібний об'єкт.
                     знаходиться потрібний об'єкт.
                  3. Перейти до кроку 1 для цієї
                  3. Перейти до кроку 1 для цієї
                     половини.
                     половини.
                  4. Повторювати кроки 1-3 поки
                  4. Повторювати кроки 1-3 поки
                     об'єкт не буде “зловлений”.
                     об'єкт не буде “зловлений”.
Пошук в базі даних
Двійковий пошук в БД – потребує попереднього
  сортування.
Іванов?
 Іванов?    1    Андрєєв     1    Андрєєв           …
            2    Борсуков   …                      255   Жаров
            …               255   Жаров             …
           512   Коваль     …                      383   Ігорів
            …               512   Коваль            …
           1023 Юр'єв       …                      512   Коваль
           1024 Яшин        1024 Яшин               …



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

       швидкий пошук
       1) записи потрібно відсортувати по відповідному полю;
       2) можна використовувати тільки для одного поля.
Пошук по індексах
Індекс – це допоміжна таблиця, яка призначена для
  швидкого пошуку в основній таблиці по обраному
  стовпчику.
 Таблиця
               Номер     Дата          Товар    Кількість
                  1    02.02.2006 Ківі               6
                  2    01.11.2006 Банани             3
                  3    12.04.2006 Апельсини          10

Індекси:
   по даті                по товару            по кількості
 Номер     Дата        Номер       Товар       Номер      Количество
   1     02.02.2006      3      Апельсини        2            3
   3     12.04.2006      2      Банани           1            6
   2     01.11.2006      1      Ківі             3            10
Пошук по індексах
Алгоритм пошуку:
 1) двійковий пошук по індексу – знайти номер
    потрібних записів;
 2) вибрати ці записи по номерам із основної
    таблиці.

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

   1) індекси займають місце на диску;
   2) при зміні таблиці потрібно перебудовувати всі
      індекси (в СКБД – автоматично).
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
         Тема 4. Бази даних Access.
               Робота з таблицями

 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Бази даних Access (Microsoft Office)
Розширення: *.mdb, один файл
Склад:
 • таблиці;
 • форми – діалогові вікна для введення і
   редагування даних;
 • запити – звернення до бази даних для вибору
   потрібної інформації або зміни бази;
 • звіти – документи для виведення на друк;
 • макроси – засоби автоматизації роботи;
 • модулі – додаткові процедури на мові Visual
   Basic.
Початок роботи

   Пуск – Програми – Microsoft Office – Microsoft Access 2003
Сервіс – Схема даних
таблиця             ключове поле
                    ключове поле
таблиця




                                          зв'язок «1-∞»
                                          зв'язок «1-∞»




Усунути зв'язок: ЛКМ + Delete.
Створити зв'язок: перетягнути потрібне поле на
  відповідне поле іншої таблиці.
Робота з таблицями
Таблиці – Замовлення –   або два рази клікаємо ЛКМ
Робота з таблицями
            область
            область                           поточне
                                              поточне
                          поля
                          поля
           виділення
           виділення                           поле
                                                поле


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



поточний
поточний
  запис
  запис
                                   останній
                                   останній             перейти
                                                         перейти
                                    запис
                                     запис              на новий
                                                        на новий
                                                          запис
                                                          запис
 новий
 новий
 запис
 запис

                                                         всього
                                                          всього
 на 1-й
 на 1-й                      номер
                             номер                       записів
                                                         записів
 запис       попередній                наступний
                                       наступний
 запис       попередній    поточного
                           поточного
               запис                     запис
                                         запис
                запис       запису
                             запису
Сортування і пошук
Сортування по поточному полю (стовпчику):
        по зростанню (в алфавітному порядку)

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

Пошук і заміна:
                                      повністю, з будь-
                                      повністю, з будь-
                                      якою частиною, з
                                      якою частиною, з
   поточне
    поточне                               початку
                                          початку
   поле або
   поле або
   всі поля
    всі поля




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

                      Точне співпадання
                      Точне співпадання      Починається з ‘С’
                                             Починається з ‘С’
 Одночасно
  Одночасно
 (операція І)
  (операція І)




                               нова умова, зв'язана
                               нова умова, зв'язана
                                    через АБО
                                    через АБО
 Повний варіант:
   Записи – Фільтр – Розширений фільтр
    • можна переставляти стовпчики
    • можна виводити не всі стовпчики
    • можна встановлювати порядок сортування
Службові операції
Сервіс – Службові програми:
  • Перетворити базу даних
     • в формат Access-97
     • в формат Access-2000
  • Стиснути і відновити базу даних
    (фізично вилучити зайві записи)
  • Резервна копія бази даних
Встановлення пароля:
  • Сервіс – Захист – Задати пароль бази даних
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
       Тема 5. Проектування таблиць


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Створення таблиць




• введення даних і назв полів (режим таблиця);
• конструктор – ручне налаштування;
• майстер таблиць – створення таблиць стандартних типів
  (Товари, Клієнти, Співробітники, …);
• імпорт таблиць – завантаження даних із інших джерел (БД інших
  форматів, Excel, текстові файли, …).
Створення таблиць
Майстер                      Введення даних




Імпорт
 • з інших БД Access
 • з БД інших форматів
   (*.db, *.dbf)
 • з таблиць Excel
 • и документів XML
 • з текстових БД (CSV –
   comma separated values)
Конструктор таблиць


                       перейти в      перейти в
                      конструктор   режим таблиці
Конструктор таблиць
   ключ                 тип поля (вибір
                        тип поля (вибір
                           з списку)
                           з списку)




                            властивості
                            властивості
                          поточного поля
                          поточного поля
поточне поле
Властивості полів
Розмір поля: байт, ціле, дійсне, …
Формат поля: як виводити на екран.
Маска введення: шаблон (введення телефону).
Підпис: як називається стовпчик при виведенні на екран
  (можна використовувати лапки, знаки і т.д.
  «Населення, млн. чол.»)
Значення по замовчуванню (вписується автоматично).
Умови на значення: захист від помилок введення
  («>18»).
Повідомлення про помилку («Вік повинен бути більше
  18 років!»)
Обов'язкові поля (так/ні)
Індексовані поля (так/ні)
Операції з полями

         зробити поле ключовим (скасувати…)

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


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

Primary Key:
 Primary Key:
ключ таблиці
ключ таблиці
Підстановки
Мета: створити захист від
 помилок введення.
Розв'язання: вибір з списку =
 поле підстановки
Варіанти:
  • заданий список («так» або
    «ні», «Ч» або «Ж»)
  • з другої таблиці
    (наприклад, вибір назви
    фірми)
Як зробити:
Майстер підстановок
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
                 Тема 6. Форми


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Форми
Форма – це діалогове вікно для:
 • перегляду і редагування даних
 • введення нових записів
 • керування процесом роботи (кнопки)
 • виведення додаткової інформації
Створення форм:


                              джерело
                              джерело
                               даних
                               даних
Створення форм
Конструктор – повністю вручну.
Майстер форм – режим «запитання – відповідь».
Автоформа в стовпчик:      Автоформа стрічкова:




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


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




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




                          кнопки
                          кнопки
                         переходу
                         переходу
Конструктор форм
вибраний
вибраний
 елемент
 елемент




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

                    зміна
                     зміна
область
область            розмірів
                   розмірів
 даних
 даних



примітки
примітки
 форми
 форми
Властивості форми
Правка – Виділити форму
       Вікно властивостей

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

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

Дані
 • Джерело – таблиця або запит
 • Фільтр – умова відбору записів
 • Сортування
Події (призначення макросів)
 • натискання на клавішу, дії мишкою, …
 • відкриття, закриття, зміна запису, …
Зв'язані елементи

надпис (текст
надпис (текст       незалежне
                    незалежне       поле (назва поля
                                    поле (назва поля
можна міняти)
можна міняти)      переміщення
                   переміщення          таблиці)
                                        таблиці)




     клікнути
      клікнути
  всередині, щоб
  всередині, щоб                                 маркери
                                                 маркери
   змінити текст
   змінити текст      клікнути на
                      клікнути на                 (зміна
                                                   (зміна
                      рамці, щоб
                       рамці, щоб                розмірів)
                                                 розмірів)
                       виділити
                        виділити
                        елемент
                        елемент
Властивості елементів
Виділення елементів:
 • ЛКМ на рамці елемента
 • + Shift = виділення декількох елементів

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

вибраний        назва
                назва    розмір
                          розмір     жирний, курсив,
                                     жирний, курсив,    товщина
                                                        товщина
вибраний
елемент        шрифту
               шрифту    шрифту
                         шрифту       підкреслений
                                      підкреслений       рамки
                                                          рамки    стиль
                                                                   стиль
 елемент




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

ПКМ – Властивості
Макет:
 • розміри
 • оформлення
Дані:
 • Дані – назва поля
 • Маска введення – шаблон (для телефону)
 • Значення по замовчуванню
 • Умова по значенню
 • Повідомлення про помилку
Події
 • дії користувача (клавіатура, миша)
 • зміна даних
Добавлення нових елементів
      Вивести (приховати) панель елементів
                             поле (інформація з бази
                             поле (інформація з бази
 вибір
 вибір       майстри
             майстри                  даних
                                      даних                   елементи
                                                              елементи
об'єктів
об'єктів                                                    інтерфейсу
                                                             інтерфейсу




 надпис
 надпис




 малюнок
 малюнок                                                            інші
                                   розрив
                                   розрив        підлегла
                                                 підлегла            інші
                                  сторінки        форма           елементи
                                                                  елементи
                                  сторінки        форма
незалежний об'єкт
незалежний об'єкт
    (наприклад,
     (наприклад,       зв'язаний об'єкт (який
                       зв'язаний об'єкт (який
  діаграма Excel)
  діаграма Excel)        зберігається в БД)
                         зберігається в БД)
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
                Тема 7. Макроси


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Макроси
Макрос – це набір макрокоманд.
Макрокоманда описує дії, які потрібно виконати:
 • відкриття і закриття таблиць, звітів, форм
 • виконання запитів
 • встановлення значень полів
 • пошук даних
 • керування виведенням на екран
 • друк даних
 • повідомлення користувачу
 • запуск інших програм
Події (для запуску макросу)
 • дії користувача (клавіатура, миша)
 • внутрішні події (відкриття і закриття форми, зміна запису і
   т.д.)
Простий макрос



                 Конструктор
Макроси
Відлагодження макросу
 • перейти в конструктор
 • Запуск – По крокам
 • запустити на виконання
Використання макросів
 • AutoExec – виконується автоматично при відкриванні
   бази
 • призначення подій

                                         вибрати ім'я
                                         вибрати ім'я
                                       макросу з списку
                                       макросу з списку
Макроси
Групи макросів
 • Вигляд – Імена макросів
 • Запуск
      Макрос1: QQQ
      Макрос1: MMM
      Макрос1        тільки перша група
Умови виконання
 • Вигляд – Умова
   або
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
                 Тема 8. Запити


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Запити
                         «Ну і запити у вас!» - сказала база
                                         даних и «зависла».
                                                  (Фольклор)

Запит – це звернення до СКБД для виконання
 яких-небудь операцій з даними.
Типи запитів:
  • вибірка
  • створення таблиці
  • обновлення (зміна даних)
  • добавлення записів
  • вилучення записів
  •…
Запит і фільтрування

В запиті можна:
 • відбирати інформацію з декількох зв'язаних
   таблиць
 • використовувати складні умови відбору
 • користувач може сам ввести параметри
   (суму грошей)
 • добавити обчислювані поля
 • виконати підсумкові розрахунки
Створення запитів
Майстер запитів
Запуск запиту
Конструктор


               перейти в      перейти в
              конструктор   режим таблиці
Конструктор

            всі
            всі            таблиця
                           таблиця
           поля
           поля   (ПКМ – Добавити таблицю)
                   (ПКМ – Добавити таблицю)




                              перетягнути
                              перетягнути
                                 ЛКМ
                                  ЛКМ
••по зростанню
  по зростанню
••по спаданню
  по спаданню
••відсутнє
  відсутнє




      фільтр
      фільтр
Робота з стовпчиками



              перетягнути
              перетягнути
                 (ЛКМ)
                  (ЛКМ)       виділити
                              виділити
                               (ЛКМ)
                                (ЛКМ)




                            ПКМ:
                            ПКМ:
                             •• вирізати
                                вирізати
                             •• копіювати
                                копіювати
                             •• вставити
                                вставити
                             •• властивості
                                властивості
Умови відбору
Співпадання




Шаблон




         * будь-яка кількість, будь-яких символів
         ? один будь-який символ                # будь-яка цифра
Нерівність
Побудова виразів
                      ПКМ
                      ПКМ




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

 !! зберігатисяякітаблиціобчислити не повинні
        Всі дані, якіможна обчислити не повинні
         Всі дані,       можна
     зберігатисяв таблиці
     •• ввести Ціна*Кількість
                      в
        ввести Ціна*Кількість          або ПКМ -- Побудувати
                                       або ПКМ Побудувати
          Вираз1: [Ціна]*[Кількість]
          Вираз1: [Ціна]*[Кількість]
     •• замінити Вираз1 на Сума
        замінити Вираз1 на Сума




•• ввести Year(Дата)
   ввести Year(Дата)
    Вираз1: Year([Дата])
    Вираз1: Year([Дата])
•• замінити Вираз1 на Рік
   замінити Вираз1 на Рік
Запити з параметрами
Задача: вводити числові дані для фільтра не в
конструкторі, а при виконанні запиту.
Приклад: «Якою сумою Ви розраховуєте?»
                        Будь-який незалежний
                        Будь-який незалежний
                        рядок викликає запит
                         рядок викликає запит
Підсумковий запит
Таблиця                        Підсумковий запит




                               Групові операції
                               Групові операції
Конструктор


              Групування
              Групування   Групування
                           Групування    Sum – сума
                                         Sum – сума
Підсумковий запит (майстер)




                              ЛКМ
                              ЛКМ
Перехресний запит
Таблиці




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




 Заголовок рядка      Заголовок
                      Заголовок   Значення
 Заголовок рядка                  Значення
                       стовпця
                       стовпця

Майстер – не дозволяє вибирати інформацію з
 декількох таблиць (тільки через додатковий запит).   
Запит на оновлення (зміну)
Задача: в усіх записах, які відносяться до 2007 року, замінити
 дату в полі Дата на сьогоднішнє число.
Розв'язання:
  • запит, який відбирає всі потрібні записи




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


          Оновлення
          Оновлення


  • виконати запит
Інші види запитів
Вилучення:
  • запит на вибірку потрібних записів
  • резервна копія таблиці
  • Запит – Вилучення
  • виконати запит
Створення таблиці:
  • Запит – Створення таблиці
Добавлення даних в підсумкову таблицю:
  • Запит – Добавлення
Повторні записи:
  • Запит – Створити – Повторний запис
Записи без підлеглих:
  • Запит – Створити – Записи без підлеглих
БАЗИ ДАНИХ.
        ІНФОРМАЦІЙНІ
          СИСТЕМИ
                  Тема 9. Звіти


 © К.Ю. Поляков, 2007
Переклад Р.М. Васильчик
Створення звітів
Звіт – це документ, який містить інформацію з бази
 даних і призначений для виведення на друк.




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




                          !!   Тільки одне джерело!
                               Тільки одне джерело!
Автозвіти

 Автозвіт в стовпчик   Автозвіт стрічковий
Режим перегляду звіту




                    2 x ЛКМ
                    2 x ЛКМ
Режим перегляду звіту


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




=Now()
=Now()




                        =“Сторінка " & [Page] & " з " & [Pages]
                        =“Сторінка " & [Page] & " з " & [Pages]

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

      – вивести (приховати) панель елементів
Звіти з групуванням




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

групування по
групування по
   посадах
   посадах
Звіти з групуванням (крок 1)
Створення запиту, який включає всі дані:


                        & -- з'єднання
                        & з'єднання
                     символьних рядків
                     символьних рядків   поля таблиць
                                         поля таблиць
Звіти з групуванням (крок 2)
Використання майстра звітів:




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

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

Recomendados

бази даних por
бази данихбази даних
бази данихEscuela
4.5K vistas93 diapositivas
Bazi danih por
Bazi danihBazi danih
Bazi danihAnn Eres
685 vistas91 diapositivas
бази даних 1 por
бази даних 1бази даних 1
бази даних 1anja_79
3.4K vistas26 diapositivas
база даних por
база данихбаза даних
база данихMaria Gulko
1.1K vistas24 diapositivas
Bazu danux por
Bazu danuxBazu danux
Bazu danuxMAXIMICH33
448 vistas92 diapositivas
бд початок por
бд початокбд початок
бд початокИрина Слуцкая
332 vistas33 diapositivas

Más contenido relacionado

Destacado

Vologist povitrja por
Vologist povitrjaVologist povitrja
Vologist povitrja1cana1
367 vistas18 diapositivas
Zakoni njutona por
Zakoni njutonaZakoni njutona
Zakoni njutona1cana1
304 vistas10 diapositivas
Osnovne rivnjannja mkt por
Osnovne rivnjannja mktOsnovne rivnjannja mkt
Osnovne rivnjannja mkt1cana1
244 vistas12 diapositivas
Sila arkhimeda atmosfernij-tisk-zakon_bernulli por
Sila arkhimeda atmosfernij-tisk-zakon_bernulliSila arkhimeda atmosfernij-tisk-zakon_bernulli
Sila arkhimeda atmosfernij-tisk-zakon_bernulli1cana1
365 vistas30 diapositivas
Ii zakon termodinamiki por
Ii zakon termodinamikiIi zakon termodinamiki
Ii zakon termodinamiki1cana1
237 vistas14 diapositivas
Programne zabezpechenna por
Programne zabezpechennaProgramne zabezpechenna
Programne zabezpechenna1cana1
385 vistas39 diapositivas

Destacado(19)

Vologist povitrja por 1cana1
Vologist povitrjaVologist povitrja
Vologist povitrja
1cana1367 vistas
Zakoni njutona por 1cana1
Zakoni njutonaZakoni njutona
Zakoni njutona
1cana1304 vistas
Osnovne rivnjannja mkt por 1cana1
Osnovne rivnjannja mktOsnovne rivnjannja mkt
Osnovne rivnjannja mkt
1cana1244 vistas
Sila arkhimeda atmosfernij-tisk-zakon_bernulli por 1cana1
Sila arkhimeda atmosfernij-tisk-zakon_bernulliSila arkhimeda atmosfernij-tisk-zakon_bernulli
Sila arkhimeda atmosfernij-tisk-zakon_bernulli
1cana1365 vistas
Ii zakon termodinamiki por 1cana1
Ii zakon termodinamikiIi zakon termodinamiki
Ii zakon termodinamiki
1cana1237 vistas
Programne zabezpechenna por 1cana1
Programne zabezpechennaProgramne zabezpechenna
Programne zabezpechenna
1cana1385 vistas
Pristroi vvedenna por 1cana1
Pristroi vvedennaPristroi vvedenna
Pristroi vvedenna
1cana1280 vistas
Bel stixi por 1cana1
Bel stixiBel stixi
Bel stixi
1cana1194 vistas
Zovnichna pamat por 1cana1
Zovnichna pamatZovnichna pamat
Zovnichna pamat
1cana1255 vistas
Programuvanna na movi_pascal por 1cana1
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
1cana11.9K vistas
6 клас урок 11 por 1cana1
6 клас урок 116 клас урок 11
6 клас урок 11
1cana1301 vistas
Rivnjannja stanu idealnogo_gazu-gazovi_zakoni. por 1cana1
Rivnjannja stanu idealnogo_gazu-gazovi_zakoni.Rivnjannja stanu idealnogo_gazu-gazovi_zakoni.
Rivnjannja stanu idealnogo_gazu-gazovi_zakoni.
1cana1498 vistas
комахи por 1cana1
комахикомахи
комахи
1cana1689 vistas
Abetka movi pascal por 1cana1
Abetka movi pascalAbetka movi pascal
Abetka movi pascal
1cana1426 vistas
управління даними і їх por 1cana1
управління даними і їхуправління даними і їх
управління даними і їх
1cana1220 vistas
алгоритми por 1cana1
алгоритмиалгоритми
алгоритми
1cana11.5K vistas
основи роботи з дисками por 1cana1
основи роботи з дискамиоснови роботи з дисками
основи роботи з дисками
1cana11.6K vistas
хто де живе por 1cana1
хто де живехто де живе
хто де живе
1cana13.5K vistas
Трудове виховання por 1cana1
Трудове вихованняТрудове виховання
Трудове виховання
1cana18.6K vistas

Similar a Bazi danih

Поняття моделі подання даних, основні моделі подання-1(2).pptx por
Поняття моделі подання даних, основні моделі подання-1(2).pptxПоняття моделі подання даних, основні моделі подання-1(2).pptx
Поняття моделі подання даних, основні моделі подання-1(2).pptxRexterMaster
124 vistas15 diapositivas
ієрархічна, мережева, реляційна модель бази даних por
ієрархічна, мережева, реляційна модель бази данихієрархічна, мережева, реляційна модель бази даних
ієрархічна, мережева, реляційна модель бази данихИрина Валериевна
9.4K vistas20 diapositivas
Бази даних por
Бази данихБази даних
Бази данихТатьяна Вербицкая
284 vistas14 diapositivas
бази даних por
бази данихбази даних
бази данихHelen Pata
3K vistas14 diapositivas
Відображення моделі «сутність-зв’язок» на базу даних.ppt por
Відображення моделі «сутність-зв’язок» на базу даних.pptВідображення моделі «сутність-зв’язок» на базу даних.ppt
Відображення моделі «сутність-зв’язок» на базу даних.pptssuser7d6cd0
33 vistas17 diapositivas
Potochniak y por
Potochniak yPotochniak y
Potochniak ygarasym
267 vistas13 diapositivas

Similar a Bazi danih(11)

Поняття моделі подання даних, основні моделі подання-1(2).pptx por RexterMaster
Поняття моделі подання даних, основні моделі подання-1(2).pptxПоняття моделі подання даних, основні моделі подання-1(2).pptx
Поняття моделі подання даних, основні моделі подання-1(2).pptx
RexterMaster124 vistas
бази даних por Helen Pata
бази данихбази даних
бази даних
Helen Pata3K vistas
Відображення моделі «сутність-зв’язок» на базу даних.ppt por ssuser7d6cd0
Відображення моделі «сутність-зв’язок» на базу даних.pptВідображення моделі «сутність-зв’язок» на базу даних.ppt
Відображення моделі «сутність-зв’язок» на базу даних.ppt
ssuser7d6cd033 vistas
Potochniak y por garasym
Potochniak yPotochniak y
Potochniak y
garasym267 vistas
база даних por Maria Gulko
база данихбаза даних
база даних
Maria Gulko350 vistas

Más de 1cana1

текстовий процесор, його призначення por
текстовий процесор, його призначеннятекстовий процесор, його призначення
текстовий процесор, його призначення1cana1
2.7K vistas6 diapositivas
13 strum v-napivprovidnikakh por
13 strum v-napivprovidnikakh13 strum v-napivprovidnikakh
13 strum v-napivprovidnikakh1cana1
322 vistas14 diapositivas
12 strum v-gazakh_i_vakuumi por
12 strum v-gazakh_i_vakuumi12 strum v-gazakh_i_vakuumi
12 strum v-gazakh_i_vakuumi1cana1
475 vistas12 diapositivas
11.providnist metaliv elektroliz por
11.providnist metaliv elektroliz11.providnist metaliv elektroliz
11.providnist metaliv elektroliz1cana1
559 vistas11 diapositivas
10.robota potuzhnist-zakon dzhoulja-lenca por
10.robota potuzhnist-zakon dzhoulja-lenca10.robota potuzhnist-zakon dzhoulja-lenca
10.robota potuzhnist-zakon dzhoulja-lenca1cana1
492 vistas8 diapositivas
9 zakoni kirkhgofa por
9 zakoni kirkhgofa9 zakoni kirkhgofa
9 zakoni kirkhgofa1cana1
526 vistas8 diapositivas

Más de 1cana1(20)

текстовий процесор, його призначення por 1cana1
текстовий процесор, його призначеннятекстовий процесор, його призначення
текстовий процесор, його призначення
1cana12.7K vistas
13 strum v-napivprovidnikakh por 1cana1
13 strum v-napivprovidnikakh13 strum v-napivprovidnikakh
13 strum v-napivprovidnikakh
1cana1322 vistas
12 strum v-gazakh_i_vakuumi por 1cana1
12 strum v-gazakh_i_vakuumi12 strum v-gazakh_i_vakuumi
12 strum v-gazakh_i_vakuumi
1cana1475 vistas
11.providnist metaliv elektroliz por 1cana1
11.providnist metaliv elektroliz11.providnist metaliv elektroliz
11.providnist metaliv elektroliz
1cana1559 vistas
10.robota potuzhnist-zakon dzhoulja-lenca por 1cana1
10.robota potuzhnist-zakon dzhoulja-lenca10.robota potuzhnist-zakon dzhoulja-lenca
10.robota potuzhnist-zakon dzhoulja-lenca
1cana1492 vistas
9 zakoni kirkhgofa por 1cana1
9 zakoni kirkhgofa9 zakoni kirkhgofa
9 zakoni kirkhgofa
1cana1526 vistas
8 zakon oma-dlja_zamknutogo_kola por 1cana1
8 zakon oma-dlja_zamknutogo_kola8 zakon oma-dlja_zamknutogo_kola
8 zakon oma-dlja_zamknutogo_kola
1cana1767 vistas
6 sila strumu-zakon-oma-opir por 1cana1
6 sila strumu-zakon-oma-opir6 sila strumu-zakon-oma-opir
6 sila strumu-zakon-oma-opir
1cana1773 vistas
3 robota v-elektrichnomu_poli-potencial por 1cana1
3 robota v-elektrichnomu_poli-potencial3 robota v-elektrichnomu_poli-potencial
3 robota v-elektrichnomu_poli-potencial
1cana1695 vistas
2 napruzhenist elektrichnogo-polja por 1cana1
2 napruzhenist elektrichnogo-polja2 napruzhenist elektrichnogo-polja
2 napruzhenist elektrichnogo-polja
1cana1438 vistas
1 zakon zberezhennja-zarjadu por 1cana1
1 zakon zberezhennja-zarjadu1 zakon zberezhennja-zarjadu
1 zakon zberezhennja-zarjadu
1cana1335 vistas
Zakon paskalja gidrostatichnij-tisk por 1cana1
Zakon paskalja gidrostatichnij-tiskZakon paskalja gidrostatichnij-tisk
Zakon paskalja gidrostatichnij-tisk
1cana1502 vistas
Kristalichni ta amorfni_tila por 1cana1
Kristalichni ta amorfni_tilaKristalichni ta amorfni_tila
Kristalichni ta amorfni_tila
1cana1789 vistas
Molekuljarna fizika osnovi-mkt por 1cana1
Molekuljarna fizika osnovi-mktMolekuljarna fizika osnovi-mkt
Molekuljarna fizika osnovi-mkt
1cana1970 vistas
Pobota v termodinamici por 1cana1
Pobota v termodinamiciPobota v termodinamici
Pobota v termodinamici
1cana1646 vistas
Termodinamika vnutrishnja energija por 1cana1
Termodinamika vnutrishnja energijaTermodinamika vnutrishnja energija
Termodinamika vnutrishnja energija
1cana1185 vistas
Vlastivosti ridin poverkhnevij-natjag por 1cana1
Vlastivosti ridin poverkhnevij-natjagVlastivosti ridin poverkhnevij-natjag
Vlastivosti ridin poverkhnevij-natjag
1cana1576 vistas
славетні українці por 1cana1
славетні українціславетні українці
славетні українці
1cana110K vistas
гігієна por 1cana1
гігієнагігієна
гігієна
1cana1687 vistas
лічилочка por 1cana1
лічилочкалічилочка
лічилочка
1cana1869 vistas

Último

Презентація ННІ КНІТ НТУ "ХПІ" por
Презентація ННІ КНІТ НТУ "ХПІ"Презентація ННІ КНІТ НТУ "ХПІ"
Презентація ННІ КНІТ НТУ "ХПІ"Andrii Kopp
9 vistas14 diapositivas
М. Гоголь.pptx por
М. Гоголь.pptxМ. Гоголь.pptx
М. Гоголь.pptxssuser705e14
12 vistas15 diapositivas
Новий Державний стандарт базової серердньої освіти.pdf por
Новий Державний стандарт базової серердньої освіти.pdfНовий Державний стандарт базової серердньої освіти.pdf
Новий Державний стандарт базової серердньої освіти.pdfolha1koval
36 vistas12 diapositivas
Академічна доброчесність por
Академічна доброчесністьАкадемічна доброчесність
Академічна доброчесністьtetiana1958
56 vistas15 diapositivas
ЗУ.pdf por
ЗУ.pdfЗУ.pdf
ЗУ.pdfssuser7541ef1
6 vistas6 diapositivas
Презентація кафедр ННІ КНІТ НТУ "ХПІ" por
Презентація кафедр ННІ КНІТ НТУ "ХПІ"Презентація кафедр ННІ КНІТ НТУ "ХПІ"
Презентація кафедр ННІ КНІТ НТУ "ХПІ"Andrii Kopp
6 vistas73 diapositivas

Último(19)

Презентація ННІ КНІТ НТУ "ХПІ" por Andrii Kopp
Презентація ННІ КНІТ НТУ "ХПІ"Презентація ННІ КНІТ НТУ "ХПІ"
Презентація ННІ КНІТ НТУ "ХПІ"
Andrii Kopp9 vistas
Новий Державний стандарт базової серердньої освіти.pdf por olha1koval
Новий Державний стандарт базової серердньої освіти.pdfНовий Державний стандарт базової серердньої освіти.pdf
Новий Державний стандарт базової серердньої освіти.pdf
olha1koval36 vistas
Академічна доброчесність por tetiana1958
Академічна доброчесністьАкадемічна доброчесність
Академічна доброчесність
tetiana195856 vistas
Презентація кафедр ННІ КНІТ НТУ "ХПІ" por Andrii Kopp
Презентація кафедр ННІ КНІТ НТУ "ХПІ"Презентація кафедр ННІ КНІТ НТУ "ХПІ"
Презентація кафедр ННІ КНІТ НТУ "ХПІ"
Andrii Kopp6 vistas
структура МР 23-24.pptx por home
структура МР 23-24.pptxструктура МР 23-24.pptx
структура МР 23-24.pptx
home5 vistas
9 ціннісних орієнтирів.pdf por olha1koval
9  ціннісних орієнтирів.pdf9  ціннісних орієнтирів.pdf
9 ціннісних орієнтирів.pdf
olha1koval35 vistas
Наукові перемоги здобувачів вищої освіти por tetiana1958
Наукові перемоги здобувачів вищої освітиНаукові перемоги здобувачів вищої освіти
Наукові перемоги здобувачів вищої освіти
tetiana195839 vistas
Методичний річний 23-24.doc por home
Методичний річний 23-24.docМетодичний річний 23-24.doc
Методичний річний 23-24.doc
home14 vistas
НУШ 4 наскрізні змістові лінії.pdf por olha1koval
НУШ      4 наскрізні змістові лінії.pdfНУШ      4 наскрізні змістові лінії.pdf
НУШ 4 наскрізні змістові лінії.pdf
olha1koval12 vistas
Органiзацiя перевiрки робіт здобувачів вищої освіти на наявність академічног... por tetiana1958
Органiзацiя перевiрки робіт здобувачів вищої освіти на наявність  академічног...Органiзацiя перевiрки робіт здобувачів вищої освіти на наявність  академічног...
Органiзацiя перевiрки робіт здобувачів вищої освіти на наявність академічног...
tetiana195854 vistas
11 компетентностей НУШ.pdf por olha1koval
11 компетентностей НУШ.pdf11 компетентностей НУШ.pdf
11 компетентностей НУШ.pdf
olha1koval34 vistas
«Жив і працював для Університету» por ihorsadovskyi
«Жив і працював для Університету»«Жив і працював для Університету»
«Жив і працював для Університету»
ihorsadovskyi5 vistas

Bazi danih

  • 1. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 1. Інформаційні системи
  • 2. Означення База даних (БД) – це сховище даних про деяку предметну область, організоване у вигляді спеціальної структури. Важливо:  дані про деяку область (не про все)  впорядковані Система керування базою даних (СКБД) – це програмне забезпечення для роботи з БД. Функції:  пошук інформації в БД  виконання нескладних розрахунків  виведення звітів на друк  редагування БД Інформаційна система – це БД + СКБД. Інформаційна система – це БД + СКБД.
  • 3. Типи інформаційних систем • локальні ІС БД і СКБД знаходяться на одному комп'ютері. • файл-серверні БД знаходиться на сервері мережі (файловому сервері), а СКБД на комп'ютері користувача. • клієнт-серверні БД і основна СКБД знаходяться на сервері, СКБД на робочій станції посилає запит і виводить на екран результат.
  • 4. Локальні ІС БД СКБД автономність (незалежність) 1) з БД працює тільки одна людина 2) складно обновляти при великій кількості користувачів 3) практично неможливо “стикувати” зміни, які вносять різні користувачі
  • 5. Файл-серверні ІС СКБД БД СКБД СКБД СКБД декілька людей працюють з одною базою 1) основну роботу виконують робочі станції (РС), вони повинні бути потужними 2) для пошуку рядка на РС копіюється вся БД – навантаження на мережу 3) слабкий захист від злому (тільки на РС) 4) проблеми при одночасній зміні з різних РС
  • 6. Клієнт-серверні ІС СКБД-клієнт БД СКБД-сервер: • MS SQL Server • Interbase • Oracle • SyBase • MySQL запит СКБД-клієнт на SQL відповідь СКБД-клієнт SQL (Structured Query Language) – мова структурних запитів 1) основну роботу виконує сервер, робочі станції можуть бути малопотужними 2) легше модернізується (тільки сервер) 3) по мережі ідуть тільки потрібні дані 4) захист і права доступу встановлюються на сервері (складніше пошкодити) 5) розділення доступу (черга завдань) 1) складність налаштування 2) висока вартість ПЗ (тисячі $)
  • 7. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 2. Бази даних © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 8. Типи баз даних • табличні БД дані у вигляді однієї таблиці • мережеві БД набір вузлів, в яких кожен може бути зв'язаний з кожним. • ієрархічні БД у вигляді багаторівневої структури • реляційні БД (99,9%) набір взаємопов'язаних таблиць
  • 9. Табличні БД Модель – картотека Приклади: Петров Вася • записна книжка Шевченка пл., б. 32, кв. 11 275-75-75 • каталог в бібліотеці поля записи Прізвище Ім'я Адреса Телефон Петров Вася Шевченка пл., б. 32, кв. 11 275-75-75 Іванов Петро Франка вул., б. 25, кв.12 276-76-76 1) найпростіша структура 2) всі інші типи БД використовують таблиці в багатьох випадках – дублювання даних: Т.Г. Шевченко Кобзар 540 ст. Т.Г. Шевченко Гайдамаки 45 ст.
  • 10. Табличні БД 1. Кількість полів визначається розробником і не може змінюватися користувачем. 2. Будь-які поля повинні мати унікальне ім'я. 3. Поля можуть мати різний тип: • рядок символів (довжиною до 255 символів) • дійсне число (з дробовою частиною) • ціле число • грошова сума • дата, час, дата і час • логічне поле (істина або хибність, так або ні) • багатосторінковий текст (МЕМО) • малюнок, звук або інший об'єкт (об'єкт OLE) 4. Поля можуть бути обов'язковими для заповнення або ні. 5. Таблиці можуть містити скільки завгодно записів (ця кількість обмежується тільки об'ємом диску); записи можна добавляти, вилучати, редагувати, сортувати, шукати.
  • 11. Ключове поле (ключ таблиці) Ключове поле (ключ) – це поле (або комбінація полів), які однозначно визначають запис. В таблиці не може бути двох записів з однаковими значеннями ключа. Чи можуть дані поля бути ключем? • прізвище • ім'я • номер паспорта • номер будинку • реєстраційний номер автомобіля • пункт проживання • дата виконаних робіт • марка пральної машини ?
  • 12. Мережеві БД Мережева БД – це набір вузлів, в яких кожен може бути зв'язаний з кожним. А Г Б В найповніше відображає структуру деяких задач (наприклад, мережеве планування в економіці) 1) складно зберігати і шукати інформацію в усіх зв'язках 2) заплутаність структури !! Можна зберігати у вигляді таблиці, але з Можна зберігати у вигляді таблиці, але з дублюванням даних! дублюванням даних!
  • 13. Ієрархічна БД Ієрархічна БД – це набір даних у вигляді багаторівневої структури. Прайс-лист: Продавець (рівень 1) Іван Іван Товар (рівень 2) Монітори Монітори Принтери Принтери Виробник (рівень 3) Sony Sony Phillips Phillips Samsung Samsung Модель (рівень 4) S93 S93 X93B X93B Ціна (рівень 5) $306 $306 $312 $312
  • 14. Ієрархічна БД Перетворення в табличну форму: Продавець Товар Виробник Модель Ціна Іван Монітор Sony S93 $306 Іван Монітор Sony X93B $312 Іванн Монітор Phillips 190 B5 CG $318 Іван Монітор Samsung SyncMaster 193P $452 … 1) дублювання даних 2) при зміні адреси фірми потрібно міняти її в усіх рядках 3) немає захисту від помилок введених оператором (Іван – Іванн), краще було б вибрати із списку
  • 15. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 3. Реляційні бази даних © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 16. Реляційні БД 1970-і рр. Е. Кодд, англ. relation – відношення. Реляційна база даних – це набір простих таблиць, між якими встановлені зв'язки (відношення) з допомогою числових кодів. Виробник Продавці Прайс-лист Код Код Код запису Назва Назва Код продавця Країна Адреса Код виробника Сайт Телефон Код товару Сайт Код моделі Ціна Товари Моделі Код Код Назва Назва Код виробника
  • 17. Реляційні БД 1) немає дублювання інформації; 2) при зміні адреси фірми, достатньо змінити її тільки в таблиці Продавці; 3) захист від неправильного введення: можна вибирати тільки фірму, яка заздалегідь введена в таблицю Продавці; 4) механізм транзакції: будь-які зміни вносяться в базу тільки тоді, коли вони повністю завершені. 1) складність структури (не більше 40-50 таблиць); 2) при пошуку потрібно звертатися до декількох таблиць; 3) потрібно підтримувати цілісність: при вилученні фірми продавця потрібно вилучати всі зв'язані записи з всіх таблиць (в СКБД – автоматично, каскадні вилучення).
  • 18. Зв'язки між таблицями Один до одного («1-1») – одному запису в першій таблиці відповідає тільки один запис в другій таблиці. Примітка: виділення часто використовуваних даних. 1 1 Код Прізвище Ім'я Код Рік народження Адреса 1 Іванов Кузьма 1 1992 Шевченка, б.20, кв. 6 2 Петров Василь 2 1993 Франка вул., б. 30, кв. 18 … … Один до багатьох («1- ∞ ») – одному запису в першій таблиці відповідає декілька записів в другій. прайс- прайс- товари товари 1 ∞ лист лист Код Назва Код Код товару Ціна 1 Монітор 123 1 2 999 2 Вінчестер 345 1 2 499 … …
  • 19. Зв’язок між таблицями Багато до багатьох («∞ - ∞ ») – одному запису в першій таблиці відповідає декілька записів в другій, і навпаки. вчителі вчителі предмети предмети Код Прізвище Код Назва 1 Іванов ∞ ∞ 1 Історія 2 Петров 2 Географія … 3 Біологія … Реалізація – через третю таблицю і два зв'язки «1-∞». розклад розклад 1 ∞ ∞ 1 Код Прізвище Код Код Код Назва Код Клас 1 Іванов вчителя предмету 1 Історія 2 Петров 1 1 1 9-А 2 Географія … 2 1 2 8-Б 3 Біологія 3 2 3 7-В … …
  • 20. Нормалізація бази даних Нормалізація – це розробка такої структури БД, в які немає надлишкових даних і зв'язків. Основні принципи:  Будь-яке поле повинно бути неподільним. Прізвище і ім'я Прізвище Ім'я Іванов Петро Іванов Петро Петров Іван Петров Іван … …  Не повинно бути полів, в яких позначені різні види одного і того ж, наприклад, товарів. ∞ 1 Рік Банани Ківі Код Код Назва Рік Кількість товару 1 Банани 2006 3200 1200 2006 1 1200 2 Ківі 2007 5600 1500 2007 2 1500 … … …
  • 21. Нормалізація бази даних Основні принципи:  Будь-яке поле повинно залежати тільки від ключа (ключ – це поле або комбінація полів, однозначно визначає запис). залежить не тільки залежить не тільки від назви товару! від назви товару! товари товари Код Назва Ціна 1 Монітор 1800 грн. 2 Вінчестер 2200 грн. прайс-лист прайс-лист …  Не повинно бути полів, які можуть бути знайдені з допомогою інших. Ціна за Кількість, Код Товар Вартість тонну тонн 1 Банани 240 10 2400 2 Киви 300 20 6000 …
  • 22. Пошук в базі даних Лінійний пошук – це перебір всі записів до тих пір, поки не буде знайдений потрібний. Код Прізвище 1 Сидоров Іванов? Іванов? 2 Вєтров … 1024 порівняння! 1024 Помаранський дані не потрібно попередньо підготовлювати низька швидкість пошуку
  • 23. Двійковий пошук 1. Розділити область пошуку на 1. Розділити область пошуку на дві рівні частини. дві рівні частини. 2. Визначити, в якій половині 2. Визначити, в якій половині знаходиться потрібний об'єкт. знаходиться потрібний об'єкт. 3. Перейти до кроку 1 для цієї 3. Перейти до кроку 1 для цієї половини. половини. 4. Повторювати кроки 1-3 поки 4. Повторювати кроки 1-3 поки об'єкт не буде “зловлений”. об'єкт не буде “зловлений”.
  • 24. Пошук в базі даних Двійковий пошук в БД – потребує попереднього сортування. Іванов? Іванов? 1 Андрєєв 1 Андрєєв … 2 Борсуков … 255 Жаров … 255 Жаров … 512 Коваль … 383 Ігорів … 512 Коваль … 1023 Юр'єв … 512 Коваль 1024 Яшин 1024 Яшин … ? ? Скільки порівнянь? Скільки порівнянь? 11 порівнянь! швидкий пошук 1) записи потрібно відсортувати по відповідному полю; 2) можна використовувати тільки для одного поля.
  • 25. Пошук по індексах Індекс – це допоміжна таблиця, яка призначена для швидкого пошуку в основній таблиці по обраному стовпчику. Таблиця Номер Дата Товар Кількість 1 02.02.2006 Ківі 6 2 01.11.2006 Банани 3 3 12.04.2006 Апельсини 10 Індекси: по даті по товару по кількості Номер Дата Номер Товар Номер Количество 1 02.02.2006 3 Апельсини 2 3 3 12.04.2006 2 Банани 1 6 2 01.11.2006 1 Ківі 3 10
  • 26. Пошук по індексах Алгоритм пошуку: 1) двійковий пошук по індексу – знайти номер потрібних записів; 2) вибрати ці записи по номерам із основної таблиці. двійковий пошук по всім стовпчикам, для яких побудовані індекси 1) індекси займають місце на диску; 2) при зміні таблиці потрібно перебудовувати всі індекси (в СКБД – автоматично).
  • 27. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 4. Бази даних Access. Робота з таблицями © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 28. Бази даних Access (Microsoft Office) Розширення: *.mdb, один файл Склад: • таблиці; • форми – діалогові вікна для введення і редагування даних; • запити – звернення до бази даних для вибору потрібної інформації або зміни бази; • звіти – документи для виведення на друк; • макроси – засоби автоматизації роботи; • модулі – додаткові процедури на мові Visual Basic.
  • 29. Початок роботи Пуск – Програми – Microsoft Office – Microsoft Access 2003
  • 30. Сервіс – Схема даних таблиця ключове поле ключове поле таблиця зв'язок «1-∞» зв'язок «1-∞» Усунути зв'язок: ЛКМ + Delete. Створити зв'язок: перетягнути потрібне поле на відповідне поле іншої таблиці.
  • 31. Робота з таблицями Таблиці – Замовлення – або два рази клікаємо ЛКМ
  • 32. Робота з таблицями область область поточне поточне поля поля виділення виділення поле поле записи записи поточний поточний запис запис останній останній перейти перейти запис запис на новий на новий запис запис новий новий запис запис всього всього на 1-й на 1-й номер номер записів записів запис попередній наступний наступний запис попередній поточного поточного запис запис запис запис запису запису
  • 33. Сортування і пошук Сортування по поточному полю (стовпчику): по зростанню (в алфавітному порядку) по спаданню (в зворотному алфавітному порядку) Пошук і заміна: повністю, з будь- повністю, з будь- якою частиною, з якою частиною, з поточне поточне початку початку поле або поле або всі поля всі поля всі, вверх, вниз всі, вверх, вниз
  • 34. Фільтрація Фільтрація – це відбір записів, які задовольняють деяку умову (фільтр). Решта записів тимчасово скриваються, поки фільт не буде знятий. Фільтр по виділеному 1. Клікнути в потрібній комірці або виділити частину тексту. 2. Клікнути по кнопці . 3. Зняти фільтр .
  • 35. Фільтрація Складені умови Записи – Фільтр – Змінити фільтр Точне співпадання Точне співпадання Починається з ‘С’ Починається з ‘С’ Одночасно Одночасно (операція І) (операція І) нова умова, зв'язана нова умова, зв'язана через АБО через АБО Повний варіант: Записи – Фільтр – Розширений фільтр • можна переставляти стовпчики • можна виводити не всі стовпчики • можна встановлювати порядок сортування
  • 36. Службові операції Сервіс – Службові програми: • Перетворити базу даних • в формат Access-97 • в формат Access-2000 • Стиснути і відновити базу даних (фізично вилучити зайві записи) • Резервна копія бази даних Встановлення пароля: • Сервіс – Захист – Задати пароль бази даних
  • 37. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 5. Проектування таблиць © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 38. Створення таблиць • введення даних і назв полів (режим таблиця); • конструктор – ручне налаштування; • майстер таблиць – створення таблиць стандартних типів (Товари, Клієнти, Співробітники, …); • імпорт таблиць – завантаження даних із інших джерел (БД інших форматів, Excel, текстові файли, …).
  • 39. Створення таблиць Майстер Введення даних Імпорт • з інших БД Access • з БД інших форматів (*.db, *.dbf) • з таблиць Excel • и документів XML • з текстових БД (CSV – comma separated values)
  • 40. Конструктор таблиць перейти в перейти в конструктор режим таблиці
  • 41. Конструктор таблиць ключ тип поля (вибір тип поля (вибір з списку) з списку) властивості властивості поточного поля поточного поля поточне поле
  • 42. Властивості полів Розмір поля: байт, ціле, дійсне, … Формат поля: як виводити на екран. Маска введення: шаблон (введення телефону). Підпис: як називається стовпчик при виведенні на екран (можна використовувати лапки, знаки і т.д. «Населення, млн. чол.») Значення по замовчуванню (вписується автоматично). Умови на значення: захист від помилок введення («>18»). Повідомлення про помилку («Вік повинен бути більше 18 років!») Обов'язкові поля (так/ні) Індексовані поля (так/ні)
  • 43. Операції з полями зробити поле ключовим (скасувати…) добавити поле вилучити поточне поле вище поточного (або всі виділені) індекси назва назва поле таблиці поле таблиці індексу індексу (вибір з списку) (вибір з списку) Primary Key: Primary Key: ключ таблиці ключ таблиці
  • 44. Підстановки Мета: створити захист від помилок введення. Розв'язання: вибір з списку = поле підстановки Варіанти: • заданий список («так» або «ні», «Ч» або «Ж») • з другої таблиці (наприклад, вибір назви фірми) Як зробити:
  • 46. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 6. Форми © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 47. Форми Форма – це діалогове вікно для: • перегляду і редагування даних • введення нових записів • керування процесом роботи (кнопки) • виведення додаткової інформації Створення форм: джерело джерело даних даних
  • 48. Створення форм Конструктор – повністю вручну. Майстер форм – режим «запитання – відповідь». Автоформа в стовпчик: Автоформа стрічкова: Діаграма: Автоформа таблична:
  • 49. Конструктор форм перейти в перейти в конструктор режим форми область область виділення виділення кнопки кнопки переходу переходу
  • 50. Конструктор форм вибраний вибраний елемент елемент заголовок заголовок форми форми зміна зміна область область розмірів розмірів даних даних примітки примітки форми форми
  • 51. Властивості форми Правка – Виділити форму Вікно властивостей Макет область виділення область виділення кнопки переходу кнопки переходу Дані • Джерело – таблиця або запит • Фільтр – умова відбору записів • Сортування Події (призначення макросів) • натискання на клавішу, дії мишкою, … • відкриття, закриття, зміна запису, …
  • 52. Зв'язані елементи надпис (текст надпис (текст незалежне незалежне поле (назва поля поле (назва поля можна міняти) можна міняти) переміщення переміщення таблиці) таблиці) клікнути клікнути всередині, щоб всередині, щоб маркери маркери змінити текст змінити текст клікнути на клікнути на (зміна (зміна рамці, щоб рамці, щоб розмірів) розмірів) виділити виділити елемент елемент
  • 53. Властивості елементів Виділення елементів: • ЛКМ на рамці елемента • + Shift = виділення декількох елементів Панель форматування вибраний назва назва розмір розмір жирний, курсив, жирний, курсив, товщина товщина вибраний елемент шрифту шрифту шрифту шрифту підкреслений підкреслений рамки рамки стиль стиль елемент вирівнювання вирівнювання колір колір колір колір колір колір фону фону тексту тексту рамки рамки Стиль оформлення: нормальний, припіднятий, втоплений, вдавлений, с тінню, рельєфний
  • 54. Властивості елементів Вікно властивостей ПКМ – Властивості Макет: • розміри • оформлення Дані: • Дані – назва поля • Маска введення – шаблон (для телефону) • Значення по замовчуванню • Умова по значенню • Повідомлення про помилку Події • дії користувача (клавіатура, миша) • зміна даних
  • 55. Добавлення нових елементів Вивести (приховати) панель елементів поле (інформація з бази поле (інформація з бази вибір вибір майстри майстри даних даних елементи елементи об'єктів об'єктів інтерфейсу інтерфейсу надпис надпис малюнок малюнок інші розрив розрив підлегла підлегла інші сторінки форма елементи елементи сторінки форма незалежний об'єкт незалежний об'єкт (наприклад, (наприклад, зв'язаний об'єкт (який зв'язаний об'єкт (який діаграма Excel) діаграма Excel) зберігається в БД) зберігається в БД)
  • 56. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 7. Макроси © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 57. Макроси Макрос – це набір макрокоманд. Макрокоманда описує дії, які потрібно виконати: • відкриття і закриття таблиць, звітів, форм • виконання запитів • встановлення значень полів • пошук даних • керування виведенням на екран • друк даних • повідомлення користувачу • запуск інших програм Події (для запуску макросу) • дії користувача (клавіатура, миша) • внутрішні події (відкриття і закриття форми, зміна запису і т.д.)
  • 58. Простий макрос Конструктор
  • 59. Макроси Відлагодження макросу • перейти в конструктор • Запуск – По крокам • запустити на виконання Використання макросів • AutoExec – виконується автоматично при відкриванні бази • призначення подій вибрати ім'я вибрати ім'я макросу з списку макросу з списку
  • 60. Макроси Групи макросів • Вигляд – Імена макросів • Запуск Макрос1: QQQ Макрос1: MMM Макрос1 тільки перша група Умови виконання • Вигляд – Умова або
  • 61. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 8. Запити © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 62. Запити «Ну і запити у вас!» - сказала база даних и «зависла». (Фольклор) Запит – це звернення до СКБД для виконання яких-небудь операцій з даними. Типи запитів: • вибірка • створення таблиці • обновлення (зміна даних) • добавлення записів • вилучення записів •…
  • 63. Запит і фільтрування В запиті можна: • відбирати інформацію з декількох зв'язаних таблиць • використовувати складні умови відбору • користувач може сам ввести параметри (суму грошей) • добавити обчислювані поля • виконати підсумкові розрахунки
  • 67. Конструктор перейти в перейти в конструктор режим таблиці
  • 68. Конструктор всі всі таблиця таблиця поля поля (ПКМ – Добавити таблицю) (ПКМ – Добавити таблицю) перетягнути перетягнути ЛКМ ЛКМ ••по зростанню по зростанню ••по спаданню по спаданню ••відсутнє відсутнє фільтр фільтр
  • 69. Робота з стовпчиками перетягнути перетягнути (ЛКМ) (ЛКМ) виділити виділити (ЛКМ) (ЛКМ) ПКМ: ПКМ: •• вирізати вирізати •• копіювати копіювати •• вставити вставити •• властивості властивості
  • 70. Умови відбору Співпадання Шаблон * будь-яка кількість, будь-яких символів ? один будь-який символ # будь-яка цифра Нерівність
  • 71. Побудова виразів ПКМ ПКМ Forms – форми Reports – звіти Функції: 1) вбудовані; 2) функції користувача (VB) Константи: порожня стрічка, Істина, Хибність Оператори: + - * / < > <= >= = <> Not And Or Xor Загальні вирази – час, дата, нумерація сторінок
  • 72. Обчислювані поля !! зберігатисяякітаблиціобчислити не повинні Всі дані, якіможна обчислити не повинні Всі дані, можна зберігатисяв таблиці •• ввести Ціна*Кількість в ввести Ціна*Кількість або ПКМ -- Побудувати або ПКМ Побудувати Вираз1: [Ціна]*[Кількість] Вираз1: [Ціна]*[Кількість] •• замінити Вираз1 на Сума замінити Вираз1 на Сума •• ввести Year(Дата) ввести Year(Дата) Вираз1: Year([Дата]) Вираз1: Year([Дата]) •• замінити Вираз1 на Рік замінити Вираз1 на Рік
  • 73. Запити з параметрами Задача: вводити числові дані для фільтра не в конструкторі, а при виконанні запиту. Приклад: «Якою сумою Ви розраховуєте?» Будь-який незалежний Будь-який незалежний рядок викликає запит рядок викликає запит
  • 74. Підсумковий запит Таблиця Підсумковий запит Групові операції Групові операції Конструктор Групування Групування Групування Групування Sum – сума Sum – сума
  • 77. Перехресний запит Конструктор: Запит – Перехресний Заголовок рядка Заголовок Заголовок Значення Заголовок рядка Значення стовпця стовпця Майстер – не дозволяє вибирати інформацію з декількох таблиць (тільки через додатковий запит). 
  • 78. Запит на оновлення (зміну) Задача: в усіх записах, які відносяться до 2007 року, замінити дату в полі Дата на сьогоднішнє число. Розв'язання: • запит, який відбирає всі потрібні записи • резервна копія таблиці (Копіювати – Вставити) • меню Запит – Оновлення • в рядку Оновлення ввести нове значення поля: Оновлення Оновлення • виконати запит
  • 79. Інші види запитів Вилучення: • запит на вибірку потрібних записів • резервна копія таблиці • Запит – Вилучення • виконати запит Створення таблиці: • Запит – Створення таблиці Добавлення даних в підсумкову таблицю: • Запит – Добавлення Повторні записи: • Запит – Створити – Повторний запис Записи без підлеглих: • Запит – Створити – Записи без підлеглих
  • 80. БАЗИ ДАНИХ. ІНФОРМАЦІЙНІ СИСТЕМИ Тема 9. Звіти © К.Ю. Поляков, 2007 Переклад Р.М. Васильчик
  • 81. Створення звітів Звіт – це документ, який містить інформацію з бази даних і призначений для виведення на друк. Джерело: Джерело: таблиця таблиця або запит або запит !! Тільки одне джерело! Тільки одне джерело!
  • 82. Автозвіти Автозвіт в стовпчик Автозвіт стрічковий
  • 84. Режим перегляду звіту – перейти в конструктор – друк – масштаб (переключення режиму) – одна сторінка – дві сторінки – декілька сторінок – масштаб у відсотках – закрити вікно перегляду – налаштування (поля, формат папір)
  • 85. Конструктор звітів =Now() =Now() =“Сторінка " & [Page] & " з " & [Pages] =“Сторінка " & [Page] & " з " & [Pages] Заголовок звіту – один раз на початку звіту. Верхній колонтитул – на початку кожної сторінки. Область даних – інформація з БД. Нижній колонтитул – в кінці кожної сторінки. Примітки звіту – один раз в кінці звіту.
  • 86. Редагування звітів Аналогічно, як в конструкторі форм: ЛКМ – виділити елемент – властивості вибраного елемента – вивести (приховати) панель елементів
  • 87. Звіти з групуванням загальна загальна зарплата зарплата групування по групування по посадах посадах
  • 88. Звіти з групуванням (крок 1) Створення запиту, який включає всі дані: & -- з'єднання & з'єднання символьних рядків символьних рядків поля таблиць поля таблиць
  • 89. Звіти з групуванням (крок 2) Використання майстра звітів: Підсумкові Підсумкові дані дані
  • 90. Звіти з групуванням (конструктор) Заголовок Заголовок групи групи Примітки Примітки групи групи
  • 91. Звіти з групуванням (конструктор) сортування і групування