Огляд і порівняльна характеристика програмного забезпечення, що використовується при створенні СУБД.
Введення.
Сучасне життя немислима без ефективного управління. Важливою категорією є системи обробки інформації, від яких багато в чому залежить ефективність роботи будь-якого підприємства чи установи. Така система повинна:
забезпечувати отримання загальних та/або деталізованих звітів за підсумками роботи;
дозволяти легко визначати тенденції зміни найважливіших показників;
забезпечувати отримання інформації, критичної за часом, без істотних затримок;
виконувати точний і повний аналіз даних.
Сучасні СУБД в основному є додатками Windows, так як дана середу дозволяє більш повно використовувати можливості персональної ЕОМ, ніж середу DOS. Зниження вартості високопродуктивних ПК обумовив не тільки широкий перехід до середовищі Windows, де розробник програмного забезпечення може меншою мірою піклуватися про розподіл ресурсів, але також зробив програмне забезпечення ПК в цілому і СУБД зокрема менш критичними до апаратних ресурсів ЕОМ.
Серед найбільш яскравих представників систем управління базами даних можна відзначити: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а також баз даних Microsoft SQL Server і Oracle, що використовуються в додатках, побудованих за технології "клієнт-сервер". Фактично, у будь-якої сучасної СУБД існує аналог, що випускається іншою компанією, що має аналогічну область застосування і можливості, будь-який додаток здатний працювати з багатьма форматами представлення даних, здійснювати експорт та імпорт даних завдяки наявності великої кількості конвертерів. Загальноприйнятими, також, є технологи, що дозволяють використовувати можливості інших програм, наприклад, текстових редакторів, пакетів побудови графіків і т.п., і вбудовані версії мов високого рівня (найчастіше - діалекти SQL і/або VBA) і засоби візуального програмування інтерфейсів розробляються . Тому вже не має істотного значення на якій мові і на основі якого пакету написано конкретний додаток, і який формат даних в ньому використовується. Більш того, стандартом "де-факто" стала "швидка розробка програм" або RAD (від англійського Rapid Application Development), заснована на широко декларованої в літературі "відкритому підході", то є необхідність і можливість використання різних прикладних програм і технологій для розробки більш гнучких і потужних систем обробки даних. Тому в одному ряду з "класичними" СУБД все частіше згадуються мови програмування Visual Basic 4.0 і Visual C + +, які дозволяють швидко створювати необхідні компоненти додатків, критичні по швидкості роботи, які важко, а іноді неможливо розробити засобами "класичних" СУБД. Сучасний підхід до управління базами даних має на увазі також широке використання технології "клієнт-сервер".
Таким чином, на сьогоднішній день розробник не пов'язаний рамками якого-небудь конкретного пакету, а в залежності від поставленої задачі може використовувати самі різні програми. Тому, важливішим є загальний напрям розвитку СУБД та інших засобів розробки додатків в даний час.
Огляд і порівняльна характеристика програмного забезпечення, що використовується при створенні СУБД.
Розглянемо більш детально програмні продукти компанії Microsoft, а саме Visual FoxPro 3.0, Visual Basic 4.0, Visual C + +, Access 7.0, SQL Server 6.5. Найцікавішою рисою цих пакетів є їх великі можливості інтеграції, спільної роботи і використання даних, тому що дані пакети є продуктами одного виробника, а також використовують подібні технології обміну даними.
Visual FoxPro відрізняється високою швидкістю, має вбудований об'єктно-орієнтована мова програмування з використанням xBase і SQL, діалекти яких вбудовані в багато СУБД. Має високий рівень об'єктної моделі. При використанні в обчислювальних мережах забезпечує як монопольний, так і роздільний доступ користувачів до даних. Застосовується для додатків масштабу підприємства для роботи на різних платформах: Windows 3.x, Windows 95, Macintosh ... Мінімальні ресурси ПК: для Visual FoxPro версії 3.0 - процесор 468DX, Windows 3.1, 95, NT, обсяг оперативної пам'яті 8 (12) Мб, займаний обсяг на ЖМД 15-80 Мб, а для Visual FoxPro версії 5.0 (випущена в 1997 році) - Windows 95 або NT, 486 з тактовою частотою 50 МГц, 10 Мб ОЗУ, від 15 до 240 Мб на ЖМД.
Access входить до складу самого популярного пакета Microsoft Office. Основні переваги: знайомий багатьом кінцевим користувачам і має високу стійкість даних, простий в освоєнні, може використовуватися непрофесійним програмістом, дозволяє готувати звіти з баз даних різних форматів. Призначений для створення звітів довільної форми на підставі різних даних і розробки некомерційних додатків. Мінімальні ресурси ПК: процесор 468DX, Windows 3.1, 95, NT, обсяг оперативної пам'яті 12 (16) Мб, займаний обсяг на ЖМД 10-40 Мб.
Visual Basic - це універсальний об'єктно-орієнтована мова програмування, діалекти якого вбудовані в Access, Visual FoxPro. Переваги: універсальність, можливість створення компонентів OLE, невисокі вимоги до апаратних ресурсів ЕОМ. Застосовується для створення додатків середньої потужності, не пов'язаних з великою інтенсивністю обробки даних, розробки компонентів OLE, інтеграція компонентів Microsoft Office. Мінімальні ресурси ПК: процесор 368DX, Windows 3.1, 95, NT, обсяг оперативної пам'яті 6 (16) Мб, займаний обсяг на ЖМД 8-36 Мб.
Visual C + + - найбільш потужний об'єктно-орієнтована мова програмування, має необмеженої функціональністю. Призначений для створення компонентів додатків для виконання операцій, критичних за швидкістю.
SQL Server - сервер баз даних, реалізує підхід "клієнт-сервер" і взаємодіє з зазначеними пакетами. Головні переваги: високо ступінь захисту даних, потужні засоби для обробки даних, висока продуктивність. Область застосування: зберігання великих обсягів даних, зберігання високоцінних даних або даних, що вимагають дотримання режиму секретності. Мінімальні ресурси ПК: процесор 468DX-33МГц, Windows NT, обсяг оперативної пам'яті 16 (32) Мб, займаний обсяг на ЖМД 80 Мб.
Зазначені програмні продукти мають можливості візуального проектування інтерфейсу користувача, тобто розробник з готових фрагментів створює елементи інтерфейсу, програмує тільки їх зміни у відповідь на будь-які події.
Принципи організації даних, що лежать в основі СУБД.
Сучасні СУБД є об'єктно-орієнтованими і реляційними. Основною одиницею є об'єкт, що має властивості, і зв'язки між об'єктами. СУБД використовують кілька моделей даних: ієрархічну і мережеву (з 60-х років) і реляційну (з 70-х). Основна відмінність даних моделей у поданні взаємозв'язків між об'єктами.
Ієрархічна модель даних будується за принципом ієрархії об'єктів, тобто один тип об'єкта є головним, все нижележащие - підлеглими. Встановлюється зв'язок "один до багатьох", тобто для деякого головного типу існує кілька підлеглих типів об'єктів. Інакше, головний тип іменується вихідним типом, а підлеглі - породженими. У підлеглих типів можуть бути в свою чергу підпорядковані типи. Найвищий в ієрархії вузол (сукупність атрибутів) називають кореневим.
Мережева модель даних будується за принципом "головний і підлеглий тип одночасно", тобто будь-який тип даних одночасно може одночасно породжувати кілька підлеглих типів (бути власником набору) і бути підлеглим для кількох головних (бути членом набору).
Реляційна модель даних об'єкти й зв'язки між ними представляються у вигляді таблиць, при цьому зв'язку теж розглядаються як об'єкти. Всі рядки, що складають таблицю в реляційної бази даних повинні мати первинний ключ. Всі сучасні засоби СУБД підтримують реляційну модель даних.
Об'єкт (Сутність) - елемент будь-якої системи, інформація про який зберігається. Об'єкт може бути як реальним (наприклад, людина), так і абстрактним (наприклад, подія - вступ людини в стаціонар).
Атрибут - інформаційне відображення властивостей об'єкта. Кожен об'єкт характеризується набором атрибутів.
Таблиця - впорядкована структура, що складається з кінцевого набору однотипних записів.
Первинний ключ - атрибут (або група атрибутів), що дозволяє однозначним чином визначити кожний рядок у таблиці.
Навпаки, альтернативний ключ - атрибут (або група атрибутів), не збігається з дозволяє первинним ключем і однозначним чином визначає кожний рядок у таблиці.
Сучасні технології, які використовуються в роботі з даними.
Технологія "Клієнт-сервер" - технологія, що розділяє додаток-СУБД на дві частини: клієнтську (інтерактивний графічний інтерфейс, розташований на комп'ютері користувача) і сервер, власне здійснює керування даними, поділ інформації, адміністрування і безпека, що знаходиться на виділеному комп'ютері . Взаємодія "клієнт-сервер" здійснюється в такий спосіб: клієнтська частина програми формує запит до сервера баз даних, на якому виконуються всі команди, а результат виконання запиту відправляється клієнтові для перегляду і використання. Ця технологія застосовується, коли розміри баз даних великі, коли великі розміри обчислювальної мережі, і продуктивність при обробці даних, що зберігаються не на комп'ютері користувача (у великому установі зазвичай має місце саме така ситуація). Якщо технологія "клієнт-сервер" на застосовується, то для обробки навіть кількох записів весь файл копіюється на комп'ютер користувача, а тільки потім обробляється. При цьому різко зростає завантаження мережі, і знижується продуктивність праці багатьох співробітників.
Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic забезпечують кошти для створення клієнтських частин у додатках "клієнт-сервер", які поєднують в собі засоби перегляду, графічний інтерфейс і засоби побудови запитів, а Microsoft SQL Server є на сьогоднішній день одним із самих потужних серверів баз даних.
OLE 2.0 (Object Linking and Embedding - зв'язування і впровадження об'єктів) - стандарт, що описує правила інтеграції прикладних програм. Застосовується для використання можливостей інших додатків. OLE 2.0 використовується для визначення та спільного використання об'єктів декількома додатками, які підтримують цю технологію. Наприклад, використання в середовищі Access таблиць Excel і його могутніх засобів побудови діаграм або використання даних, підготовлених Access, у звітах складених у редакторі текстів Word (зв'язування або включення об'єкта).
OLE Automation (Автоматизація OLE) - компонент OLE, що дозволяє програмним шляхом встановлювати властивості і задавати команди для об'єктів іншої програми. Дозволяє без необхідності виходу або переходу до іншого вікна використовувати можливості потрібного додатку. Програма, що дозволяє іншим прикладним програмам використовувати свої об'єкти називається OLE сервером. Додаток, який може керувати об'єктами OLE серверів називається OLE контролер або OLE клієнт. З розглянутих програмних засобів як OLE серверів можуть виступати Microsoft Access, а також Microsoft Excel, Word і Graph ... Microsoft Visual FoxPro 3.0 і 5.0 може виступати тільки у вигляді OLE клієнта.
RAD (Rapid Application Development - Швидка розробка додатків) - підхід до розробки додатків, що передбачає широке використання готових компонентів і/або програм і пакетів (у тому числі від різних виробників).
ODBC (Open Database Connectivity - відкритий доступ до баз даних) - технологія, що дозволяє використовувати бази даних, створені іншим додатком за допомогою SQL.
SQL (Structured Query Language - мова структурованих запитів) - універсальна мова, призначений для створення і виконання запитів, обробки даних як у власній базі даних програми, так і з базами даних, створених іншими додатками, що підтримують SQL. Також SQL застосовується для управління реляційними базами даних.
VBA (Visual Basic for Applications - Visual Basic для перекладу) - різновид (діалект) об'єктно-орієнтованої мови програмування Visual Basic, що вбудовується в програмні пакети.