- •1.Основные понятия баз данных. Роль и место субд. Этапы развития субд.
- •2.Основные функции и возможности субд. Наиболее распостраненные сегодня субд и области их использования.
- •3.Реляционная модель данных. Понятие таблица, ключ, кортеж, атрибут, домен.
- •4. Модель «Объект — Св-во — Отношение». Проектировние схемы бд. Нормализация отношений
- •5.Технология клиент-сервер. Её использование в технологиях бд.
- •6. Логическая и физическая независимость данных. Обеспечение целостности данных.
- •7.Язык sql. Назначение и операторы языка.
- •8.Понятие транзакции и её необходимость. Операторы commit, rollback.
- •9.Хранимые процедуры, функции и пакеты. Триггеры.
- •10.Объектно-ориентированные базы данных
10.Объектно-ориентированные базы данных
Объектно-ориентированная база данных — база данных, в которой данные оформлены в виде моделей объектов, включающих прикладные программы, которые управляются внешними событиями. Результатом совмещения возможностей (особенностей) баз данных и возможностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных так же, как с объектами в программировании на ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.
Некоторые объектно-ориентированные базы данных разработаны для плотного взаимодействия с такими объектно-ориентированными языками программирования как Python, Java, C#, Visual Basic .NET, C++, Objective-C и Smalltalk; другие имеют свои собственные языки программирования. ООСУБД использую точно такую же модель, что и объектно-ориентированные языки программирования.
Объектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.
В манифесте ООБД (Atkinson et al., 1989) предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой БД.
Три класса характеристик: Обязательные, Необязательные, Открытые — позволяют пользователю выбирать свойства.
СУБД: Долговременное хранение, Использование внешней памяти, Параллелизм, Восстановление, Нерегламентированные запросы
ОО характеристики
-Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту.
-Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
-Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
-Поддержка типов и классов. Требуется, что бы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указание ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)
-Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
-Перегрузка в сочетание с полным связыванием. Методы должны применятся к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполнятся до времени выполнения программы.
-Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.
-Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.
Необязательные: Множественное наследование, Проверка типов, Распределение, Проектные транзакции
Открытые: Парадигмы программирования (процедурное, декларативное), Система представления, Система типов, Однородность. Реализация — язык программирования — интерфейс.