РЕЛЯЦІЙНІ БАЗИ ДАНИХ © К.Ю. Поляков, 2010 Переклад: Б.В.Ващук
2 Реляційні БД 1970-і р. Е. Кодд, англ. relation – відношення. Реляційна база даних – це набір простих таблиць, між якими встановлені звязки (відношення) за допомогою числових кодів. Продавці Код Назва Адреса Телефон Сайт Виробники Код Назва Країна Сайт Моделі Код Назва Код виробника Товари Код Назва Прайс-лист Код запису Код продавця Код виробника Код товара Код моделі Ціна
3 Реляційні БД 1)немає дублювання інформації; 2)при зміні адреси фірми, достатньо змінити її тільки в таблиці Продавці; 3)захист від неправильного введення: можна вибрати тільки фірму, яка ще раніше уведена в таблицю Продавці; 4)механізм транзакцій: будь-які зміни вносяться в базу тільки тоді, коли вони повністю завершені. 1)складність структури (не більше таблиць); 2)при пошуку потрібно звертатися до декількох таблиць; 3)потрібно підтримувати цілісність: при вилучені фірми продавця потрібно вилучати всі звязані записи з всіх таблиць (в СУБД – автоматично, каскадне вилучення).
4 Звязки мiж таблицями Один до одного («1-1») – один запис в першій таблиці відповідає рівно один запис в другій. Застосування: виділення даних, які часто використовуються. КодПрізвищеІмя 1ІвановКузьма 2ПетровВасиль … КодРік народження Адреса 11992Суворовський, б.20, кв Корочна вул., б. 30, кв 18 … 1 1 Один до багатьох («1- ») – один запис в першій таблиці відповідає скільки завгодно записів у другій і навпаки ( Багато до одного, - 1 ). КодНазва 1Монітор 2Вінчестер … КодКод товаруЦіна … 1 товари прайс- лист
5 Звязок між таблицями Багато до багатьох (« - ») – один запис в першій таблиці відповідає скільки завгодно записів у другій, і навпаки. КодПрізвища 1Іванов 2Петров … КодНазва 1Історія 2Географія 3Біологія … Реалізація – через третю таблицю і два звязки «1- ». КодПрізвища 1Іванов 2Петров … КодНазва 1Історія 2Географія 3Біологія … Код Код учителя Код предмета Клас 1119-А 2128-Б 3237-В … розклад вчителі предмети 1 1
6 Нормалізація бази даних Нормалізація – це розробка такої структури БД, в якій немає надлишкових даних і звязків. Основнi принципи: Будь-яке поле повинне бути неподільним. Прізвище та імя Іванов Петр Петров Іван … ПрізвищеІмя ІвановПетр ПетровІван … Не повинно бути полів, які позначають різні види одного і того ж, наприклад, товару. РікБананиКіві … Рік Код товару Кіл-сть … КодТовар 1Банани 2Ківі … 1
7 Нормалізація бази даних Основні принципи: Будь-яке поле повинне залежати тільки від ключа (ключ – це поле або комбінація полів, що однозначно визначає запис). КодНазваЦіна 1Монитор9 000 р. 2Винчестер р. … Не повинно бути полів, які можуть бути знайдені за допомогою решти. КодТовар Ціна за тону Кількість, тон Вартість 1Банани Ківі … товари залежить не тільки від назви товару! прайс-лист
8 Пошук в базах даних Лінійний пошук – це перебір всіх записів до тих пір, поки не буде знайдена потрібна. КодПрізвище 1Сайгук 2Вітрук … 1024Помірко Іванків? 1024 порівнянь! дані не потрібно попередньо готувати низька швидкість пошуку
9 Двійковий пошук 1.Розділити область пошуку на дві рівні частини. 2.Визначити, в якій половині знаходиться потрібний обєкт. 3.Перейти до кроку 1 для цієї половини. 4.Повторювати кроки 1-3 поки обєкт не буде «зловлений». 1.Розділити область пошуку на дві рівні частини. 2.Визначити, в якій половині знаходиться потрібний обєкт. 3.Перейти до кроку 1 для цієї половини. 4.Повторювати кроки 1-3 поки обєкт не буде «зловлений».
10 Пошук в базах даних 1Андрійчук 2Борсук … 512Коваль … 1023Юрчук 1024Яшин Двійковий пошук в БД – вимагає попереднього сортування. Іванків? 1Андрійчук … 255Журов … 512Коваль … 1024Яшин … 255Журов … 383Ігнатчук … 512Коваль … Скільки порівнянь? ? ? 1)записи потрібно відсортувати по потрібному полю; 2)можна використовувати тільки для одного поля. швидкий пошук 11 порівнянь!
11 Пошук по індексам Індекс – це допоміжна таблиця, яка призначена для швидкого пошуку в основній таблиці по вибранному стовпцю. Таблиця НомерДатаТоварКількість Ківі Банани Апельсини10 Індекси: по даті НомерДата по товарупо кількості НомерТовар 3Апельсини 2Банани 1Ківі НомерКількість
12 Пошук по індексам Алгоритм пошуку: 1)двійковий пошук по індексу – знайти номера потрібних записів; 2)вибрати ці записи по номерам з основної таблиці. 1)індекси займають місце на диску; 2)при зміні таблиці потрібно перелаштовувати всі індекси (в СУБД – автоматично). двійковий пошук по всім стовпцям, для яких побудовані індекси
БАЗИ ДАНИХ. MS ACCESS 2010
Microsoft Access 2010 «Microsoft Access» (повна назва Microsoft Office Access) система управління реляційними базами даних від компанії Майкрософт, програма, що входить до складу пакету офісних программ Microsoft Office. Має широкий спектр функцій, включаючи зв'язані запити, сортування по різних полях, зв'язок із зовнішніми таблицями і базами даних. Завдяки вбудованій мові VBA, в самому Access можна писати програми, що працюють з базами даних. 14
15 Бази даних Access (Microsoft Office) Розширення: *.accdb (раніше – *.mdb ), все в одному файлі Склад: таблиці форми – діалогові вікна для вводу і редагування даних запити – звернення до бази даних для вибору потрібної інформації або зміни бази звіти – документи для виводу на друк макроси – засоби автоматизаціїроботи модулі – додаткові процедури на мові Visual Basic
16 Вигляд головного вікна Пуск – Програми – Microsoft Office – Microsoft Access 2010 шаблони створення нової бази даних відкрити базу з диску останні документи
17 Обєкти бази даних вибрати інше 2×ЛКМ
MICROSOFT VISUAL FOXPRO
Microsoft Visual FoxPro Visual FoxPro (VFP) - об'єктно-орієнтована та процедурна мова програмування систем управління реляційними базами даних, розроблена корпорацією Майкрософт. Основою для даного програмного продукту послужила мова програмування FoxPro. Відноситься до сімейства мов XBase, розроблених на базі синтаксису мови програмування dBase. Іншими членами даного сімейства є Clipper і Recital. 19
Microsoft Visual FoxPro Спочатку FoxPro (первинна назва - FoxBASE) розроблялася Fox Software, починаючи з 1984 року. У 1992 році Fox Technologies була куплена Microsoft, нові версії продукту значно видозмінилися і придбали префікс «Visual». Остання версія оригінального FoxPro - версія працювала під Mac OS, DOS, Windows і Unix; вже у версії Visual FoxPro 3.0 від MS список підтримуваних платформ скоротився до Mac OS і Windows, а в більш пізніх версіях від MS - вже тільки до Windows. Поточна версія MS Visual FoxPro заснована на COM, і Microsoft стверджує, що. NET-версії продукту не буде. Існує проект Sedna, який повинен забезпечити можливість взаємодії Visual FoxPro с. NET. 20
Вигляд головного вікна 21
ДЯКУЮ ЗА УВАГУ!