Навігація
Головна
 
Головна arrow Інформатика arrow Бази даних
< Попередня   ЗМІСТ   Наступна >

Передмова

У силу все більш широкого розповсюдження персональних комп'ютерів важливість організації інформації у вигляді баз даних безперервно зростає.

Разом з тим в області баз даних за останні десять-п'ятнадцять років відбулися серйозні зміни теоретичних і насамперед прикладного характеру, що не знайшли системного відображення в навчальній літературі. Сюди відносяться проблеми, пов'язані з розподіленими, об'єктно-орієнтованими і об'єктно-реляційними базами даних, засобами автоматизації проектування і програмування баз даних, мовою структурованих запитів SQL, режимом клієнт-сервер, сховищами даних і з багатьма іншими.

Період 90-х років XX ст. характеризувався появою численної прикладної літератури по застосовуваних СУБД, в якій акцент робився на їх загальний опис і переважно на реакцію програмних продуктів на натискання конкретних кнопок та елементів меню. Викладу обший теорії практично не відводилося місця. Таке становище суттєво ускладнювало розуміння користувачами (і навіть розробниками) баз даних не тільки роботи програмних засобів, а й принципів і правил їх побудови. Більш того, в таких публікаціях часто вводилися нові терміни, часом не визначаються або мають різні назви в різних джерелах.

Можна зрозуміти виникають при цьому складності, якщо врахувати, що ряд понять і положень в області баз даних - в силу динамічного їх розвитку - істотно трансформувався. До того ж багато окремих питань по базах даних оприлюднили у важкодоступних журналах, насамперед іноземних.

Однією з причин, що спонукали авторів написати дану роботу, є різночитання в термінології не тільки в різних моделях даних, але навіть у рамках програмних продуктів однієї і тієї ж фірми-розробника, що ускладнює виклад матеріалу викладачами і його розуміння студентами.

Головною метою даної роботи є систематизація та впорядкування наявного матеріалу по базах даних. Основою роботи є курс лекцій, читаний авторами протягом ряду останніх років, що проводиться лабораторний цикл по базах даних і особистий досвід авторів.

Однією з базових дисциплін общепрофессіональной підготовки для напрямів підготовки дипломованих фахівців 654600 "Інформатика та обчислювальна техніка" і 654700 "Інформаційні системи" є дисципліна "Бази даних", підручник з якої і пропонується авторами увазі читачів. З метою більш глибокого вивчення моделей, методів і засобів інформаційних технологій читач може звернутися до літератури, зазначеної в книзі.

Автори вдячні лауреату Державної премії, заслуженому діячеві науки і техніки РФ, д-ру техн. наук, проф. М.Б. Ігнатьєву, яка взяла на себе працю з рецензування підручника і зробити цінні зауваження, що сприяють поліпшенню його змісту.

Зауваження та побажання щодо змісту книги направляти за адресою: 127994, Москва, ГСП-4, Неглинная вул., Д. 29/14, видавництво "Вища школа".

Автори

Введення

Основні теоретичні розробки по базах даних відносяться до 1983-1987 рр.

Омі знайшли своє відображення в публікаціях [7-13], серед яких виділяються такі фундаментальні роботи, як [11 - 13].

У той же час вивчення тільки теорії БД без супроводу процедурами створення реальних баз даних викликає у працюючих серйозні складності прикладного характеру.

Знадобилися, таким чином, роботи з системним викладом матеріалу від теорії до практики, що особливо актуально в силу складності матеріалу по базах даних. Такі заслуговують уваги роботи з'явилися наприкінці 90-х років XX ст. [1-6, 17].

Робота [4] присвячена переважно теорії централізованих реляційних баз даних, характеризується великою кількістю вправ і спирається при проектуванні БД на специфічні ER-діаграми. З інших численних аспектів баз даних в роботі конспективно висвітлені лише особливості об'єктно орієнтованих мов запитів.

Тільки централізованим реляційних БД присвячена і робота [6] з акцентом в проектуванні на ER-діаграми і CASE-технологію.

У публікації [17] чітко методично викладені окремі теоретичні аспекти баз даних (сховища даних, паралельні БД).

Робота [3] носить оглядово-теоретичний характер. Вона корисна швидше викладачам і науковим співробітникам для систематизації наявних знань з баз даних. Початкове вивчення питань, пов'язаних з БД, за допомогою такої книги проблематично.

Роботи [3, 4, 6, 17] не можуть, на нашу думку, претендувати на роль системного викладу матеріалів по базах даних. К "системним" роботам слід віднести публікації [1,2, 5].

У роботі [5], що відрізняється хорошим термінологічним супроводом, викладено сучасний стан теорії баз даних. У той же час, на наш погляд, порядок викладу методично недостатньо продуманий, а прикладний матеріал практично відсутній.

Найбільш фундаментальною в теоретичному плані є робота [2], розрахована на розробку - з використанням ER-діаграм - концептуальної і логічної моделей, у тому числі в рамках сховища даних.

У найбільшій мірі вимогу системності викладу матеріалу задовольняє робота [I]. Разом з тим вона характеризується, на нашу думку, недостатньою системністю викладу. Так, описи СУБД нс ілюструються прикладами комп'ютерної реалізації БД. Прикладна частина роботи явно не пов'язана з обговорюваними питаннями в теоретичній частині, що робить ці частини фактично автономними.

У пропонованому підручнику систематично викладено сучасне уявлення БД, включаючи такі нові та перспективні напрямки, як об'єктно-орієнтовані та розподілені бази даних, автоматизація проектування БД, сховища даних, постреляціонних БД.

Робота складається з вступу, 15 розділів, висновків, і додатків. У розділах 1 - 13 розглянуто теоретичні питання, глави 14, 15 присвячені прикладним питанням реалізації баз даних.

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

Глави 1-4 присвячені загальним положенням, пов'язаним з базами даних.

У главі 1 наводиться система визначень, серед яких основними є терміни "дані", "інформація", "знання" і їх співвідношення. Вводиться поняття "база даних - БД", визначаються статична і динамічна різновиди БД.

Дається класифікація баз даних і систем управління базами даних (СКБД) як оболонок, стандартних програмних продуктів, на основі яких реалізуються бази даних.

У главі 2 описані основні принципи та підходи створення, використання і функціонування БД. Сформульовано вимоги, пропоновані до баз даних. Основними вимогами є швидкодія (динамічні БД) і цілісність даних (статичні БД).

Розглянуто блок-схема БД, в якій виділено основні складові: власне база даних, інтерфейс користувача, алгоритм програми.

Показано, що при розгляді БД слід виділити три основні процедури: створення (проектування) БД; використання (експлуатація) БД; функціонування БД (взаємодія складових).

Описано методологію використання (з процедурою запиту).

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

Описано етапи проектування, у тому числі під час побудові концептуальної, логічної та фізичної моделей. Визначено мету і місце процесу нормалізації при створенні статичної бази даних.

Відзначено, що відповідно в виділеними в БД процедурами, в теорії баз даних, у свою чергу, можна виділити три складові: теорію побудови БД; теорію використання БД; теорію функціонування БД. Зазначено, що найбільш повно всі три складові теорії розвинені в повному обсязі тільки для реляційних БД.

У главі 3 описана теорія БД безвідносно до використовуваної моделі даних. Розглянуто основні варіанти математичного представлення даних (моделі): за допомогою таблиць; за допомогою апарату теорії графів; з використанням овал-діаграм і ER-діаграм (діаграм "сутність-зв'язок"). Вказані типи відносин між елементами даних. Відзначено, що перераховані моделі слабо орієнтовані на використання комп'ютерів при проектуванні БД.

Для автоматизації проектування як невеликих, так і надвеликих БД призначена CASE-технологія.

У ній виділені і коротко описані методи побудови ER-діаграм (власне баз даних), діаграм потоків зв'язків (інтерфейси користувачів) і діаграм переходів станів (алгоритмів додатків).

Реалізація CASE-технології здійснюється CASE-засоби-ми, які можуть бути вбудовані в СУБД (наприклад, Oracle) або виконуватися окремо (наприклад, CASE * Diclionary, CASE * Designer, CASE * Generator). Дана коротка характеристика автономних CASE- засобів.

Глава 4 присвячена теорії реляційних БД. Уточнено поняття "ставлення", "ключ", що є основними в реляційної моделі даних.

Для теорії створення БД використано математичний апарат реляційної алгебри (РА) і реляційного числення (РІ), що відображає процеси перетворення таблиць і нормалізації даних. Описано математичні операції в РА і РІ. Наведено система аксіом РА для F- і MV-залежностей між елементами даних і приклад процедури нормалізації (від першої до п'ятої нормальних форм) при створенні концептуальної і логічної моделей. Показано зв'язок РА і РІ як взаємодоповнюючих математичних методів.

Розглянуто поняття "безпека", "цілісність", "захист" даних, проаналізовано джерела порушення цілісності і варіанти захисту даних. Описана суть сховищ даних та їх організація.

Теорія використання БД при створенні запитів спирається на РА і РІ. Показано, що РА "виходить" па алгоритмічні мови програмування, які незручні для користувачів-непрофесіоналів (ПН) в програмуванні. У той же час РІ є основою для декларативних мов програмування SQL, службовця засобом зв'язку між різними реляційними СУБД, і QBL (запит за прикладом). Останній є візуальною мовою, зрозумілим ПН і тому широко використовуваним в СУБД (наприклад, Access). Розглянуто теоретичні передумови оптимізації запитів.

У теорії функціонування БД розглянуто поняття "транзакція" як основний програмний елемент забезпечення цілісності даних в статичних БД. Під транзакцією розуміється як вхідний повідомлення (команда) ма зміна (оновлення) даних, так і процес оновлення. Показані особливості роботи транзакцій в монопольному і многопользовательском режимах. В останньому випадку говорять про одночасному доступі (синхронізації доступу) різних користувачів. Розглянуто різні варіанти сінхро- Нізаніе (блокування, відкладені зміни, міоговерсіонность БД). Детально розглянуто процес блокування як найбільш часто вживаний. Описано процес відновлення даних при різного роду збої в БД.

Глави 5-10 присвячені прикладним питанням централізованих (локальних) баз даних.

У главі 5 розглянуті термінологія, процедури побудови та використання реляційних БД. Детально розглянута мова SQL при використанні його в обох перерахованих процедурах. Представлені три різновиди мови SQL: інтерфейсний, вкладений і вбудований. Описано приклад використання мови QBE.

Глава 6 присвячена мережевим і ієрархічним моделям даних з їх специфічною термінологією. Розглянуто логічна структура, особливості програмної реалізації, у тому числі створення і використання БД.

Глава 7 присвячена об'єктно-орієнтованим баз даних (ООБД). Розглянуто суть об'єктно-орієнтованого підходу, об'єктно-орієнтованого проектування та об'єктно-орієнтованого програмування, стан та перспективи розвитку ООБД. Описана багатовимірна модель даних (як основа побудови власне ООБД), різновиди її реалізації: багатовимірна (MOLAP), реляційна (ROLAP), гібридна (HOLAP). Визначено поняття "кіоск (магазин, вітрина) даних". Розглянуто елементи структури і їх зв'язку для багатовимірної моделі, специфічна термінологія цього різновиду моделей даних на прикладах ООБД риє і CACHE. Показано зв'язок ООБД з реляційними БД. Розглянуто перспективи розвитку ООБД.

У главі 8 обговорюються два різновиди "проміжної" об'єктно-реляційної моделі даних: гібридні, розширені об'єктно-реляційні БД. Вказана їх специфіка. Представлений програмний продукт Delphi, на якому реалізована гібридна ОРБД.

Глава 9 присвячена порівнянню властивостей моделей даних, описаних в главах 5-9. Розглянуто варіанти взаімопреобразованія моделей даних. Описується процес вибору СУБД, що складається з вибору моделі даних і СУБД в рамках обраної моделі. Наводяться порівняльні характеристики ряду реляційних СУБД як найбільш часто використовуваних в прикладних цілях. Обговорюється фізична модель БД (фізична БД), що важливо при розгляді мережевий і в ще більшому ступені - ієрархічної моделей даних. Розглянуто методи запису (розміщення) і доступу (пошуку) даних в пам'яті комп'ютера. Відзначено, що в суперЕОМ найчастіше використовуються швидкодіючі ієрархічні СУБД, тоді як в персональних комп'ютерах - реляційні СУБД.

Глави 10-13 присвячені розподілених баз даних (РБД).

У главі 10 розглянуті загальні характеристики таких систем. Сформульовано нові вимоги, що пред'являються до знову проектованим БД і викликали потребу в РБД. Дасться визначення РБД, її склад і опис роботи. Виділяються основні різновиди структури РБД: однорангова (найбільш складна за структурою), клієнт- сервер та змішана. Привілля приклад-опис одноранговой РБД, дана порівняльна характеристика стратегій зберігання даних в РБД. Описано особливості і варіанти структури клієнт-сервер. Розглянуто особливості реалізації цієї структури н СУБД Paradox і InterBase (в рамках програмного продукту Delphi).

У наступних розділах розглянуті процедури створення, функціонування та використання однорангової РБД.

У главі 11 описані особливості створення РБД. Розглянуто питання забезпечення цілісності, фрагментації і локалізації даних як специфічні і додаткові (порівняно з централізованою БД) етапи проектування. Введено поняття "однорідні РБД" (при використанні в локальних БД розподіленої БД однакових, частіше реляційних, моделей даних), "неоднорідні РБД" (при використанні в локальних БД різних моделей даних). Розглянуто математичну модель процесу інтеграції локальних БД, пов'язана з перетворенням даних з однієї моделі даних в іншу. Показано необхідність зіставлення наборів типів даних і процедур в мовах опису і маніпулювання даними для різних СУБД.

Розглянуто два варіанти перетворення: побудова універсальної проміжної моделі, частіше використовуваної в неоднорідних РБД, і системи драйверів для попарного з'єднання СУБД (в однорідних РБД з локальними реляційними БД) з програмною реалізацією через продукт ODBC. Наведено приклади зв'язків реляційних СУБД (відповідність типів даних, використання мови SQL і проміжного програмного продукту ODBC).

Розглянуто процеси перетворення "реляційна - мережева", "реляційна - ієрархічна" моделі даних.

У главі 12 розглядаються особливості та методи забезпечення одночасного доступу (різновиди блокування, Багатоверсійність БД, відкладені (кешированниє) зміни даних). Описано варіанти захисту даних, специфіка резервного копіювання і відновлення даних. Обговорено способи оптимізації запитів в РБД.

У главі 13 обговорюються питання Web-публікацій баз даних в Internet. Визначається поняття "публікація", розглядаються основи використовуваного для публікації мови програмування HTML і приводиться прикладної приклад з використанням програмного продукту Delphi.

Глави 14, 15 висвітлюють питання реалізації баз даних за допомогою різних СУБД. Розглянуто загальні питання реалізації баз даних і традиційний підхід на прикладі бази даних "Навчальний процес".

Обговорюються два варіанти реалізації. У локальному варіанті використовується СУБД Access, для режиму клієнт-сервер - СУБД InterBase. В обох варіантах процес проектування та реалізації розглядається в повному обсязі.

Глава 15 присвячена сучасному підходу з використанням СУБД InterBase на прикладі процедури прийому на роботу. Комп'ютер видає керівнику рішення-поради, які можуть бути керівником прийняті або відкинуті (з коригуванням рішень). Процедура проектування раніше розглядається в повному обсязі. Описуються як локальний, так і віддалений варіанти режиму клієнт-сервер, питання реалізації одно- і багаторівневої структури з використанням програмного продукту Delphi.

У висновку підводяться підсумки вивчення баз даних.

У додатку 1 наведені основні характеристики БД "Навчальний процес". Додатки 2 і 3 містять програми використовувані при роботі з СУБД InterBase в рамках програми Delphi.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук