- •Головчинер м.Н.
- •Курс лекций Томск 2011
- •Введение
- •Понятие о данных как о ресурсе
- •Файловые системы и базы данных
- •Численные и информационные прикладные системы
- •Файловые системы
- •Файлы и информационные системы. Общее понятие о базе данных
- •Контрольные вопросы по первому разделу
- •База данных как модель предметной области
- •Понятие предметной области
- •Понятие системы
- •Понятие модели. Структурная модель
- •Модель предметной области и модель данных
- •Контрольные вопросы по второму разделу
- •Понятие о банке данных
- •Структура банка данных
- •Организационный аспект
- •Уровни представления базы данных
- •Модели предметной области:
- •Модели данных:
- •Контрольные вопросы по третьему разделу
- •Вопросы проектирования баз данных
- •Жизненный цикл информационной системы
- •Процесс проектирования
- •Организационный аспект
- •Задачи и структура процесса проектирования
- •Формулирование и анализ требований. Инфологическое проектирование
- •Общая схема логического (концептуального) проектирования
- •Контрольные вопросы по четвертому разделу
- •Модели данных
- •Реляционная модель данных
- •Базовые понятия
- •5.1.2. Принципы нормализации
- •5.1.3. Целостность сущности и ссылок
- •5.1.4. Манипулирование данными в реляционных моделях
- •5.1.4.1.Операции реляционной алгебры
- •5.1.4.2.Реляционное исчисление
- •Достоинства и недостатки реляционных моделей
- •Контрольные вопросы по разделу 5.1.
- •Навигационные модели данных
- •Иерархическая модель
- •Сетевые структуры
- •Особенности навигационных моделей. Достоинства и недостатки
- •Контрольные вопросы по разделу 5.2.
- •Система управления базой данных
- •Назначение и функции субд
- •Типовая организация субд и упрощенная схема работы
- •Контрольные вопросы по шестому разделу
- •Основы физического проектирования
- •Файловые и страничные системы хранения информации
- •Файловые структуры. Классификация методов доступа
- •Способы последовательной организации
- •Прямые методы доступа. Хеширование
- •Прямые методы доступа. Классификация методов индексирования
- •Доступ с полным (плотным) индексом
- •Доступ с неплотным индексом
- •Организация индексов в виде в-деревьев
- •Инвертированный файл (доступ по неключевым атрибутам)
- •Использование битовых шкал
- •Достоинства и недостатки основных методов доступа
- •Бесфайловая организация внешней памяти
- •Особенности реляционных субд
- •Базовые структуры памяти
- •5.1.4.3.Структура и типы страниц
- •5.1.4.4.Табличные пространства
- •5.1.4.5.Понятие экстента и буферизация
- •Проблемы и параметры управления внешней памятью
- •Контрольные вопросы по седьмому разделу
- •Особенности объектно-ориентированных субд
- •Основные понятия объектно-ориентированного подхода
- •Предпосылки появления объектно-ориентированных субд
- •Объектная модель данных. Оосубд
- •. Объектно-реляционные субд
- •5.2.Поддержка сложных объектов,
- •5.3.Поддержка динамических изменений определений классов,
- •5.4.Полная интеграция с объектно-ориентированными системами программирования.
- •Объектно-реляционное отображение
- •Select * from Предпочтительная акция
- •Управление ресурсами. Сервер объектов и сервер страниц
- •Контрольные вопросы по восьмому разделу
- •Вопросы распределенных баз данных
- •9.1. Централизованные и децентрализованные субд
- •Стратегии хранения данных. Достоинства и недостатки
- •Проблемы распределенных баз данных
- •Одновременная работа
- •Управление блокированием
- •Методы синхронизации распределенных обновлений
- •Завершение транзакции. Журнал транзакций
- •Свойства транзакций
- •Контрольные вопросы по девятому разделу
- •Заключение
- •Литература
Контрольные вопросы по седьмому разделу
В чем различие в принципах управления хранилищем данных с использованием файловых и страничных (бесфайловых) систем.
Сформулируйте основные понятия физического уровня: хранимая запись, формат хранимой записи, метод доступа, механизм поиска.
Сформулируйте основные задачи этапа физического проектирования.
Приведите общую классификацию методов доступа.
Опишите способы последовательной организации.
Опишите метод доступа – хеширование. В чем состоит проблема синонимов.
Опишите метод доступа с полным индексом и индексно-последовательный метод доступа. Сравните эти методы. В чем достоинства и недостатки каждого из них.
В чем суть инвертирования.
Что такое В-дерево.
Опишите механизмы использования битовых шкал.
В чем суть бесфайловой организации внешней памяти. Опишите общую структуру страницы.
Особенности объектно-ориентированных субд
Основные понятия объектно-ориентированного подхода
В середине 70-х годов в некоторых языках программирования была реализована концепция абстрактного типа данных, то есть программистам была предоставлена возможность определять собственные (пользовательские) типы данных в дополнение к предопределенным (стандартным) типам, определенным в языке. Соответствующее описание типа включает его идентификацию и определение структуры (примером такой возможности является конструкция struct языка С++).
Со временем понятие типа данных в языках программирования было расширено, в него стали вкладывать не только структурные свойства, но и элементы поведения. Такое расширение понятия типа послужила в дальнейшем основой для формирования концепции объекта, на которой базируются современные объектные модели.
Таким образом, объект - это сущность (предмет или явление), обладающая состоянием и поведением. Состояние объекта определяется совокупностью его атрибутов, которые могут принимать значения определенных типов. Поведение, в свою очередь, определяется совокупностью операций (функций, или в терминологии объектно-ориентированного программирования методов), специфицированных для этого объекта, которые могут быть выполнены самим объектом или над состоянием объекта. Для объектов поддерживается их индивидуальность, которая не изменяется при изменении состояния объекта, то есть изменения значения его свойств.
Объекты могут иметь динамическую или статическую природу: динамические объекты используются в одном цикле воспроизводства, например заказы на продукцию, счета на оплату, платежи; статические объекты используются во многих циклах воспроизводства, например, оборудование, персонал, запасы материалов.
Объединение в одном описании структуры и поведения для типа объектов определяет второе базовое понятие объектно-ориентированного подхода - понятие класса, обладающего рядом важных свойств (принципов объектно-ориентированного программирования).
Инкапсуляция. Это свойство определяет два момента при создании класса.
Сокрытие декларативной информации означает закрытие прямого доступа ко всем или к части атрибутов класса (доступ к таким атрибутам осуществляется только путем обращения к соответствующим методам класса). Заметим, что закрытыми, что реже, могут быть и некоторые методы класса.
Сокрытие процедурной информации. Принципиально важно, что различаются интерфейсы объектов и их реализации:
интерфейс определяет свойства объекта, видимые пользователю, - его свойства и сигнатуры (возможный набор) операций.
реализация определяет внутренние свойства объекта, которые инкапсулируются интерфейсом и остаются скрытыми от пользователя.
Таким образом, класс представляет собой своеобразную капсулу, в которой от других программных объектов, как правило, частично скрыта декларативная информация и всегда и полностью процедурная.
Наследование для классов объектов означает возможность построения новых классов на основе существующих, причем осуществляется наследование не только атрибутов объектов от вышестоящего (родительского) класса объектов к нижестоящему классу (потомку), но и методов (иерархия обобщения); как и в реальности, класс-потомок в общем случае может быть богаче родительского класса: кроме родительских свойств и методов, в порождаемый класс могут быть добавлены новые атрибуты и методы.
Полиморфизм (множественность форм) обычно проявляется в двух формах:
переопределения (перегрузки) некоторых методов (функций и операций); для этого требуется описать несколько одноименных методов, отличающихся типом возвращаемого значения, списками параметров, телом кода;
переопределения кода метода родительского класса в классах-потомках (такая функция называется виртуальной).
Заметим, что кроме предусмотренной встроенной иерархической связи “тип-подтип”, обеспечивающей наследование свойств типа объектами подтипа, объектные модели поддерживают типы связей, определенные пользователями.
Современные объектные модели наряду с атомарными типами объектов поддерживают сложные типы-контейнеры и типы-коллекции.