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

Компоненти середовища функціонування СУБД

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

Мал. 6.2. Компоненти середовища функціонування СУБД

Програмне забезпечення

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

Системне програмне забезпечення керує всіма компонентами обладнання та забезпечує доступ до нього всіх інших програм, що працюють на комп'ютері. Приклади системного програмного забезпечення: Windows, Linux, UNIX, MVS, MacOS, OpenSolaris та ін.

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

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

Сюди відносяться всі користувачі системи керування базою даних. Якщо взяти за основу функціональні обов'язки, то в системі управління базами даних можна виділити шість основних груп користувачів: адміністратори, адміністратори баз даних, системні аналітики, проектувальники баз даних, програмісти і кінцеві користувачі.

Системні адміністратори несуть відповідальність та забезпечують надійне функціонування системного програмного забезпечення.

Адміністратори баз даних (Data Base Administrator, DBA) керують роботою СУБД, забезпечують функціонування СУБД, створюють облікові записи користувачів СУБД, призначають права, обмежують доступ, виконують різні процедури, пов'язані із забезпеченням безпеки та надійності зберігання даних.

Системні аналітики виконують роботу зі збирання, систематизації та уточнення вимог до структури даних, додатків та звітів.

Проектувальники баз даних (системні архітектори) проектують структуру БД.

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

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

База даних

База даних включає дані, метадані і процедури.

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

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

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

Класифікація СУБД

Класифікація за типом прийнятої моделі даних

Класифікацію баз даних за моделлю даних ілюструє рис. 6.3.

Ієрархічні бази даних ґрунтуються на ієрархічній моделі даних, в якій зв'язок між об'єктами бази даних утворює перевернене дерево. За такої моделі кожен нижчележачий елемент ієрархії з'єднаний тільки з одним розташованим вище елементом


Мережеві бази даних ґрунтуються на мережній моделі даних, в якій зв'язки між об'єктами даних можуть бути встановлені у довільному порядку.

Реляційні бази даних засновані на реляційній моделі даних, в якій кожна одиниця даних у базі даних однозначно визначається ім'ям таблиці (назвою ставленням), ідентифікатором запису (кортежу) та ім'ям поля.

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

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

Класифікація з архітектури

Класифікацію баз даних із архітектури ілюструє рис. 6.4.


У локальних базах даних усі дані та об'єкти СУБД знаходяться на одному комп'ютері.

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

приклад. Як приклад можна навести складне виробництво (або мережу супермаркетів), різні частини якого знаходяться у різних містах. Кожне підприємство накопичує свої дані. Необхідно, щоб кожне з підприємств мало доступ до тих самих даних, як своїх, так і даних інших підприємств. Вирішенням цієї проблеми може бути створення однієї локальної бази даних одному комп'ютері з механізмом віддаленого доступу. Однак це рішення нераціональне, оскільки швидкий доступ до даних отримуватимуть клієнтські комп'ютери тільки підприємства, на якому знаходиться СУБД. Іншим рішенням цієї проблеми може бути створення кожному підприємстві своєї копії СУБД. І тут виникають труднощі із синхронізацією даних між копіями (особливо масштабах нашої країни, де у Хабаровську може бути розпал робочого дня, а Москві - глибока ніч). Розподілена СУБД у разі забезпечує механізм зберігання даних у різних базах даних в такий спосіб, що з зверненні сукупність різних баз даних виглядає як одна база. Тоді дані, що часто використовуються («свої» дані) знаходяться в тій частині бази даних, яка розташована на підприємстві. А за потреби звернутися до «чужих» даних, СУБД робить запит до віддаленої СУБД і отримує дані звідти. Сукупність різних баз даних різних комп'ютерах з погляду клієнта виглядає як одна база даних.

Класифікація за способом доступу до БД

Класифікацію баз даних способом доступу ілюструє рис. 6.5.


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

У файл-серверних СУБД файли даних розташовуються централізовано на файл-сервері, а ядро ​​СУБД знаходиться на кожному клієнтському комп'ютері. Доступ до даних здійснюється через локальну мережу. Синхронізація читань та оновлень здійснюється за допомогою файлових блокувань. Перевагою цієї архітектури є низьке навантаження на ЦП сервера, а недоліком – високе завантаження локальної мережі.

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

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

Класифікація за швидкістю обробки інформації

Класифікацію баз даних зі швидкістю обробки інформації ілюструє рис. 6.6.


Операційні (operational), або робочі (production), бази даних мають високі швидкості реакції на запит, вилучення та подання інформації.

Сховища даних та багатовимірні сховища даних (data warehouse, OLAP) – це бази даних з дуже великим обсягом інформації, підготовка представлення якої займає значний обсяг часу.

Функції СУБД

Анотація даних, управління словником даних. Функціонування СУБД передбачає, що визначення елементів даних та його відносин (метадані) зберігаються у словнику даних (data dictionary). У свою чергу, будь-які програми отримують доступ до даних за допомогою СУБД. Для пошуку необхідних структур даних та їх відносин СУБД використовує словник даних, допомагаючи уникнути кодування таких складних взаємозв'язків у кожній програмі. До того ж будь-які зміни, які робляться в структурі бази даних, автоматично реєструються у словнику даних, що також звільняє програміста від необхідності модифікувати програми доступу до структур даних, що змінилися. СУБД забезпечує абстракцію даних, цим усуваючи у системі структурну залежність і залежність за даними.

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

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

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

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

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

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

Підтримка мови доступу до даних та інтерфейсів прикладного програмування. СУБД забезпечує доступ до даних за допомогою мови запитів. Мова запитів - це непроцедурна мова, тобто вона надає користувачеві можливість визначити, що потрібно виконати, не вказуючи, як це зробити. До складу мови запитів СУБД входять два основні компоненти: мова визначення даних (Data Definition Language, DDL) та мова маніпулювання даними (Data Manipulation Language, DML). DDL визначає структури, в яких розміщуються дані, a DML дозволяє кінцевим користувачам витягувати дані з


БД. СУБД також надає програмістам доступ до даних з процедурних мов третього покоління, таких як COBOL, С, PASCAL та ін.

Інтерфейси взаємодії із базою даних. Поточне покоління СУБД забезпечує спеціальні програми взаємодії, розроблені для того, щоб база даних могла приймати запити кінцевих користувачів у мережному оточенні. Фактично можливості взаємодії кінцевих користувачів з базою даних є невід'ємною складовою сучасних СУБД. Наприклад, СУБД надає функції взаємодії для отримання доступу до бази даних, використовуючи як зовнішній інтерфейс інтернет-браузер (Mozilla Firefox, Opera або Internet Explorer). У такому середовищі взаємодія може здійснюватися кількома способами:

□ кінцевий користувач може отримувати відповіді на запити, заповнюючи екранні форми за допомогою вибраного браузера;

□ засобами СУБД можна автоматизувати публікацію форм звітів в Інтернеті за допомогою веб-форматування, що дозволяє переглядати звіти в будь-якому браузері та ін.

Моделі даних

Програма, написана алгоритмічною мовою, має бути перетворена на об'єктний модуль, записаний машинною мовою (у двійкових кодах). Подібне перетворення виконується трансляторами (ассемблером – з мови Assembler та компіляторами – з мов високого рівня). Для деяких алгоритмічних мов використовуються інтерпретатори, які не створюють об'єктний модуль, а при кожному черговому виконанні програми, що перекладають кожний її окремий рядок або оператор на машинну мову. Об'єктний модуль обробляється завантажувачем - редактором зв'язків, що перетворюють його на машинну програму, що виконується.

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

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

Прикладне програмне забезпечення забезпечує грішення завдань користувача. Ключовим поняттям є пакет прикладних програм.

Пакет прикладних програм - це сукупність програм на вирішення кола завдань з певної тематики чи предмету. Розрізняють такі типи пакетів прикладних програм:

загального призначення – орієнтовані на автоматизацію широкого кола завдань користувача (текстові процесори, табличні редактори, системи управління базами даних, графічні процесори, видавничі системи, системи автоматизації проектування тощо);

методо-орієнтовані – реалізація різноманітних економіко-математичних методів вирішення завдань (математичного програмування, мережевого планування та управління, теорії масового обслуговування, математичної статистики тощо);

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

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

    Основні види спеціалізованих професійно орієнтованих програмних засобів.

Основні види спеціалізованих програмних засобів.

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

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

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

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

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

Геоінформаційні системи (ГІС) призначені для автоматизації картографічних та геодезичних робіт на основі інформації, отриманої топографічними або аерокосмічними методами.

Системи відеомонтажу забезпечують цифрову обробку відеоматеріалів.

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

Системи автоматизованого проектування (CAD-системи) відрізняються здатністю автоматичного забезпечення на всіх етапах проектування технічних умов, норм і правил, що звільняє конструктора (або архітектора) від робіт нетворчого характеру. Наприклад, у машинобудуванні CAD-системи здатні на базі складального креслення виробу автоматично виконати робочі креслення деталей, підготувати необхідну технологічну документацію із зазначенням послідовності переходів механічної обробки, призначити необхідні інструменти, верстатні та контрольні пристосування, а також підготувати керуючі програми для верстатів з числовим програмним управлінням (ЧПУ), промислових роботів та гнучких автоматизованих ліній. Сьогодні системи автоматизованого проектування є необхідним компонентом, без якого втрачається ефективність реалізації гнучких виробничих систем (ГПС) та автоматизованих систем управління технологічними процесами (АСУТП).

Експертні системи служать для аналізу даних, які у базах знань, і видачі рекомендацій на запит користувача. Такі системи застосовують у тих випадках, коли вихідні дані добре формалізуються, але для прийняття рішення потрібні великі спеціальні знання.

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

Характерними областями використання експертних систем є юриспруденція, медицина, фармакологія, хімія. За сукупністю ознак захворювання медичні експертні системи допомагають встановити діагноз та призначити ліки, дозування та програму лікувального курсу. За сукупністю ознак події юридичні експертні системи можуть дати правову оцінку і запропонувати порядок дій, як для сторони, що обвинувачує, так і для захищається. З використанням експертних систем пов'язана особлива галузь науково-технічної діяльності, яка називається інженерією знань. Інженери знань - це фахівці особливої ​​кваліфікації, які виступають як проміжна ланка між розробниками експертної системи (програмістами) і провідними спеціалістами в конкретних галузях науки і техніки (експертами).

    Загальні засади побудови електронних таблиць.

В електронних таблицях вся оброблювана інформація розташовується в комірках прямокутної таблиці. Відмінність електронної таблиці від простий у тому, що у ній є поля, значення яких обчислюються через значення інших полів, де розміщуються вихідні дані. Це відбувається автоматично при зміні вихідних даних. Поля таблиці, у яких розташовуються вихідні дані, називають незалежними полями. Поля, де записуються результати обчислень, називають залежними чи обчислюваними полями. Кожна комірка електронної таблиці має свою адресу, яка утворюється від імені стовпця та номера рядка, де вона розташована. Рядки мають числову нумерацію, а стовпці позначаються літерами латинського алфавіту. Електронні таблиці мають великі розміри. Наприклад, електронна таблиця Excel, що найбільш часто застосовується в IBM-сумісних комп'ютерах, має 256 стовпців і 16 384 рядків. Зрозуміло, що таблиця такого розміру не може поміститися на екрані. Тому екран – це лише вікно, через яке можна побачити лише частину таблиці. Але це вікно переміщається, і за його допомогою можна заглянути у будь-яке місце таблиці. Електронна таблиця має кілька режимів роботи: формування таблиці, редагування, обчислення за формулами, збереження інформації в пам'яті, побудова графіків та діаграм, статистична обробка даних, впорядкування за ознакою. Формули, якими обчислюються значення залежних полів, включають числа, адреси осередків таблиці, знаки операцій. Працюючи з електронними таблицями користувач може використовувати і звані вбудовані формули, заздалегідь підготовлені для певних розрахунків і внесені на згадку комп'ютера. Більшість табличних процесорів дозволяють здійснювати впорядкування таблиці за якоюсь ознакою, наприклад, за спаданням. В електронних таблицях передбачено також графічний режим роботи, який дає можливість графічного подання числової інформації, що міститься в таблиці.

    Загальні засади побудови СУБД.

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

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

Метою будь-якої інформаційної системи є обробка даних про обсяги реального світу. У широкому значенні база даних - сукупність відомостей про конкретні об'єкти реального світу в будь-якій предметній галузі. Під предметною областю прийнято розуміти частину реального світу (підприємство або ВНЗ), що підлягає вивченню з метою організації управління та автоматизації.

Термін "база даних" має кілька термінів. Вони є суперечливими, а представляють різні погляду одне поняття. Зупинимося одному з них:

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

Під інформаційною моделлю розуміють інформацію про об'єкт, відібрану та структуровану відповідно до заданої мети.

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

Перші бази даних створювалися на основі файлових систем, і вся відповідальність за роботу з ними покладалася на прикладне програмне забезпечення, яке використовувало ці бази. Файлові бази даних зараз практично не використовуються. У сучасній технології баз даних передбачається, що створення бази даних, її підтримка та забезпечення доступу користувачів до неї здійснюється централізовано за допомогою спеціального програмного інструментарію – системи керування базами даних.

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

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

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

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

2) програмне забезпечення СУБД (керує базою даних, реалізуючи функції СУБД);

3) прикладні програми та утиліти (призначені для отримання доступу до даних та маніпулювання ними в середовищі, прикладні програми служать для подання даних, що зберігаються у БД, у вигляді звітів та таблиць).

Програмне забезпечення СУБД належать до розряду проміжного програмного забезпечення.

Якщо взяти за основу функціональні обов'язки, то в СУБД можна виділити шість основних груп:

1) Системні адміністратори – несуть відповідальність та забезпечують надійну роботу програмного забезпечення

2) Адміністратори баз даних – забезпечують роботу СУБД та керують нею, створюють записи, виконує процедури, пов'язані з надійністю зберігання даних (призначають права, обмежують доступ)

3) Системні аналітики – виконують роботу із систематизації структури даних, додатків та звітів

4) Проектувальники бази даних – проектують структуру СУБД

5) Програмісти – розробляють прикладне програмне забезпечення

6) Кінцеві користувачі – застосовують прикладні програми для виконання щоденних операцій.

База даних включає:

1) дані (весь фактичний матеріал, що зберігається в базі даних). Є необробленою сировиною, яка підлягає структуруванню.

2) метадані (вміст системного каталогу). Є відомостями про імена та структуру таблиць, права користувачів, типи обмежень та інші об'єкти бази даних

3) процедури – важливий компонент системи. Встановлюють стандарти ведення комерційної, технологічної та виробничо-технічної діяльності в рамках підприємства та у відносинах з клієнтами

Класифікація СУБД

За типом прийнятої моделі:

1) ієрархічні – зв'язок між об'єктами БД утворює перевернене дерево, тобто. кожен нижчележачий елемент ієрархії з'єднаний тільки з одним розташованим вище елементом

2) мережеві – зв'язок між об'єктами даних можуть бути встановлені у довільному порядку

3) реляційні – кожна одиниця даних у базі однозначно визначається ім'ям таблиці, ідентифікатором запису та ім'ям поля

4) об'єктно-реляційні – містять об'єктно-орієнтовані механізми побудови структур даних у вигляді розширень мови та програмних надбудов над ядром СУБД

5) об'єктно-орієнтовані – засновані на поєднанні трьох принципів: реляційної моделі, стандартів на опис об'єктів та принципів

об'єктно-орієнтованого програмування

По архітектурі:

локальні бази даних (всі дані та об'єкти СУБД знаходяться на одному комп'ютері) та розподільні (різні частини даних та об'єкти СУБД знаходяться на різних комп'ютерах)

За способом доступу до БД:

2) файл-серверні – знаходиться на кожному клієнтському комп'ютері та доступ до даних здійснюється через локальну мережу

3) клієнт-серверні – забезпечують розмежування доступу між користувачем та мало завантажують мережу та машини

4) вбудована – є програмною бібліотекою. Доступ до даних відбувається за допомогою запиту на мові SQL або шляхом виклику функцій бібліотеки з програми

За швидкістю обробки:

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

СУБД виконує такі функції:

1) абстракція даних, управління словником даних – для пошуку необхідних структур даних та його відносин СУБД використовує словник даних, допомагаючи уникнути кодування таких складних взаємозв'язків у кожній програмі.

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

3) Перетворення і представлення даних – СУБД перебирає завдання структурування даних, що вводяться, перетворюючи їх у форму, зручну для зберігання. Забезпечуючи незалежність даних, СУБД перетворює логічні запити в команди, що визначають їхнє фізичне місце та витяг.

4) Управління безпекою - СУБД створює систему безпеки, що забезпечує захист користувача та конфіденційність даних усередині БД

5) Управління розрахованим на багато користувачів доступом – СУБД створює складні структури, що забезпечують доступ до даних декількох користувачів одночасно

6) Управління резервним копіюванням та відновленням – у СУБД є процедури резервного копіювання та відновлення даних, що забезпечують їх безпеку та цілісність

7) Управління цілісністю даних – у СУБД передбачені правила, що забезпечують цілісність даних, що дозволяє мінімізувати надмірність даних та гарантувати їх несуперечність

8) Підтримка мови доступу до даних та інтерфейсів пригладного програмування – СУБД забезпечує доступ до даних за допомогою мови запитів (непроцедурна мова, тобто вона надає користувачеві можливість визначити, що необхідно виконати, не вказуючи, як це зробити)

9) Інтерфейси взаємодії з базою даних – поточне покоління СУБД забезпечує спеціальні програми взаємодії, розроблені для того, щоб база даних могла приймати запити кінцевих користувачів у мережевому оточенні

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

Слід зазначити, що сучасні сервери баз даних часто оснащуються засобами моделювання моделі "сутність-зв'язок" чи іншими засобами створення схем даних.

Усі тонкощі побудови інформаційної моделі деякої предметної галузі діяльності переслідують одну мету – отримати хорошу БД. Пояснимо термін «хороша БД» та сформулюємо вимоги, яким вона має задовольняти:

1) Повинна задовольняти інформаційним потребам та можливостям користувачів (організацій) та за структурою та змістом відповідати розв'язуваним завданням;

2) повинна забезпечувати отримання необхідних даних за прийнятний час, тобто відповідати вимогам продуктивності;

3) Повинна легко розширюватися або інтегруватися у більш масштабні об'єкти при реорганізації предметної області;

4) Повинна легко змінюватися при зміні програмного та апаратного середовища;

5) Коректні дані, завантажені в БД, повинні залишатися коректними (дані повинні перевірятися на коректність під час їх введення).

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

    Призначення комп'ютерних мереж та їх різновиди.

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

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

Абоненти мережі – об'єкти, які генерують або споживають інформацію.

Абонентами мережі можуть бути окремі ЕОМ, промислові роботи, верстати з ЧПК (верстати з числовим програмним управлінням) тощо. Будь-який абонент мережі підключено до станції.

Види комп'ютерних мереж

Існуючі мережі прийнято нині ділити насамперед за територіальним ознакою:

1. Локальні мережі (LAN – Locate Area Network). Така мережа охоплює невелику територію з відстанню між окремими комп'ютерами до 10 км. Зазвичай така мережа діє у межах однієї установи.

2. Глобальні мережі (WAN – Wide Area Network). Така мережа охоплює, як правило, великі території (територію країни чи кількох країн). Комп'ютери розташовуються один від одного на відстані десятків тисяч кілометрів.

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

канали зв'язку – транспортна мережа передачі даних.

Основні характеристики:

*пропускна здатність

*достовірність передачі даних

Швидкість передачі даних каналом стандартизована. У вітчизняних каналах зв'язку: 200, 300, 600, 1200, 2400, 4800, 9600, 12000, 24000, 48000, 96000 біт/секунду. У каналах до 300 біт – низька швидкість, від 600 до 4800 – середня швидкість, від 4800 і далі – високошвидкісні.

Програмні засоби

Телеобробка даних організується на цій схемі та підтримується програмними засобами, включеними до складу ОС. Повідомлення надходять в ЕОМ каналами зв'язку, наприклад у вхідну чергу, де накопичуються потім редагуються, і за допомогою засобів телеобробки надходять у чергу до програм. Прикладна програма звертається до черги повідомлень, як до набору даних із послідовною вибіркою, за спеціальними макрокомандами вибирає повідомлення для обробки. У свою чергу, що формуються прикладною програмою повідомлення, видаються в чергу до каналів, також за допомогою мікрокоманд, але іншого типу, після чого повідомлення редагуються, а потім надходять у вихідну чергу, куди виводитися в КС в порядку надходження.

Процеси прийому та обробки повідомлень у такій системі протікають асинхронно. Схема має особливості: все йде синхронно. Внаслідок цього можна організувати обмін повідомленнями між користувачами без управління ЕОМ. Робиться це додатковим зв'язком (1) тому обмін повідомленнями між користувачами йде, минаючи прикладну програму. Внаслідок цього скорочується час обміну та продуктивність ЕОМ зростає з питань реалізації завдань основного напряму.

    Концепція еталонної моделі взаємодії відкритих систем.

Переміщення інформації між комп'ютерами різних схем є надзвичайно складним завданням. На початку 1980 року. Міжнародна Організація зі Стандартизації (ISO) та Міжнародний Консультативний Комітет з Телеграфії та Телефонії (МККТТ) визнали необхідність створення моделі мережі, яка могла б допомогти постачальникам створювати реалізації взаємодіючих мереж. У тісній співпраці було розроблено еталонну модель "Взаємодія Відкритих Систем" (ЕМВОС). ЕМВОС швидко стала основною архітектурною моделлю передачі міжкомп'ютерних повідомлень. Незважаючи на те, що були розроблені інші архітектурні моделі (в основному патентовані), більшість постачальників мереж, коли їм необхідно надати навчальну інформацію користувачам виробів, що поставляються ними, посилаються на них як на вироби для мережі, відповідної еталонної моделі. І дійсно, ця модель є найкращим засобом, який є у розпорядженні тих, хто сподівається вивчити технологію мереж.

Мережева модель OSI складається з 7 рівнів, причому прийнято починати відлік із нижнього. 7.Прикладний рівень (application layer) - це набір різноманітних протоколів, за допомогою яких користувачі мережі отримують доступ до ресурсів, що розділяються, таким як файли, електронна пошта, гіпертекстові WEB-сторінки, принтери.

На цьому рівні відбувається взаємодія не між комп'ютерами, а між додатками: визначається модель, за якою відбуватиметься обмін файлами, встановлюються правила, за якими ми пересилатимемо пошту, організовуватимемо віртуальний термінал, мережеве управління, директорії. Наприклад: перегляд веб-сторінок (HTTP), отримання та отримання файлів (FTP, TFTP), надсилання та отримання пошти (SMTP, POP3).

6. Представницький рівень або рівень подання (presentation layer) – реалізуються функції подання даних (кодування, форматування, структурування). Наприклад, на цьому рівні виділені для передачі дані перетворюються з коду EBCDIC ASCII і т.д. 5. Сеансовий рівень (session layer)- призначений для організації та синхронізації діалогу, що ведеться об'єктами (станціями) мережі. На цьому рівні визначаються тип зв'язку (дуплекс або напівдуплекс), початок та закінчення завдань, послідовність та режим обміну запитами та відповідями взаємодіючих партнерів.

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

Системне програмування- Створення системного програмного забезпечення.

Системний програміст- Програміст, що спеціалізується на системному програмуванні.

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

Енциклопедичний YouTube

    1 / 5

    ✪ Найкращі програми для Windows 7

    ✪ Що можна видалити на диску C? Що не можна видаляти? Посібник для користувачів ПК

    ✪ 5 Безкоштовних програм (Найкращі необхідні програми)

    ✪ Пошук та усунення всіх помилок Windows. Як виправити помилку?

    ✪ ВИДАЛЕННЯ ПРОГРАМ з ПК з повним ОЧИЩЕННЯМ ♻️ ОГЛЯД Uninstall Tool

    Субтитри

Операційні системи

Основні ідеї операційних систем

Попередником операційних систем слід вважати службові програми (завантажувачі та монітори), а також бібліотеки підпрограм, що часто використовуються, що почали розроблятися з появою універсальних комп'ютерів 1-го покоління (кінець 1940-х років). Службові програми мінімізували фізичні маніпуляції оператора з обладнанням, а бібліотеки дозволяли уникнути багаторазового програмування тих самих дій (здійснення операцій введення-виведення, обчислення математичних функцій тощо).

Вбудовані програми

Вбудовані програми або firmware – це програми, «зашиті» у цифрові електронні пристрої. У ряді випадків (наприклад, BIOS IBM-PC, сумісних комп'ютерів) є по суті частиною операційної системи, що зберігається в постійній пам'яті. У досить простих пристроях вся операційна система може бути інтегрованою. Багато пристроїв сучасних комп'ютерів мають власні «прошивки», що керують цими пристроями і спрощують взаємодію з ними.

Утиліти

Утиліти (англ. utility або tool) – програми, призначені для вирішення вузького кола допоміжних завдань. Іноді утиліти належать до класу сервісного програмного забезпечення.

Утиліти використовуються для моніторингу показників датчиків та продуктивності обладнання (наприклад, моніторингу температур процесора або відеоадаптера), керування параметрами обладнання (обмеження максимальної швидкості обертання CD-приводу; зміна швидкості обертання вентиляторів), контролю показників (перевірка цілісності; розширення запису даних); можливостей (форматування або перерозмітка диска зі збереженням даних, видалення без відновлення).

Типи утиліт

  • Дискові утиліти
    • Перевірка диска - пошук неправильно записаних чи пошкоджених різним шляхом файлів і ділянок диска та його подальше видалення ефективне використання дискового простору.
    • Очищення диска – видалення тимчасових файлів, непотрібних файлів, чищення «кошика».
    • Розмітка диска - розподіл диска на логічні диски, які можуть мати різні файлові системи та сприйматися операційною системою як кілька різних дисків.
    • Резервне копіювання - створення резервних копій цілих дисків та окремих файлів, а також відновлення з цих копій.
    • Стиснення дисків – стиск інформації на дисках для збільшення місткості жорстких дисків.
  • Утиліти роботи з реєстром
  • Утиліти моніторингу обладнання
  • Тести обладнання

Системи програмування

  • асемблери - комп'ютерні програми, що здійснюють перетворення програми у формі вихідного тексту на мові асемблера в машинні команди у вигляді об'єктного коду;
  • транслятори – програми або технічні засоби, що виконує трансляцію програми;
    • компілятори - Програми, що перекладають текст програми мовою високого рівня, в еквівалентну програму машинною мовою.
    • інтерпретатори - Програми (іноді апаратні засоби), що аналізують команди або оператори програми і тут же виконують їх;
  • компонувальники (редактори зв'язків) - програми, які виробляють компонування - приймають на вхід один або кілька об'єктних модулів і збирають за ними модуль, що здійснюється;
  • препроцесори вихідних текстів - це комп'ютерні програми, що приймають дані на вході, і видають дані, призначені для входу іншої програми, наприклад, компілятор;
  • відладники (англ. debugger) - модулі середовища розробки або окремі програми, призначені для пошуку помилок у програмах;
  • текстові редактори - комп'ютерні програми, призначені для створення та зміни текстових файлів, а також їх перегляду на екрані, виведення на друк, пошуку фрагментів тексту тощо;
    • спеціалізовані редактори, вихідних текстів - текстові редактори для створення та редагування вихідного коду програм. Спеціалізований редактор вихідних текстів може бути окремим додатком, або бути вбудованим у

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

Якими бувають системи управління базами даних

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

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

Нині найчастіше застосовуються реляційні СУБД з архітектурою «клієнт-сервер», хоча зрідка можна зустріти додатки, використовують настільні СУБД. Бази даних, керовані настільними СУБД, зазвичай являють собою файл або набір файлів, а самі СУБД є набором бібліотек, за допомогою яких застосунки, що їх застосовують, можуть вносити зміни в ці файли. Іноді настільні СУБД постачаються також оболонкою для створення таблиць та інших об'єктів і навіть для розробки найпростіших додатків, наприклад у випадку Microsoft Access, найбільш популярною в даний час саме оболонка, а не бібліотека є комерційним продуктом.

Однак корпоративні програми для великих і навіть для середніх підприємств, як правило, використовують серверні СУБД через їх більшу надійність і масштабованість. У найпростішому випадку інформаційна система, заснована на архітектурі «клієнт-сервер», складається з двох основних компонентів: сервера баз даних, що управляє даними і виконує запити, що надходять від клієнтських додатків, і самих клієнтських додатків, що забезпечують інтерфейс користувача і посилають запити до сервера. Саме сервер баз даних може маніпулювати файлами, в яких зберігаються дані, виконувати запити користувача, підтримувати цілісність посилань даних, забезпечувати доступ до них, здійснювати резервне копіювання даних і протоколювати операції, пов'язані з їх зміною. У складніших випадках між клієнтом і сервером може розташовуватися додаток проміжного ланки (middleware), функції якого дуже різноманітні від розмежування доступу до даних до реалізації досить складної бізнес-логіки.

Вимоги до сучасних СУБД

сучасним СУБД пред'являються такі вимоги:

  • масштабованість - відсутність істотного зниження швидкості виконання запитів користувача при пропорційному зростанні кількості запитів і апаратних ресурсів використовуваних даної СУБД (таких як обсяг оперативної пам'яті, кількість процесорів і серверів);
  • доступність можливість завжди виконати запит;
  • надійність - мінімальна ймовірність збоїв, наявність засобів відновлення даних після збоїв, інструментів резервного копіювання та дублювання даних (останнім часом виробники СУБД нерідко пропонують інструменти, що дозволяють здійснювати подібні операції, не перериваючи роботу користувачів);
  • керованість Простота адміністрування, наявність засобів автоматичного конфігурування (типовий сучасний набір засобів адміністрування включає засоби створення баз даних та їх об'єктів, інструменти опису правил реплікації даних між різними серверами, утиліти управління користувачами, групами та їх правами, засоби моніторингу подій, засоби перегляду планів виконання запитів, утиліти міграції з інших СУБД);
  • наявність засобів захисту даних від втрати та несанкціонованого доступу;
  • підтримка доступу до даних за допомогою веб-служб;
  • підтримка стандартних механізмів доступу до даних (таких як ODBC, JDBC, OLE DB, ADO .NET), що дозволяє створювати програми для СУБД за допомогою різних засобів розробки.

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

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

СУБД провідних виробників

згідно даних низки аналітичних звітів (див., наприклад: Strange K. Magic Quadrant for Data Warehouse DBMSs// Gartner Research Note M-22-2154. 2004), лідерами ринку СУБД на даний момент є давно і успішно представлені на російському ринку компанії IBM , Oracle, Microsoft, Sybase та Teradata, а також щодо молода компанія Netezza, яка на вітчизняному ринку практично невідома. Далі ми коротко розглянемо особливості товарів цих предприятий.

DB2 Universal Database (IBM)

Сімейство серверних СУБД фірми IBM, відоме під назвою DB2 Universal Database (DB2 UDB), вперше з'явилося в 1996 і призначалося для платформ UNIX, OS/2 і Microsoft Windows NT. Остання версія цього продукту, DB2 UDB 8.2, працює під керуванням операційних систем AIX, AIX, Linux, HP-UX, Sun і Windows.

Особливостями даної СУБД є розвинені засоби самовідновлення та автоматичного виконання операцій, пов'язаних із підтримкою бази даних (таких як створення резервних копій та дефрагментація даних). З механізмів доступу даних DB2 UDB підтримує ODBC, JDBC, ADO/OLE DB, ADO .NET. Дана СУБД дозволяє створювати серверний код CLR-сумісних мовах, таких як C# і Visual Basic .NET.

DB2 Universal Database підтримує створення сховищ даних та крім засобів перенесення даних у сховищі містить у складі клієнтської частини засоби управління сховищами даних, що дозволяють керувати всіма процесами, пов'язаними зі створенням та підтримкою сховищ даних, включаючи створення схеми сховища, визначення джерел вихідних даних для нього, створення розкладів оновлення даних у сховищі, перевірку та виправлення некоректних даних.

До інших найважливіших технічних характеристик DB2 Universal Database слід віднести підтримку реляційних та комплексних даних за допомогою об'єктних розширень, можливість роботи на мультипроцесорних платформах, підтримку кластерів, 64-розрядну архітектуру пам'яті, розпаралелювання запитів, наявність засобів для розподіленого адміністрування та обробки даних, підтримку виконання розподілених транзакцій. Деякі з цих технологій були запозичені з СУБД Informix Dynamic Server, придбаної IBM разом з компанією Informix кілька років тому.

Oracle 10g (Oracle)

Oracle, що з'явилася в 1979 році, була першою комерційною реляційною СУБД, яка підтримувала мову SQL, яка нині стала індустріальним стандартом. Ранні версії цієї СУБД створювалися для мейнфреймів, проте в 1985 з'явилися версії Oracle, призначені для використання в архітектурі «клієнт-сервер». Це була перша СУБД, яка використовувала засоби паралельних обчислень, що надавалися деякими серверними платформами.

В даний час її останньою версією є Oracle 10g. Ця СУБД відповідає найсуворішим вимогам до якості обслуговування, має можливості кластеризації (для цього призначений модуль Oracle Real Application Clusters), розвиненими засобами безпеки.

СУБД Oracle 10g надає засоби паралельної обробки запитів, вбудовані засоби OLAP, засоби швидкого вилучення, перетворення та завантаження даних, служб порталів, засобів бізнес-аналізу, розповсюдження звітів та аналізу дій користувачів, інструменти аналізу продуктивності СУБД, забезпечує підтримку кластерів.

З механізмів доступу до даних Oracle 10g підтримує ODBC, JDBC та ADO/OLE DB, крім того, для цієї СУБД існує .NET-провайдер та відповідний набір класів від Microsoft. Клієнтська частина Oracle також містить набір COM-об'єктів для доступу до даних (Oracle Objects for OLE). Зазначимо, що багато інших компаній виробляють ODBC-драйвери і OLE DB-провайдери для доступу до Oracle - цю СУБД підтримують всі провідні виробники засобів розробки, генераторів звітів, засобів аналітичної обробки даних.

І на Заході, і в Росії нерідко використовуються готові корпоративні рішення від Oracle Corporation, об'єднані під загальною назвою Oracle Applications, такі як Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems та ін. Власне, продаж і підтримка саме цих додатків і становлять основну частину бізнесу компанії.

SQL Server 2000 та SQL Server 2005 (Microsoft)

Перша версія Microsoft SQL Server – спільний продукт компаній Microsoft та Sybase, випущений у 1988 році, – була розроблена для платформи OS/2. Наступні версії цього сервера баз даних призначалися для платформи Windows і згодом тісно інтегровані з цією операційною системою. Для інших платформ версії сервера не випускалися і не випускаються.

Найбільш часто використовувана версія цієї СУБД Microsoft SQL Server 2000 відрізняється підвищеною масштабованістю і продуктивністю. Вона дозволяє використовувати одному комп'ютері кілька одночасно працюючих серверів, підтримує створення кластерів, паралельні обчислення в багатопроцесорних системах, розподілені запити. Засоби адміністрування Microsoft SQL Server 2000 вважаються одними з найпростіших і найзручніших. Крім засобів вирішення стандартних завдань адміністрування, таких як створення баз даних та їх об'єктів, управління привілеями користувачів та груп, резервне копіювання та відновлення, реплікація даних, вони включають утиліти обміну даними з іншими СУБД та сховищами даних. До складу цього продукту входить OLAP-сервер - саме з його появи у складі SQL Server почалося включення OLAP-засобів до складу СУБД інших виробників та переміщення їх з категорії дорогих, елітних продуктів до категорії продуктів, що широко застосовуються навіть у невеликих компаніях.

З механізмів доступу даних цей продукт підтримує ODBC, OLE DB/ADO, ADO .NET. Є також JDBC-драйвер виробництва компанії Microsoft. Не можна не відзначити чудові засоби інтеграції цієї СУБД із Microsoft Office, аж до інструментів маніпуляції OLAP-даними з цих програм.

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

Ще одним з основних технологічних нововведень очікуваної версії SQL Server є інтеграція з Microsoft .NET Framework 2.0 на рівні Common Language Runtime в самій СУБД, що дозволить створювати серверний код будь-якою CLR-сумісною мовою програмування, наприклад C# або Visual Basic. Відзначимо також суттєве розширення аналітичних можливостей цієї СУБД, наприклад, поява нових алгоритмів Data Mining.

SQL Server 2005 буде створена у вигляді не тільки 32-, а й 64-розрядної версії, що підтримує процесори Intel Itanium та AMD Opteron. А для вирішення нескладних завдань, що використовують невеликі бази даних, буде випущена безкоштовна версія Microsoft SQL Server 2005 Express Edition.

Adaptive Server Enterprise та Adaptive Server IQ (Sybase)

Серверні продукти компанії Sybase походять від однієї з ранніх версій Microsoft SQL Server, створеної спільно Microsoft та Sybase. Починаючи з 1994 року Microsoft та Sybase розробляють свої серверні продукти незалежно один від одного, і результатом діяльності компанії Sybase у цьому напрямку є продукт Adaptive Server Enterprise (ASE), остання версія якого, 12.5.2, існує для Windows NT/2000 та деяких версій UNIX та Linux.

Adaptive Server Enterprise підтримує попереджувальне асинхронне читання, що підвищує швидкість виконання складних запитів; створення кластерів; наявність 64-розрядної версії; розподілену обробку запитів, у тому числі до баз даних інших виробників; розширені процедури, що зберігаються, що дозволяють здійснювати легкий доступ до функцій, які написані мовами, відмінними від SQL; паралельну обробку запитів у багатопроцесорних системах; паралельну роботу утиліт адміністрування; динамічну конфігурацію сервера та резервне копіювання даних з компресією. Особливо варто відзначити служби Sybase Real-Time Data Services, призначені для організації передачі повідомлень у реальному часі при виникненні будь-яких подій у базах даних, у тому числі в базах даних, які керує СУБД інших виробників.

З універсальних механізмів доступу до ASE підтримує ODBC, JDBC, OLE DB/ADO. Зазначимо, що нерідко разом з ASE використовуються засоби розробки та проектування даних компанії Sybase.

Для створення багатовимірних сховищ даних у Sybase існує ще один серверний продукт Adaptive Server IQ, що дозволяє створювати сховища на основі даних з СУБД виробництва не тільки Sybase, але і інших виробників. Висока швидкість виконання запитів цього продукту обумовлена ​​нестандартним способом зберігання даних. Відзначимо також, що існує низка продуктів під загальною назвою Sybase Industry Warehouse Studio, орієнтованих обслуговування конкретних предметних областей.

Teradata Database V2R6.0 (Teradata)

Протягом останніх кількох років СУБД компанії Teradata вважаються лідируючими продуктами серед СУБД, призначених для створення сховищ даних. Остання версія цієї СУБД, Teradata Database V2R6.0, доступна для Microsoft Windows, OS/2 та низки версій UNIX та Linux.

Відмінністю цієї СУБД з інших продуктів є спеціальний механізм паралельної обробки запитів, що передбачає розбиття завдання ряд окремих подзадач та його паралельне виконання. При цьому навіть такі операції, як сортування або угруповання даних, можуть розділятися на кілька завдань і виконуватися паралельно – це досягається за рахунок спеціального способу зберігання даних, при якому частини бази даних також поділяються між підзадачами. Самі підзавдання можуть розподілятися між наявними процесорами, яких може бути більше одного. Завдяки механізму паралельного вирішення завдань, Teradata Database V2R6.0 відрізняється високою масштабованістю.

Для створення клієнтських програм, що використовують Teradata Database, існують ODBC-драйвер, документований клієнтський API, сумісний з IBM DB2, та низку інших програмних інтерфейсів. Засоби адміністрування цієї СУБД включають засоби резервного копіювання та відновлення, перегляду та редагування даних, моніторингу продуктивності та навантаження, а також утиліту адміністрування для управління всіма переліченими завданнями, доступну для різних версій Windows.

Netezza Performance Server 8000 Series (Netezza)

Netezza Performance Server - це апаратно-програмне рішення, що є сервером з системою зберігання даних і встановленою на ньому операційною системою Linux, а також СУБД з відкритим кодом, створеною на основі Postgress. Компанія Netezza заявляє, що це рішення не поступається продуктивністю рішенням на основі Teradata при помітно меншій вартості. У числі особливостей даного апаратно-програмного рішення підтримка паралельної обробки даних, поділ завдань за рахунок поділу частин бази даних між підзадачами, висока масштабованість.

Із програмних інтерфейсів цим рішенням підтримуються універсальні механізми доступу до даних ODBC та JDBC.

***

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

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

Система управління базами даних (СУБД)- це найважливіший компонент АІС, заснованої на базі даних. СУБД необхідна для створення та підтримки бази даних інформаційної системи в тій же мірі, як для розробки програми алгоритмічною мовою – транслятор. Програмні складові СУБД включають ядро ​​і сервісні засоби (утиліти).

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

Класифікація СУБД.

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

До СУБД належать такі основні види програм:

Повнофункціональні СУБД;

Сервери БД;

Клієнти БД;

Засоби розробки програм роботи з БД.

Повнофункціональні СУБД(ПФСУБД) є традиційні СУБД, які спочатку з'явилися для великих машин, потім для міні-машин і для ПЕОМ. З-поміж усіх СУБД сучасні ПФСУБД є найбільш численними і потужними за своїми можливостями. До ПФСУБД належать, наприклад, такі пакети як Clarion Database Developer, DataBase, Dataplex, dBase IV, Microsoft Access, Microsoft FoxPro і Paradox R: BASE.

Зазвичай ПФСУБД мають розвинений інтерфейс, що дозволяє за допомогою команд меню виконувати основні дії з БД: створювати та модифікувати структури таблиць, вводити дані, формувати запити, розробляти звіти, виводити їх на друк тощо. Для створення запитів та звітів не обов'язково програмування, а зручно користуватися мовою QBE (Query By Example – формулювання запитів за зразком, див. підрозділ 3.8). Багато ПФСУБД включають засоби програмування для професійних розробників.

Деякі системи мають як допоміжні та додаткові засоби проектування схем БД або CASE-підсистеми. Для забезпечення доступу до інших БД або даних SQL-серверів повнофункціональні СУБД мають факультативні модулі.


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

Прикладами серверів БД є такі програми: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).

В ролі клієнтських програмдля серверів БД у випадку можуть використовуватися різні програми: ПФСУБД, електронні таблиці, текстові процесори, програми електронної пошти тощо. буд. У цьому елементи пари " клієнт - сервер " можуть належати одному чи різним виробникам програмного забезпечення.

Що стосується, коли клієнтська і серверна частини виконані однією фірмою, природно очікувати, що розподіл функцій з-поміж них виконано раціонально. В інших випадках зазвичай переслідується мета забезпечення доступу до даних "за будь-яку ціну". Прикладом такої сполуки є випадок, коли одне з повнофункціональних СУБД грає роль сервера, а друга СУБД (іншого виробника) - роль клієнта. Так, для сервера БД SQL Server (Microsoft) у ролі клієнтських (фронтальних) програм можуть бути багато СУБД, такі як: dBASE IV, Biyth Software, Paradox, DataEase, Focus, 1-2-3, MDBS III, Revelation та інші.

Засоби розробки програм роботи з БД можуть використовуватися для створення різновидів таких програм:

Клієнтські програми;

Серверів БД та їх окремих компонентів;

Додатків користувача.

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

До засобів розробки додатків користувача відносяться системи програмування, наприклад Clipper, різноманітні бібліотеки програм для різних мов програмування, а також пакети автоматизації розробок (у тому числі систем типу клієнт-сервер). Серед найбільш поширених можна назвати такі інструментальні системи: Delphi та Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP та Powersoft) та ERwin (LogicWorks).

Крім перерахованих коштів, для управління даними та організації обслуговування БД використовуються різні додаткові кошти, наприклад монітори транзакцій

За характером використання СУБД ділять на персональні та розраховані на багато користувачів.
Персональні СУ БДзазвичай забезпечують можливість створення персональних БД та недорогих додатків, що працюють з ними. Персональні СУБД або розроблені з їх допомогою програми часто можуть виступати в ролі клієнтської частини розрахованої на багато користувачів СУБД. До персональних СУБД, наприклад, відносяться Visual FoxPro, Paradox, Clipper, dBase, Access та ін.

Розраховані на багато користувачів СУБДвключають сервер БД і клієнтську частину і, як правило, можуть працювати в неоднорідному обчислювальному середовищі (з різними типами ЕОМ і операційними системами). До розрахованих на багато користувачів СУБД відносяться, наприклад, СУБД Oracle і Informix.

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

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

Для роботи з інформацією СУБД, що зберігається в базі даних, надає програмам і користувачам наступні два типи мов:

Мова опису даних - високорівнева непроцедурна мова декларативного типу, призначена для опису логічної структури даних;

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

Названі мови у різних СУБД можуть мати відмінності. Найбільшого поширення набули дві стандартизовані мови: QBE (Query By Example) – мова запитів за зразком та SQL (Structured Query Language) – структурована мова запитів. QBE в основному має властивості мови маніпулюванняданими, SQL поєднує у собі властивості мов обох типів - описи та маніпулюванняданими.

Перераховані вище функції СУБД, своєю чергою, використовують такі основні функції нижчого рівня, які назвемо низькорівневими :

Управління даними у зовнішній пам'яті;

Управління буферами оперативної пам'яті;

Управління транзакціями;

Ведення журналу змін до БД;

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

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

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

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

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

Кажуть, що транзакції притаманні три основні властивості:

Атомарність (виконуються всі операції, що входять в транзакцію, або жодна);

Серіалізуемість (відсутня взаємний вплив виконуваних одночасно і транзакцій);

Довговічність (навіть крах системи не призводить до втрати результатів зафіксованої транзакції).

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

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

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

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

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

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

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

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

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