Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-КН1.doc
Скачиваний:
18
Добавлен:
27.04.2019
Размер:
7.07 Mб
Скачать

Питання до теми

  1. Що таке RAD-технології?

  2. Як реалізується з’єднання клієнтського додатку та Microsoft SQL Server?

  3. Як реалізувати зв’язок з таблицями в БД та їх відображення на формі?

  4. Що таке поля зі списком (lookup-поля), для чого вони використовуються та які способи та методи їх реалізації?

  5. В яких випадках зручно використовувати прості lookup-поля зі списком, а в яких DBLookupComboBox?

  6. Як реалізуються звіти в Delphi та що таке Quick Reports?

Глава 5. Сучасні напрямки розвитку баз даних.

1.Об‘єктно-орієнтовані скбд

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

Останнім кроком в цьому напрямку стала об‘єктно-орієнтована технологія, що з‘явилася у 90х роках ХХ сторіччя. Точніше кажучи, об‘єктно-орієнтовані СКБД (ООСКБД) стали розроблятися з середини 80-х років ХХ сторіччя в основному для підтримки систем автоматизованого проектування. Складні структури даних систем автоматизованого проектування виявилось дуже зручно оформлювати у вигляді об‘єктів, а технічні креслення краще зберігати в базі даних ніж в окремих файлах. Це дозволяє обійтись без декомпозиції графічних структур на елементи і запису їх в файли після завершення роботи з кресленням. Якщо типові реляційні БД мають зв‘язки глибиною у два рівні, то ієрархічна інформація креслень САПР звичайно налічує біля десяти рівнів деталізації. Об‘єктні БД добре відповідають подібним задачам і еволюція СКБД почалася саме з потреб САПР.

Між тим ринок САПР виявився швидко насиченим, і на початку 90х років ХХ сторіччя виробники ООСКБД звернули увагу на інші області, де панували реляційні СКБД. Для цього потрібно було оснастити ООСКБД функціями оперативної обробки транзакцій (OLTP), утілітами адміністратора БД (Database administrator - DBA), засобами резервного копіювання/відновлення і т.д. Роботи в данному напрямку продовжуються і сьогодні.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]