Тема 2. Основи створення баз даних (оновлено 09.2014) Лекція 2. Основні поняття і визначення.
2.1. Що таке і для чого потрібні бази даних.
Інформація у сучасному світі - це благополуччя, влада, здоров'я, ефективність, успішний бізнес, і багато іншого, від чого залежить життя і прогрес людства. Мільйони людей у всьому світі постійно займаються створенням, зберіганням і обробкою інформації. На цю роботу витрачаються величезні матеріальні ресурси і час. Тому природним є те, що люди завжди прагнули створити засоби, які підвищують ефективність такій роботи. Для створення інформації, її обробки і зберігання, винайдені спеціальні машини - комп'ютери.
Комп'ютери - це машини, які виробляють інформацію з даних, використовуючи певні методи.
Існує велика кількість видів інформації : графічна, звукова, статистична, генетична і тому подібне. Тому інформація відноситься до глобальних понять і дати їй однозначне визначення неможливо. Наприклад, Викопедия приводить таке визначення:
Інформація - це знята невизначеність, тобто відомості, які повинні зняти в тому або іншому ступені існуючу у споживача до їх отримання невизначеність, розширити його розуміння об'єкту корисними відомостями.
Для отримання різноманітної інформації використовуються різні дані і методи.
Дані - цифрові, звукові, графічні і тому подібне відомості про об'єкти навколишнього світу.
Дані мають фізичну природу і існують у вигляді сигналів, які можна зафіксувати органами почуття або різними приладами. Наприклад, звук можна почути, світло - побачити, а величину електричної напруги - виміряти вольтметром. Зазвичай, дані і їх інтерпретація (семантика) фіксуються спільно. Приклад: "Заробітна плата 800". Тут "800" - дане, а " Заробітна плата " - його семантика.
Приклади даних : будинок; 000065; Ужгород; 15; квартира; Україна; 65, проспект Перемоги. Щоб окремі дані перетворити на інформацію, до них застосовують певні методи обробки.
Метод обробки даних - це послідовність дій (математичних, логічних і тому подібних), необхідних для виконання певного завдання.
Наприклад, щоб отримати інформацію про місце проживання, приведені дані необхідно сортувати в такому порядку, - 000065, Україна, Ужгород, проспект Перемоги, будинок 15, квартира 65.
На комп'ютері метод обробки даних реалізується у вигляді послідовності дій (команд), які необхідно застосувати до даних для отримання певної інформації. Отже, сировиною для роботи комп'ютера є дані, а продукцією - інформація.
Підводячи підсумок сказаному можна зробити висновок що інформація - це динамічний об'єкт, не існуючий в природі сам по собі, а що утворюється в ході взаємодії даних і методів їх обробки.
Дуже важливо і те, що дані різного характеру і природи (числа, букви, будь-які інші символи, звук, колір) можуть бути представлені однотипно у вигляді двійкових чисел і відповідно однотипно оброблені. Ось чому комп'ютери належать до пристроїв цифрового типу.
Можна виділити дві основні області, для яких із самого початку передбачалося використання електронно-обчислювальних машин (ЕОМ) :
Перша - для виконання трудомістких чисельних розрахунків. Розвиток цієї області сприяв розробці методів математичного моделювання і чисельного рішення складних математичних задач, появі мов програмування, орієнтованих на зручний запис алгоритмів для виконання розрахунків. Характерна риса - наявність складних алгоритмів для обробки простих по структурі даних, об'єм яких порівняно невеликий.
Друга - для створення автоматизованих інформаційних систем. Ці системи оперують великими об'ємами інформації, яка має складну структуру. Приклади - банківські системи, автоматизовані системи управління підприємствами, системи резервування авіаційних або залізничних квитків, місць в готелях і тому подібне.
Сьогодні кількість комп'ютерів у світі величезна, проте для математичних розрахунків використовується лише незначна їх частина. Більшість комп'ютерів використовуються в інформаційних системах, основу яких складають бази даних. З різними базами даних будь-який користувач комп'ютера стикається щодня багаторазово, часом навіть не підозрюючи про це. Адже файлова система кожного комп'ютера, по суті, є базою даних. Телефонний сервіс 09, карта міста з пошуком по адресах, ведення фінансового обліку за допомогою ідентифікаційних кодів - усі перераховані і багато інших подібних сервісів базуються на певних базах даних.
Для полегшення обробки інформації створюються інформаційні системи (ІС).
Автоматизованими називають інформаційні системи (скорочено АІС), в яких представлення, збереження і обробка інформації, здійснюється за допомогою обчислювальної техніки і інших технічних засобів.
Зазвичай АІС створюються для певної предметної області, яка є частиною реального світу. Слід зауважити, що ефективність АІС тим вище, чим більше частина реального світу для якої вона створюється, проте зростає і складність самої АІС.
По сфері застосування АІС можна розділити на системи, які використовуються у виробництві, освіті, охороні здоров'я, науці, військовій справі, соціальній сфері, торгівлі і інших галузях.
По цільовій функції АІС можна умовно розділити на: управляючи, інформаційно-довідкові, підтримка ухвалення рішень і тому подібні.
Іноді під АІС розуміється сукупність апаратно-програмних засобів, які призначені для вирішення деякого прикладного завдання. Наприклад, в установі можуть існувати інформаційні системи: облік кадрів і матеріально-технічних засобів, розрахунок з постачальниками і замовниками, бухгалтерський облік і тому подібне.
Розглянемо основні завдання, які необхідно вирішувати при створенні АІС на прикладі предметної області університет, яка для нас найбільш знайома. Узагальнена структурна схема університету представлена на рис. 1. Вона складається з великої кількості адміністративних, наукових і учбових підрозділів, обробка інформації, в яких істотно відрізняється одна від іншої внаслідок виконуваних функцій.
Наприклад, для бібліотеки характерні дані про читачів і книги. В результаті обробки цих даних можна отримати інформацію про каталог книг, і абонемент - які книги знаходяться у конкретного читача.
Для факультету характерні дані про предмети, що вивчаються, кафедри, викладачів, учбових групах і тому подібне. В результаті обробки цих даних може бути отримана інформація, які предмети читаються конкретними викладачами і які оцінки отримані по цих предметах студентами.
У бухгалтерії обробляються дані про співробітників університету, тарифні ставки, нормативи податкових відрахувань і відрахувань до пенсійного фонду, відпустках, лікарняних і багато інших даних, які дозволяють нараховувати зарплату співробітникам і стипендію студентам, вести правильний облік матеріальних цінностей.
Архітектура інформаційної системи.
Розгляд особливостей обробки даних для формування інформації в конкретних підрозділах можна продовжити, проте вже ясно, що кожен підрозділ відрізняється своєю складною структурою і даними, які формують його інформаційне наповнення. Тому при створенні АІС університету можливі наступні підходи.
1. Відразу створити узагальнену АІС усього університету виходячи з принципу ефективності. Такий підхід представляється найбільш очевидним і характеризується як рішення задачі "в лоб". Звичайне рішення задачі "в лоб" важко реалізовується і найменш ефективно. Наочно уявити собі створення такої системи можна по аналогії з будівництвом одночасно усіх будівель міста : житлових будинків, шкіл, громадських і інших будівель. Враховуючи складність системи зрозуміло, що запроектувати і реалізувати такий проект практично дуже складно, а часто і неможливо.
2. Створювати локальні АІС для підрозділів університету з подальшим їх об'єднанням в загальну АІС. Зазвичай постановку завдання для кожної локальною АІС виконують фахівці в конкретній предметній області, які слабо уявляють собі особливості функціонування інших предметних областей, що істотно утрудняє формулювання загальних підходів в створенні таких систем. Крім того такий підхід припускає багатократне дублювання даних, наприклад, прізвища співробітників і студентів необхідно використати в усіх локальних АІС, що призводить до неефективного використання ресурсів (передусім пам'яті), і створення спеціальних технологій підтримки цілісності даних (додавання, вилучення або зміна даних про співробітника повинні одночасно відбиватися в усіх локальних АІС). Практично об’єднання декількох створених з різними підходами АІС в одну загальну систему приречено на провал.
3.
Створення об'єднаної АІС
що складається з двох взаємодіючих
частин - однією
загальною (корпоративною) і декількох
локальних (персональних). Загальна
частина містить дані, які багаторазово
використовуються окремими локальними
частинами, наприклад, прізвища
співробітників і студентів можуть
використовуватися як загальні дані для
локальної системи бібліотека, деканат,
бухгалтерія і тому подібне. Кожна
локальна частина містить і обробляє
дані характерні тільки для неї, наприклад,
бібліотека - каталог книг, деканат -
предмети і оцінки студентів і тому
подібне. Схема об'єднаної АІС представлена
на рис. 2. Об'єднання окремих частин в
одну загальну припускає створення їх
з використанням єдиних принципів. Такий
підхід дозволяє поетапно створювати
системи будь-якого розміру і складності
і на сьогодні являється основним при
побудові АІС. Не менш важливою є і
можливість найбільш ефективної
архітектури АІС - клієнт-сервер, в якій
корпоративна частина системи розташовується
на сервері, а усі локальні частини - на
клієнтській половині. Тому далі розглянемо
основні принципи побудови саме таких
інформаційних систем.
Модель представлення даних.
Передусім, це єдина для усіх елементів системи організація (модель представлення) даних. Зрозуміло, що самим гіршим варіантом є відсутність якої-небудь організації даних. В цьому випадку вибірка даних носить випадковий характер і найбільш несприятливим є перебір усіх наявних даних для пошуку потрібних. Абсолютно очевидно, що побудова інформаційної системи без моделі представлення даних не представляється можливою. Тому у будь-якій інформаційній системі використовується та або інша модель представлення даних, яка забезпечує найбільш швидкий пошук потрібних даних.
Припустимо, в інформаційній системі факультету необхідно сформувати інформацію про певного студента: спеціальність, курс, група і так далі. Як шукатимемо потрібні дані? Можлива схема пошуку приведена на мал. 3. Спочатку розглянемо першу (за абеткою) спеціальність, в ній виберемо перший курс, а на курсі першу групу. У групі прізвища студентів розташовуються в алфавітному порядку. Якщо потрібного прізвища в першій групі немає, то здійснюється пошук в другій групі. Далі перехід до пошуку в групах наступного курсу, потім до аналогічного пошуку наступної спеціальності доки не буде знайдено потрібне прізвище. Пошук потрібних даних відбувається зверху вниз і зліва направо, що характерно для ієрархічної моделі даних.
У інформаційній системі відділу кадрів інформацію про конкретного співробітника можна знайти по його прізвищу, які можуть розташовуватися в алфавітному порядку. У бухгалтерії інформацію про матеріальні цінності можна знайти по відповідності з їх інвентарними номерами, які зазвичай розташовуються за збільшенням.
Із
сказаного можна зробити висновок, що в
локальних інформаційних системах
використовуються різні моделі даних,
які традиційно обумовлені функціональністю
цих систем. Зрозуміло, що об'єднання
локальних інформаційних систем з різними
моделями даних в єдину систему неможливе.
Тому для загальної інформаційної системи
має бути використана єдина модель
представлення даних, яка забезпечила
б ефективне функціонування, як усієї
системи, так і окремих її частин.
Визначальним в побудові будь-якої інформаційної системи, являється модель представлення даних.
До основних моделей представлення даних відносяться: ієрархічна, мережева, реляційна, постреляційна, багатовимірна і об'єктно-орієнтована.
У будь-якій моделі представлення даних важливим являється ідентифікація, тобто те дане яке дозволяє однозначно виділити сукупність даних, що відноситься до конкретного об'єкту. Наприклад, в наведеному вище прикладі дані відносяться до конкретного студента можуть бути однозначно ідентифіковані по його прізвищу. Проте це невірно, оскільки декілька студентів можуть мати однакові прізвища, тому в локальних інформаційних системах використовуються різні ідентифікатори. Нижче приведені ідентифікатори, які використовуються в локальних інформаційних системах університету для ідентифікації співробітників і студентів.
1. Прізвище;
2. Номер паспорта;
3. Ідентифікаційний код;
4. Номер студентського квитка;
5. Номер посвідчення співробітника;
6. Номер залікової книжки;
7. Номер читацького квитка;
8. Номер у бухгалтерії (уточнити назву).
Очевидною при побудові узагальненої інформаційної системи є необхідність прийняття єдиного ідентифікатора для однозначного виділення певних даних.
Якщо деяка сукупність даних, що характеризує предметну область, структурована відповідно до певної моделі і забезпечується доступ до кожного даного, то можна говорити про базу даних (БД).
База даних (БД) - іменована сукупність даних із загальними правилами організації, опису і збереження, яка відображає стан об'єктів і їх взаємозв'язок в даній предметній області.
Відповідно до концепції побудови узагальненої інформаційної системи до її складу повинні входити загальна (корпоративна) база даних, наприклад, з основними даними про співробітників і студентів університету, і локальні бази даних, наприклад, з даними про книги бібліотеки, дані про оцінки студентів по різних предметах і тому подібне
Банк даних (БНД) - це система інформаційних, математичних, програмних, технічних, мовних, організаційно-методичних методів, призначених для централізованого накопичення і колективного багатоцільового використання даних. Банк даних є різновидом АІС.
БНД в загальному випадку складається з однієї або декількох БД, комплексу прикладних програм, обчислювальної системи і обслуговуючого персоналу.
