Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы_данных__сайт_ФПМК.doc
Скачиваний:
24
Добавлен:
14.08.2019
Размер:
1.48 Mб
Скачать

Контрольные вопросы по седьмому разделу

  1. В чем различие в принципах управления хранилищем данных с использованием файловых и страничных (бесфайловых) систем.

  2. Сформулируйте основные понятия физического уровня: хранимая запись, формат хранимой записи, метод доступа, механизм поиска.

  3. Сформулируйте основные задачи этапа физического проектирования.

  4. Приведите общую классификацию методов доступа.

  5. Опишите способы последовательной организации.

  6. Опишите метод доступа – хеширование. В чем состоит проблема синонимов.

  7. Опишите метод доступа с полным индексом и индексно-последовательный метод доступа. Сравните эти методы. В чем достоинства и недостатки каждого из них.

  8. В чем суть инвертирования.

  9. Что такое В-дерево.

  10. Опишите механизмы использования битовых шкал.

  11. В чем суть бесфайловой организации внешней памяти. Опишите общую структуру страницы.

  1. Особенности объектно-ориентированных субд

    1. Основные понятия объектно-ориентированного подхода

В середине 70-х годов в некоторых языках программирования была реализована концепция абстрактного типа данных, то есть программистам была предоставлена возможность определять собственные (пользовательские) типы данных в дополнение к предопределенным (стандартным) типам, определенным в языке. Соответствующее описание типа включает его идентификацию и определение структуры (примером такой возможности является конструкция struct языка С++).

Со временем понятие типа данных в языках программирования было расширено, в него стали вкладывать не только структурные свойства, но и элементы поведения. Такое расширение понятия типа послужила в дальнейшем основой для формирования концепции объекта, на которой базируются современные объектные модели.

Таким образом, объект - это сущность (предмет или явление), обладающая состоянием и поведением. Состояние объекта определяется совокупностью его атрибутов, которые могут принимать значения определенных типов. Поведение, в свою очередь, определяется совокупностью операций (функций, или в терминологии объектно-ориентированного программирования методов), специфицированных для этого объекта, которые могут быть выполнены самим объектом или над состоянием объекта. Для объектов поддерживается их индивидуальность, которая не изменяется при изменении состояния объекта, то есть изменения значения его свойств.

Объекты могут иметь динамическую или статическую природу: динамические объекты используются в одном цикле воспроизводства, например заказы на продукцию, счета на оплату, платежи; статические объекты используются во многих циклах воспроизводства, например, оборудование, персонал, запасы материалов.

Объединение в одном описании структуры и поведения для типа объектов определяет второе базовое понятие объектно-ориентированного подхода - понятие класса, обладающего рядом важных свойств (принципов объектно-ориентированного программирования).

Инкапсуляция. Это свойство определяет два момента при создании класса.

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

  2. Сокрытие процедурной информации. Принципиально важно, что различаются интерфейсы объектов и их реализации:

  • интерфейс определяет свойства объекта, видимые пользователю, - его свойства и сигнатуры (возможный набор) операций.

  • реализация определяет внутренние свойства объекта, которые инкапсулируются интерфейсом и остаются скрытыми от пользователя.

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

Наследование для классов объектов означает возможность построения новых классов на основе существующих, причем осуществляется наследование не только атрибутов объектов от вышестоящего (родительского) класса объектов к нижестоящему классу (потомку), но и методов (иерархия обобщения); как и в реальности, класс-потомок в общем случае может быть богаче родительского класса: кроме родительских свойств и методов, в порождаемый класс могут быть добавлены новые атрибуты и методы.

Полиморфизм (множественность форм) обычно проявляется в двух формах:

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

  2. переопределения кода метода родительского класса в классах-потомках (такая функция называется виртуальной).

Заметим, что кроме предусмотренной встроенной иерархической связи “тип-подтип”, обеспечивающей наследование свойств типа объектами подтипа, объектные модели поддерживают типы связей, определенные пользователями.

Современные объектные модели наряду с атомарными типами объектов поддерживают сложные типы-контейнеры и типы-коллекции.