Лекція 5. Бази даних

5.1. Класифікація баз даних

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

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

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

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

     Існує величезна кількість різновидів баз даних, що відрізняються за критеріями (наприклад, в Енциклопедії технологій баз даних [21] визначаються понад 50 видів БД).

     Відзначимо тільки основні класифікації.

     Класифікація БД за моделлю даних:

Класифікація БД за технологією фізичного зберігання:

Класифікація БД за вмістом:

Класифікація БД за ступенем розподіленості:

     Окреме місце в теорії та практиці займають просторові (англ. spatial), тимчасові, або темпоральні (temporal) і просторово-часові (spatial-temporal) БД.

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

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

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

     До основних понять мережевої моделі бази даних відносяться: рівень, елемент (вузол), зв'язок.

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

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

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

     Реляційна модель орієнтована на організацію даних у вигляді двовимірних таблиць. Кожна реляційна таблиця являє собою двовимірний масив і має наступні властивості:

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

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

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

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

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

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

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

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

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

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

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

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

5.2. Області застосування баз даних

     Історично системи управління базами даних орієнтувалися на вирішення завдань, пов'язаних у першу чергу з транзакційною обробкою структурованої інформації. Безумовно, найкращим, перевіреним часом рішенням тут була і залишається реляційна модель СУБД. Однак в останні роки область застосування баз даних незмінно розширювалася. З одного боку, потрібно керувати більш широким набором форматів даних, переходячи до вирішення спільних проблем управління корпоративною інформацією. З іншого - саме СУБД беруть на себе основні функції інтеграції даних і додатків корпоративних систем. (За даними Gartner Group, інформаційні відділи підприємств витрачають до 40% свого бюджету на вирішення завдань інтеграції діючих компонентів баз даних.) Саме цим пояснюється активний інтерес до обговорення архітектурних принципів і можливостей реалізації баз даних різних моделей - постреляційних, об'єктно-реляційних, XML.

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

     Останнім часом утворилися нові важливі області застосування баз даних, і кожна з них представляє принципово нове середовище, до якого необхідно адаптувати технології СУБД. Ці області отримали на ринку назви інтелектуально аналізу даних (data mining), сховищ даних (data warehousing), репозитаріїв даних (data repository).

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

     Із запитами, характерними для систем інтелектуально аналізу даних, пов'язана низка незвичайних проблем.

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

     Таким чином, з видобутком даних пов'язані такі дослідницькі напрями:

     Сховища даних.

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

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

  1. 1. Інструменти для створення насосів даних (data pump), тобто модулів, що функціонують за середовищем джерел даних і поставляють у сховище ті зміни, які істотні з точки зору сховища; при цьому дані мають транслюватися у відповідності з глобальною моделлю і схемою сховища.
  2. Методи "чистки даних" (data scrubbing), які забезпечують узгодження даних, видалення елементів, що відповідають різним уявленням одного й того ж об'єкта (наприклад "Sally Tones" і "SA Tones"), а також видалення неправдоподібних значень.
  3. Засоби для створення і підтримки метасловника, який інформує користувачів про способи отримання даних.

     Репозитарії.

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

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

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

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

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

     База даних Системи спостереження Землі (EOSDIS).

     Система спостереження Землі (EOS - Earth Observing System) являє собою безліч супутників, які запускає NASA починаючи з 1998 р. Їх призначення - збір інформації, необхідної для дослідників, зайнятих вивченням довгострокових тенденцій стану атмосфери, океанів, земної поверхні. Супутники поставляють інформацію в обсязі 1/3 Пбайт (Petabyte - 1015 байт) в рік. Передбачається, що ці дані будуть інтегруватися з уже існуючою інформацією, а також з даними з інших джерел (іноземні супутники, наземні станції спостереження) і накопичуватися в базі даних EOSDIS (EOS Data and Information System) небачених раніше масштабів.

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

     Електронна комерція.

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

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

     Інформаційна система охорони здоров'я.

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

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

     Електронні публікації.

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

     Колективне проектування.

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

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

5.3. Коротка характеристика деяких СУБД

     MySQL - вільна система управління базами даних. MySQL є власністю компанії Oracle Corporation, що отримала її разом з поглиненою Sun Microsystems, яка здійснює розробку і підтримку додатку. Розповсюджується під GNU General Public License і під власною комерційною ліцензією, на вибір. Крім цього розробники створюють функціональність на замовлення ліцензійних користувачів, саме завдяки такому замовленню майже в найраніших версіях з'явився механізм реплікації.

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

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

     Гнучкість СУБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, що підтримують повнотекстовий пошук, так і таблиці InnoDB, що підтримують транзакції на рівні окремих записів. Більш того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі й GPL-ліцензуванню, в СУБД MySQL постійно з'являються нові типи таблиць. MySQL характеризується великою швидкістю, стійкістю і простотою використання.

     Для некомерційного використання MySQL є безкоштовною. Можливості сервера MySQL:

     PostgreSQL - об'єктно-реляційна система управління базами даних. Є альтернативою як комерційним СУБД (Oracle Database, Microsoft SQL Server, IBM DB2 та інші), так і СУБД з відкритим кодом (MySQL, Firebird, SQLite).

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

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

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

     Вбудовування до СУБД Oracle JavaVM, повномасштабної підтримки серверних технологій (Java Server Pages, Java-сервлети, модулі Enterprise JavaBeans, інтерфейси прикладного програмування CORBA), призвели до того, що Oracle на сьогоднішній день де-факто є стандартом СУБД для Internet.

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

     Microsoft SQL Server - система управління реляційними базами даних, розроблена корпорацією Microsoft. Основна використовувана мова запитів - Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI / ISO щодо структурованої мови запитів (SQL) із розширеннями. Використовується для роботи з базами даних розміром від персональних до великих баз даних масштабу підприємства, конкурує з іншими СУБД у цьому сегменті ринку.

     При взаємодії з мережею Microsoft SQL Server і Sybase ASE використовують протокол рівня додатків під назвою Tabular Data Stream (TDS, протокол передачі табличних даних). Протокол TDS також був реалізований у проекті FreeTDS з метою забезпечити різні додатки можливістю взаємодії з базами даних Microsoft SQL Server і Sybase.

     Для забезпечення доступу до даних Microsoft SQL Server підтримує Open Database Connectivity (ODBC) - інтерфейс взаємодії додатків з СУБД. SQL Server надає можливість підключення користувачів через веб-сервіси, що використовують протокол SOAP. Це дозволяє клієнтським програмам, не призначеним для Windows, кросплатформно з'єднуватися з SQL Server.

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

     Основні компоненти MS Access:

     Вони можуть викликати скрипти мовою VBA, тому MS Access дозволяє розробляти програми і бази даних практично "з нуля" або написати оболонку для зовнішньої БД.

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

     Істотно розширює можливості MS Access з написання додатків механізм зв'язку з різними зовнішніми СУБД: "зв'язані таблиці" (зв'язок з таблицею СУБД) і "запити до сервера" (запит на діалекті SQL, який "розуміє" СУБД). Також MS Access дозволяє будувати повноцінні клієнт-серверні додатки на СУБД MS SQL Server. При цьому є можливість поєднати з притаманною MS Access простотою інструменти для управління БД і засоби розробки.


     Запитання для самоконтролю:

  1. Від чого істотно залежали ранні мови програмування?
  2. Що таке верифікація?
  3. Які підходи до програмування Вам відомі?
  4. Що Ви знаєте про імперативний та декларативний підходи до програмування?
  5. Назвіть переваги декларативного підходу до програмування.
  6. Що таке функціональний підхід до програмування?
  7. Що являє собою програма згідно логічного підходу до програмування?
  8. Як Ви розумієте поняття структурного програмування?
  9. Що забезпечує впровадження структурного підходу до програмування?
  10. Які методи структурного програмування Вам відомі?
  11. У чому суть спадного підходу до розробки програмних систем?
  12. У чому суть висхідного підходу до розробки програмних систем?
  13. У вигляді яких понять і положень можна сформулювати концепцію модульного програмування?
  14. У чому полягає основна відмінність модуля від процедур і функцій?
  15. Що таке об'єктно-орієнтований аналіз?
  16. Що таке об'єктно-орієнтоване проектування?
  17. Що таке об'єктно-орієнтоване програмування?
  18. Що входить до основних понять об'єктно-орієнтованого програмування?
  19. Що являють собою об'єкти та класи при об'єктно-орієнтованому програмуванні?
  20. У чому полягає принцип інкапсуляції?
  21. У чому полягає принцип поліморфізму?
  22. У чому полягає принцип успадкування?
  23. Що таке мова програмування?
  24. Які мови логічного програмування Вам відомі?
  25. Які мови функціонального програмування Вам відомі?
  26. Де використовуються мови підтримки паралельних обчислень?
  27. Наведіть приклади об'єктно-орієнтованих мов програмування.
  28. Основні концепції об'єктно-орієнтованого програмування.
  29. Фундаментальні принципи об'єктно-орієнтованого програмування.
  30. Як Ви розумієте поняття кросплатформності?
  31. Які сучасні мови програмування можна вважати кросплатформними?
  32. Які мови програмування називають універсальними?
  33. Які мови програмування називають спеціалізованими?
  34. Коли використовуються універсальні мови програмування?
  35. У яких випадках використовують спеціалізовані мови програмування?
  36. Яка основна відмінність спеціальних мов програмування від універсальних?
  37. Наведіть класифікацію мов програмування за типами завдань.
  38. Що таке машинно-орієнтовані мови?
  39. Наведіть приклади мов професійної спрямованості й наукових розрахунків.
  40. Що таке Com-технологія?
  41. Які Ви знаєте універсальні процедурні мови?
  42. Що таке декларативні мови програмування?
  43. Які мови розробки й підтримки баз даних Вам відомі?
  44. Які мови програмування використовуються при програмуванні для мережі Internet?
  45. Що таке макромова?
  46. Які мови програмування допомагають вирішувати завдання штучного інтелекту?
  47. Які мови програмування використовують для розробки інтерфейсу?
  48. Що таке база даних?
  49. Що на Вашу думку є головним завданням бази даних?
  50. Що таке система управління базами даних?
  51. Назвіть основні компоненти систем управління базами даних.
  52. Як класифікують бази даних?
  53. Що таке реляційна модель бази даних?
  54. Де використовується ієрархічна модель бази даних?
  55. Системи централізованих баз даних з мережевим доступом припускають різні архітектури. Які саме?
  56. Які області застосування баз даних Вам відомі?
  57. Дайте коротку характеристику відомих Вам баз даних.
  58. Яка мова програмування приваблює особисто Вас? Чи визначилися Ви з вибором?


<< Попередній крок      Наступний крок >>