Автор: Пользователь скрыл имя, 06 Июня 2013 в 18:10, курсовая работа
Виникнення технологій баз даних припадає на початок 60-х років. Їх швидкому розвитку сприяли потреби в обробці інформації, досягнення в суміжних областях інформаційних технологій таких, як операційні системи, мови програмування, технічне забезпечення. Спочатку зароджувалися певні ідеї щодо управління ресурсами даних, формувалися основи методології побудови систем баз даних. Із самого початку було зрозуміло, що цей напрям має самостійне значення і буде відігравати одну з ключових ролей у побудові інформаційних систем різного призначення.
Інформаційні задачі на відміну від обчислювальних мають такі особливості:
− збереження даних складної структури;
− відносно прості алгоритми обробки;
− великі обсяги оброблюваної інформації.
Даталогічна модель – модель логічного рівня, яка відображає логічні зв'язки між елементами даних безвідносно до їх змісту і середовища збереження. Часто ці моделі ототожнюють з логічними моделями.
Фізична модель – описує те, як дані зберігаються в комп'ютері, представляючи інформацію про структуру записів, їх впорядкованість і про існуючі шляхи доступу до даних.
Модель "сутність-зв'язок" (ER-модель) – описує модель предметної області і складається з множини сутностей, множини звязків між сутностями, а також з атрибутів сутностей і зв'язків. В модель входить обмеження цілісності даних, що пов'язано з двома множинами сутностей і називається залежністю по існуванню. ER-моделі дозволяють графічно представляти моделі предметних областей. Вони є складовою частиною багатьох CASE-продуктів.
Семантична об'єктна модель – описує модель предметної області і являє собою модель даних. Ця модель складається з семантичних об'єктів, що містять сукупність атрибутів. Атрибути групуються у класи. Модель даних володіє більш розвиненими засобами відображення семантики у порівнянні з теоретико-множинними і теоретико-графовими моделями.
Теоретико-графова модель – модель даних, в якій дозволені структури даних можуть бути представлені у вигляді графа загального або спеціального виду, наприклад дерева. Необхідну групу операцій на мові маніпулювання даними, що засновані на цій моделі, представляють навігаційні операції. Операції над даними мають позаописовий характер.
Теоретико-множинна модель – модель даних, в якій використовується математичний апарат реляційної алгебри, реляційного обчислення, а операції над даними маніпулюють таблицями.
Фактографічні моделі – містять відомості, які
представлені у вигляді спеціальним чином організованих сукупностей формалізованих записів даних.
Документальні моделі – передбачають, що в якості одиничного елемента інформації виступає неподільний на менші складові частини документ, а інформація про документ, як правило, не структурується, або структурується в обмеженому вигляді. В цих моделях в основному розглядаються тексти на природній мові, формати документів є вільними.
Ієрархічна модель – модель даних в основі якої використовується ієрархічна, деревоподібна структура даних. Вершинами цієї структури є записи, які складаються з простих елементів даних різних типів. Батьківському запису відповідає довільне число екземплярів підлеглих записів кожного типу. Мережна модель – модель даних, в якій дозволені структури даних можуть бути представлені у вигляді графа загального вигляду. Вершинами такого графа можуть бути дані різних типів – від атомарних елементів даних до записів складної структури. На відміну від ієрархічної моделі наступник в цій моделі може мати довільне число батьків.
Реляційна модель – модель даних, яка заснована на математичному понятті відношення і представленні відношень у формі таблиць.
Постреляційна модель – розширена реляційна модель, яка знімає обмеження неподільності даних, що зберігаються в записах таблиць. Ця модель допускає багатозначні поля – поля, значення яких складається з підзначень. Набір значень багатозначних полів вважається самостійною таблицею, яка вбудована в основну таблицю. Часто ці моделі ототожнюють з об'єктно-реляційними моделями.
Об'єктно-орієнтована модель – модель даних, яка базується на понятті об'єкта, тобто сутності, що володіє станом і поведінкою. Стан об'єкта визначається його атрибутами, а поведінка визначається сукупністю операцій, що визначені для цього об'єкта. Також передбачається можливість підтримки зв'язків між типами об'єктів.
Багатомірна модель – модель даних, яка оперує багатомірним представленням даних (у вигляді гіперкубу) і орієнтована на підтримку аналіза даних. Передбачається конструювання різноманітних агрегацій даних у межах гіперкубу, побудова різних його проекцій – підмножин гіперкубу, деталізація і обертання даних, а також цілий ряд інших операцій.
Дескрипторна модель – описує кожен документ за допомогою дескриптора. Дескриптор має жорстку структуру і являє собою набори деяких лексичних одиниць (слов, словосполучень, термінів), які потрібні для роботи з документами. Дескриптори між собою не зв'язані.
Тезаурусна модель – описує кожен документ за допомогою дескрипторів, а також змістовних відношень між лексичними одиницями (ціле-частина, род-вид, клас-підклас і т.ін.). Ці моделі дозволяють підвищити ефективність дескрипторних моделей за рахунок більш ефективного відображення предметної області.
Гіпертекстова модель – модель, що заснована на розмітці документа за допомогою спеціальних навігаційних конструкцій, які відповідають змістовим зв'язкам між різними документами, або окремими фрагментами одного документа. Такі конструкції утворюють деяку семантичну мережу в базі документів.
Програмні і мовні засоби баз даних
Основу програмних засобів банка даних складає СУБД. В СУБД можна виділити ядро СУБД, яке підтримує сукупність базових механізмів роботи з БД, а також інші компоненти, які забезпечують засоби тестування, налагодження системи, утіліти, які забезпечують виконання таких додаткових функцій, як відновлення БД, збір статистики і т.ін. Важливою компонентою СУБД є транслятори і компілятори для мов, що використовуються. Для роботи з БД розробляються застосування.
Застосування – програма, яка призначена для рішення деякої сукупності задач в даній предметній області, або яка являє собою типовий інструментарій, що застосовується в різних предметних областях. Застосування може використовувати різні джерела даних (фактографічні, документальні, WEB і т.ін.), мати різну архітектуру (дволанкову, триланкову, розподілену).
Застосування бази даних – застосування, яке використовує ресурси деякої системи баз даних. Для доступа до БД використовується інтерфейс прикладного програмування СУБД, в середовищі якої він підтримується. Застосування можуть бути написані на стандартній алгоритмічній мові програмування (Pascal, C, Basic тощо) з вбудованими операторами на мові SQL.
Мова даних – мова, яка призначена для визначення даних, маніпулювання даними, а також інших функцій в термінах понять і рамках можливостей, які передбачені в моделі даних, що підтримується розглядуваною СУБД.
Мова запитів – мова доступу до БД, яка орієнтована на користувача. Мова запитів належить до декларативних мов, описує властивості і взаємозв'язки сутностей, але не описує алгоритм рішення задачі. Як правило мова запитів використовується в інтерактивному режимі, а також може вбудовуватися в програмний код застосувань.
Мова маніпулювання даними (Data Manipulation Language – DML) – мова, яка реалізує операційні можливості моделі даних, що використовується. Ця мова визначає операції, які допустимі над даними, що знаходяться в БД.
Мова визначення даних (Data Definition Language – DDL) – мова, яка служить для опису структури БД, обмежень цілісності, а також, можливо, для специфікації процедур, що зберігаються, тригерів, обмежень управління доступом і т.ін. Функціональні можливості мов визначення і маніпулювання можуть інтегруватися в єдину мову даних.
Мова програмування баз даних – мова, яка забезпечує концептуально єдине інтегроване середовище, яке засновано на єдиній моделі даних, для програмування застосувань і управління даними в БД. Такі мови об'єднують функції традиційних мов програмування із засобами опису і маніпулювання даними в БД.
Мова програмування базова – традиційна мова програмування, для якої дана СУБД забезпечує інтерфейс прикладного програмування (API). Прикладна програма, яка написана на цій мові, має доступ до деяких функціональних можливостей СУБД і може виконувати з її допомогою доступ до БД.
Мови, які належать до мов четвертого покоління (FourthGeneration Language – 4GL), мають такі функціональні можливості:
− генератори екранних форм для створення шаблонів вводу і відображення даних;
− генератори звітів на основі інформації, що зберігається в БД;
− генератори застосувань для створення програм обробки даних;
− генератори запитів;
− генератори для представлення даних у вигляді різного роду діаграм.
Для формування запиту за допомогою різних СУБД найчастіше використовуються дві основні мови опису запитів:
− SQL (Structured Query Language) – структурована мова запитів;
− QBE (Query By Example) – мова запитів за зразком.
Головна різниця між цима мовами полягає в тому, що мова QBE передбачає ручне або візуальне формування запиту, а мова SQL – програмування запиту.
Мова SQL є найбільш поширеною мовою для роботи з БД. На даний час існують такі міжнародні стандарти на мову SQL: SQL1, SQL2, SQL3.
Мова SQL не володіє функціями повноцінної мови розробки і орієнтована на доступ до БД. Використання мови SQL може бути самостійним і вона може включатися в склад засобів розробки програм. В цьому випадку її називають вбудованим SQL. Розрізняють два головних методи використання вбудованого SQL: статичний і динамічний.
Статичне використання передбачає застосування в програмі функцій викликів мови SQL, які включаються в програмний модуль і виконуються після компіляції програми.
Динамічне використання передбачає динамічну побудову викликів функцій мови SQL та інтерпретацію цих викликів у ході виконання програми. Динамічний метод застосовується тоді, коли вид SQL запиту заздалегідь невідомий і будується у діалозі з користувачем.
Будь-яке SQL-застосування реляційної БД складається з трьох частин: інтерфейса користувача, набору таблиць в БД і SQL-машини.
Планування бази даних
Етап планування бази даних передбачає розробку загального стратегічного плану, який дозволить ефективно реалізувати етапи життєвого циклу БД. Тут вирішуються такі питання:
− аналіз існуючих інформаційних систем;
− доцільність зміни існуючої інформаційної системи;
− обсяг робіт і ресурсів, вартість проекту;
− визначення технічного завдання для проекту бази даних;
− визначення технічних вимог;
− розробка методології збору даних, визначення їх формату;
− визначення необхідної документації;
− визначення послідовності проектування і реалізації застосувань.
Аналіз вимог до бази даних
На етапі аналізу вимог до бази даних вирішуються такі задачі:
− визначення діапазону дії і границь застосувань БД;
− визначення складу користувачів і областей застосування;
− визначення представлень користувачів, що підтримуються БД.
На цьому етапі також збираються і аналізуються вимоги користувачів:
− опис даних, що застосовуються (вхідні і вихідні документи);
− детальні відомості про транзакції;
− відомості про засоби застосування даних.
На основі всієї цієї інформації складаються специфікації вимог користувачів.
Проектування бази даних
Процес проектування БД являє собою послідовність переходів від неформального мовного опису інформаційної структури предметної області до формалізованого опису об'єктів предметної області в термінах деякої моделі. Проектування БД складається з таких етапів:
− системний аналіз предметної області;
− концептуальне проектування;
− логічне проектування;
− фізичне проектування.
Системний аналіз передбачає мовний опис реальних об'єктів предметної області, визначення зв'язків між об'єктами, дослідження характеристик об'єктів і зв'язків. Результати дослідження використовуються при концептуальном проектуванні БД.
Для визначення складу і структури предметної області застосовуються або функціональний, або предметний підходи. Функціональний підхід застосовує рух "від задач" і використовується у тих випадках, коли заздалегідь відомі функції майбутніх користувачів БД, а також відомі всі задачі, для інформаційних потреб яких створюються БД. В цьому випадку на основі виробничих документів, опитувань замовників можна чітко визначити мінімальний набір об'єктів предметної області та їх взаємозв'язок.
Предметний підхід застосовується у тому випадку, коли інформаційні потреби майбутніх користувачів чітко не визначені. В цьому випадку не можна чітко визначити мінімальний набір об'єктів предметної області. В опис предметної області включаються об'єкти та зв'язки, які є найбільш характерними та найбільш суттєвими для неї. БД називається предметною і може використовуватися для розв’язання задач, які заздалегідь не визначені.
У практичній діяльності використовується комплексний підхід, який з одного боку дозволяє розв’язувати конкретні інформаційні та функціональні задачі, а з іншого боку – враховує можливість додавання нових застосувань.
У загальному випадку існує два підходи до проектування БД: низхідне проектування і висхідне проектування (рис. 4.2).
Концептуальна
модель
Сутність
Сутність
. . . .
Атрибут
Атрибут
Атрибут
Атрибут
Низхідне
проекту
вання
БД
Висхідне
проекту
вання
БД
Рис. 4.2. Схема підходів до проектування бази даних