
- •Лекція 1.
- •Введення. Основні поняття бд
- •Моделі даних
- •Лекція 2.
- •Цілістність баз даних
- •Лекція 3. Внутрішня організація субд
- •Область переполнения
- •Лекція 4.
- •Розподілена обробка даних
- •Режими роботи з базой даних
- •Лекція 5.
- •Відновлення баз даних
- •Проблема втрати поновлення.
- •Проблема неузгодженого аналізу
- •Лекція 6.
- •Захист баз даних
- •Лекція 7.
- •Проектування бд
Лекція 1.
Введення. Основні поняття бд
Введение
Банк данных и его компоненты
Модели данных
Діяльність фахівців, що працюють у різних сферах економіки, нерозривно пов’язана зі збором, зберіганням та обробкою великих обсягів інформації. Потреби суспільства, поява комп’ютерної техніки, розробка і вдосконалення методів і технологій вирішення перерахованих завдань привели до створення і швидкому розвитку автоматизованих інформаційних систем (АІС), основною метою яких є інформаційне забезпечення основної діяльності користувачів.
Автоматизовані інформаційні системи забезпечують формування, зберігання і оновлення великих масивів інформації, оперативний пошук в них необхідних користувачеві відомостей з можливим їх подальшим узагальненням і аналізом.
Два покоління розвитку автоматизованих інформаційних систем
У розвитку АІС можна виділити два покоління.
1. Автоматизовані інформаційні системи першого покоління являють собою набори автономних файлів і керуючих ними прикладних програм. Недоліками цих АІС є складність експлуатації системи, проблеми в забезпеченні узгодженості інформації, висока ступінь дублювання збережених даних, залежність прикладних програм від даних (при зміні структури даних потрібно переробляти всі програми).
2. АІС другого покоління - банки даних. Це системи з високим ступенем інтеграції даних і централізованим управлінням ними, орієнтовані на колективне користування. Під інтеграцією даних розуміється їхнє об'єднання в єдиний інформаційний масив (базу даних), створений за уніфікованими правилами. Централізація управління передбачає передачу всіх функцій управління даними єдиному програмному комплексу - системі керування базою даних (СКБД). Така організація системи дозволяє значно полегшити роботу користувачів з інформацією, зменшити надмірність даних, підтримувати ефективні технології забезпечення узгодженості та захисту даних.
Походження термінів «база даних» і «управління базами даних» остаточно не встановлено. Можливо, вперше поняття бази даних було введено в червні 1963 р., коли з ініціативи військово-повітряних сил і служби аерокосмічної розвідки США в м. Санта-Моніка був організований симпозіум на тему «Розробка та використання машинокерованих баз даних».
В програму симпозіуму входили чотири робочих засідання, назви яких цілком підходять для робочих секцій сьогоднішніх конференцій:
1. Фактори, що визначають вимоги до вмісту баз даних. 2. Критерії, що впливають на структуру та проектування баз даних. 3. Методика збору даних та підтримання баз даних. 4. Економічні аспекти управління базами даних.
Протягом декількох десятиліть, що минули з часу проведення симпозіуму, банки та бази даних, системи управління базами даних інтенсивно розвивалися і удосконалювалися. В даний час вони активно використовуються для забезпечення основної діяльності практично всіх організацій, установ та фірм. Правда, при цьому характер функціонування застосовуваних засобів і технологій, їх структура та специфіка зазвичай приховані від користувача (менеджера, бухгалтера, оператора), що працює на комп'ютері.
Банк даних і його компоненти
Існує безліч визначень банку даних. Наприклад, в «Тлумачному словнику з обчислювальних систем» [13] дається наступне визначення:
Банк даних - це система, яка надає послуги зі зберігання й пошуку даних певній групі користувачів і з певної тематики (наприклад, біологічні види, статистика торгівлі, ціни на товари).
Визначення банку даних, опубліковане в галузевих керівних матеріалах по створенню банків даних Державного комітету з науки і техніки (ДКНТ) [13]:
Банк даних - це система спеціальним чином організованих даних (баз даних), програмних, технічних, мовних, організаційно-методичних засобів, призначених для забезпечення централізованого накопичення та колективного багатоцільового використання даних.
Наведені визначення в якійсь мірі доповнюють один одного, тому що характеризують поняття банку даних під різними кутами зору.
Основними функціями банку даних (БНД) є: 1. Зберігання інформації, її захист і відновлення після збоїв в роботі. 2. Періодична зміна збережених даних. 3. Пошук і відбір необхідних даних по запитам користувачів і прикладних програм. 4. Обробка знайдених даних і виведення результатів в заданій формі.
Основними особливостями банків даних є багаторазове використання однієї і тієї ж інформації для вирішення різних завдань, незалежність даних від прикладних програм.
Структуру банку даних можна представити у вигляді рис. 1:
|
|
|
|
|
|
Рис. 1. Схема банка даних
Отже, банк даних складається з наступних компонентів:
1. Бази даних - іменована сукупність даних, організованих за певними правилами, що передбачають загальні принципи опису, зберігання і маніпулювання даними. 2. Системи управління базами даних (СКБД) - комплексу програмних і мовних засобів, призначених для створення, ведення і використання баз даних. 3. Словника (довідника) бази даних - інформації про базу даних, використовуваної СУБД для доступу до збереженої в ній інформації.
База даних звичайно містить інформацію про деяку конкретну частину оточуючого нас світу (зазвичай її називають предметною областю). Фізично база даних являє собою один або кілька спеціальним чином організованих файлів, що зберігаються в зовнішній пам'яті (наприклад, на магнітних або оптичних дисках). По можливості при створенні та оновленні бази даних слід виключати дублювання даних, що зберігаються в ній.
Користувачі не працюють з базою даних безпосередньо. Процес взаємодії між ними реалізується через систему управління базами даних (див. рис. 1).
При цьому можливі два варіанти організації цього процесу:
1. користувач працює з СУБД в інтерактивному режимі, використовуючи систему меню;
2. взаємодія здійснюється за допомогою прикладних програм, званих додатками.
З однією базою даних можуть працювати (часто паралельно) і велика кількість користувачів, і безліч різних додатків. При цьому СУБД повинна підтримувати незалежність роботи користувачів і додатків, забезпечуючи коректність змін, що вносяться ними в базу даних.
СУБД повинна також забезпечувати безпеку та узгодженість інформації в базі даних. Користувачам надається можливість захисту їхніх даних від несанкціонованого доступу. При апаратних або програмних збоях СУБД повинна самостійно відновлювати вихідний узгоджений стан бази даних.
СУБД повністю усуває користувачів від проблем організації зберігання даних на фізичному рівні.
Система управління базами даних включає: • ядро СУБД, що забезпечує організацію введення, обробки та зберігання даних; • компоненти, що забезпечують налаштування системи; • засоби тестування; • сервісні програми, що забезпечують відновлення бази даних, її захист і т. д.; • транслятори для використовуваних мовних засобів.
В якості прикладів СУБД можна привести MS Access, Paradox, FoxPro, Clarion, Clipper, MS SQL Server, Oracle, Informix і т. д.
При зверненні до бази даних СУБД використовує інформацію, що зберігається в її словнику: • логічну схему БД, описи структур зберігання даних; •відомості про допустимих значеннях і форматах представлення даних; • відомості про повноваження користувачів при роботі з даними; • характеристики фізичного розміщення даних.
Словник бази даних може зберігатися в окремому файлі або безпосередньо у файлі бази даних (MS Access).
Користувачів банків даних можна розділити на три великі групи.
1. Кінцеві користувачі. Це найбільш численна група користувачів, для обслуговування професійних завдань яких створюється конкретна база даних (менеджери, торгові працівники, фінансисти і т. д.). Важливо, щоб СУБД надавала цієї категорії користувачів досить зручні, прості та ефективні засоби роботи з базою даних, що не вимагають від користувачів освіти в галузі інформаційних технологій або тривалого етапу спеціальних підготовки і навчання. 2. Прикладні програмісти. В обов'язки цієї групи користувачів входить написання, налагодження та впровадження прикладних програм (додатків), що використовують інформацію з бази даних. В основному для цього використовуються універсальні мови програмування: С + +, Pasсal, Delphi та ін 3. Адміністратори банку даних (АБД). Користувачі цієї групи реалізують складні завдання проектування, створення, організації та підтримки роботи банків даних.
Адміністратор банку даних повинен бути професійним фахівцем в області інформаційних технологій і забезпечувати виконання таких функцій: • аналізу предметної області, для якої створюється банк даних; • проектування логічної структури БД; • визначення правил підтримки даних в узгодженому стані; • первісного завантаження і ведення БД; •захисту даних; • відновлення БД після збоїв; • аналізу функціонування БД з можливою її модернізацією для збільшення продуктивності системи; • взаємодії з кінцевими користувачами; • підготовки та підтримання системних засобів.
При роботі з настільною СУБД (наприклад MS Access) функції кінцевого користувача, прикладного програміста і адміністратора банку даних може здійснювати одна людина. Якщо створюється банк даних, призначений для інформаційного обслуговування діяльності великої організації або фірми, може знадобитися об'єднання зусиль великої кількості висококваліфікованих фахівців: системних аналітиків, проектувальників структур даних і технологічних процесів обробки інформації, системних і прикладних програмістів, інженерів по обслуговуванню технічних засобів.