- •1. Основы построения баз данных 11
- •2. Модели представления данных 22
- •3. ДатАлогические модели данных 38
- •4. Семантическое моделирование 101
- •5. Базы данных в сетях 155
- •6.Современное состояние и 177
- •1. Основы построения баз данных
- •1.1. Архитектура системы баз данных
- •1.2. Жизненный цикл базы данных
- •Контрольные вопросы и задания
- •2. Модели представления данных
- •2.1. Классификация моделей данных
- •2.2. Разновидности инфологических моделей данных
- •Контрольные вопросы и задания
- •3. ДатАлогические модели данных
- •3.1. Иерархические модели
- •Между предками и потомками автоматически поддерживается целостность ссылок. Основное правило: никакой потомок не может существовать без своего родителя, у некоторых родителей не может быть потомков.
- •3.2. Сетевые модели
- •3.3. Реляционные модели
- •3.3.1. Основные понятия реляционной модели
- •3.3.2. Реляционная алгебра
- •3.3.3. Язык запросов по образцу qbe
- •3.3.4. Структурированный язык запросов sql
- •Основные инструкции языка sql
- •Values ("3110", "чп Иванов п.Т.", null)
- •3.4. Проектирование реляционных баз данных
- •Контрольные вопросы и задания
- •4. Семантическое моделирование
- •4.1. Объектно-ориентированное проектирование
- •4.1.1. Представление объектов
- •4.1.2. Описания классов
- •4.1.3. Атрибуты в odl
- •4.1.4. Связи в odl
- •4.1.5. Обратные связи
- •4.1.6. Множественность связей
- •4.1.7. Типы в odl
- •4.1.8. Проектирование с использованием odl
- •Правильность
- •Устранение избыточности
- •4.1.9. Подклассы
- •4.1.10. Множественное наследование в odl
- •4.1.11. Моделирование ограничений
- •Ссылочная целостность
- •Прочие ограничения
- •4.1.12. Переход от объектно-ориентированной модели к реляционной
- •4.2. Диаграммы "сущность-связь"
- •4.2.1. Компоненты диаграмм "сущность-связь"
- •4.2.2. Множественность e/r-связей
- •Многосторонние связи
- •4.2.3. Роли в связях
- •4.2.4. Атрибуты связей
- •4.2.5. Конвертирование многосторонних связей в бинарные
- •4.2.6. Проектирование e/r моделей
- •Простота
- •Типы элементов проекта
- •Определения подклассов
- •Наследование в e/r-модели
- •Моделирование ограничений
- •Ссылочная целостность
- •Слабые множества сущностей
- •Переход от e/r-диаграмм к реляционным проектам
- •Контрольные вопросы и задания
- •5. Базы данных в сетях
- •5.1. Архитектура "клиент-сервер"
- •5.2. Распределенные базы данных
- •5.3. Базы данных в Интернет
- •Контрольные вопросы и задания
- •Контрольные вопросы и задания
- •Информационные ресурсы Internet
- •Словарь терминов
- •Список сокращений
- •Темы рефератов
Контрольные вопросы и задания
Определить понятие "модель данных".
Привести классификацию моделей данных согласно архитектуре ANSI/SPARC.
Описать физические модели данных.
Дать характеристику инфологическим моделям.
Охарактеризовать документальные модели данных.
Какие языки используются для описания моделей, ориентированных на формат данных?
Какой принцип положен в основу тезаурусных моделей?
Охарактеризовать дескрипторные модели.
Каким образом представлены фактографические модели?
Какими понятиями оперирует информационная алгебра?
В чем различие операций агрегирования и комплексирования данных?
Определить особенности модели объект-роль.
В чем заключаются достоинства E/R модели?
Описать модель Смитов.
Указать особенности модели Бахмана.
За какую работу Ч. Бахман получил Тьюринговскую премию?
Кем была разработана модель"сущность-связь"?
Привести пример многомерной модели.
Охарактеризовать основные понятия многомерной модели.
В чем суть OLAP-технологии?
3. ДатАлогические модели данных
Хранимые в БД данные описываются различными моделями представления данных. К классическим (традиционным) моделям относятся: сетевая, иерархическая, реляционная.
Сетевая и иерархическая модель являются историческими предшественниками реляционной. Все ранние (дореляционные) системы не основывались на каких-либо абстрактных моделях, понятие модели данныхфактически появилось в лексиконе специалистов в области БД только вместе с реляционным подходом (в 70-е гг.). В ранних системах доступ к БД производился на уровне записей. Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.
После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами. Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.
СУБД, основанные на сетевой и иерархической моделях, используются и в настоящее время.
3.1. Иерархические модели
Иерархическая модель данных была создана в 60-х годах как отражение потребностей практики. Иерархическая модель состоит из упорядоченного набора экземпляров типа дерево (рис. 7).
Тип "дерево" является составным. Он может включать в себя подтипы ("поддеревья"), также являющиеся типом "дерево". Тип "дерево" состоит из вершины ("корневого" типа) и упорядоченного набора из нуля или более типов "поддеревьев". Каждый из элементарных типов, включенных в тип "дерево", является простым или составным типом "запись". Простая "запись" состоит из одного типа, например, символьного, а составная "запись" объединяет некоторую совокупность различных типов, например, числовые и символьные. Пример типа "дерево" (схемы иерархической БД) приведен на рис 8.
Корневой тип имеет подчиненные типы и сам не является подтипом (подчиненным типом). Подтип является потомком по отношению к предку (родителю).
В примере, приведенном на рис. 8, Группа является предком для Староста и Студенты, а Староста и Студенты – потомки Группа. Между типами записи поддерживаются связи.
Тип "дерево" в целом представляет собой иерархически организованный набор типов "запись". База данных представляет совокупность таких деревьев. Пример данных в структуре рис.8 приведен на рис. 9.
Потомки одного и того же типа являются близнецами. В иерархической модели предусмотрены навигационные операции по структуре базы данных и операции манипулирования данными. Например, могут быть следующие операции:
найти указанное "дерево" БД (например, Группу 21 ИТ);
перейти от одного дерева к другому;
перейти от одной записи к другой внутри дерева (например, к следующей записи типа Студенты);
перейти от одной записи к другой в порядке обхода иерархии;
вставить новую запись в указанную позицию;
удалить текущую запись.