- •Сикха Багуи и Ричард Ирп
- •Контрольные вопросы 1.1
- •Модели данных
- •Иерархическая Модель
- •Сетевая модель
- •Реляционная модель
- •Контрольные вопросы 1.2
- •Функциональные зависимости
- •Правило декомпозиции (разложения)
- •Правило объединения
- •Контрольные вопросы 1.3
- •Краткий обзор метода нормальных форм
- •Примеры 1нф, 2нф и 3нф
- •Упражнение 1.3
- •Глава 2: Базовая er-диаграмма – схема
- •Некоторые определения баз данных: Сущность, Связь, Атрибут
- •Начальная Методология
- •Еще об атрибутах
- •Простые или атомарные атрибуты
- •Многозначные атрибуты
- •Производный атрибуты
- •Описание Сущности на структурном английском языке
- •Сущность
- •Атрибуты
- •Методология er-проектирования
- •Примеры
- •Сущность
- •Атрибуты
- •Методология er проектирования
- •Итоги главы
- •Упражнения Главы
- •Упражнение 2.1
- •Упражнение 2.2
- •Проработка примера
- •Сущность
- •Глава 3: После первой диаграммы сущности
- •Проверка Сущности — замена атрибута сущностью
- •Методология er-проектирования
- •Определение вторичной сущности
- •Существует ли связь?
- •Атрибут или Связь?
- •Глава 4: Расширение связей/ Структурные
- •1(Полное участие):1:
- •Глава 5: Слабая Сущность
- •Грамматика Слабой Сущности
- •Контрольные вопросы 5.3
- •Упражнения Главы 5. Упражнение 5.1
- •Список литературы
- •Сущность
- •Атрибуты для отдела
- •Сущность
- •Атрибуты для служащего
- •Глава 6: Дальнейшее Расширение
- •Сущность
- •Атрибуты
- •Более двух Сущностей
- •С указанием всех атрибутов
- •Развитие базы данных
- •Глава 7: Троичные и er-диаграммы более высокого порядка
- •Глава 8: Обобщения и специализации.
- •Глава 9: Реляционные преобразования и
- •Глава 10: Краткий обзор модели Баркера
- •Глава 10. Упражнения.
Сетевая модель
Сетевая модель была разработана как преемник иерархической модели. В сетевой модели был исправлен первый недостаток иерархической модели – то, что у одного «ребенка» может быть только один «родитель»; стали возможными связи «многие ко многим» и «многие к одному». Например, предположим, что наша база данных состоит из связей «служащий-зависимость» как в иерархической модели, плюс у нас есть другое отношение, которое связывает наши зависимости с посещаемыми ими школами («ребенок» - «посещение школы»). В этом случае, связь «служащий - зависимость» может все еще быть «один ко многим», но связь «посещение школы - зависимость» может быть «многие ко многим». Зависимость («ребенок») может иметь два «родителя» (две «школы»). Реализация отношения «зависимость-школа» в иерархических базах данных приводит к созданию избыточных файлов, поскольку для каждой школы требуется указать все зависимости. Кроме того, каждая зависимость (ребенок), которая посещает более одной школы, должна указываться два или более раз, по одному для каждой школы. В сетевых же базах данных, у нас есть просто две связи: от зависимого ребенка до каждой школы, и наоборот.
Второй и третий недостатки иерархических баз данных распространяются и на сетевые базы данных. При создании системы базы данных требуется выбрать метод физического соединения или связывания записей. Выбранный способ связи записей приводит нас к той же проблеме, что и раньше – аппаратно созданное соединение может оказывать как положительное, так и отрицательное влияние на производительность. В дальнейшем, при увеличении числа связей, база данных становится все более сложной и трудно управляемой.
Реляционная модель
E. Codd (ca. 1970) для описания баз данных ввел реляционную модель, которая не обладает недостатками иерархической и сетевой моделей. Принцип Codd(а) состоял в том, что если мы игнорируем пути соединений файлов данных и размещаем наши данные в простых двумерных, неупорядоченных таблицах, то мы можем создать метод запросов (вопросов, задаваемых базе данных) и считать данные просто данными, а не физической реализацией логической модели. Идея Codd(а) была действительно логичной в том, что не нужно было больше беспокоиться о том, как данные будут физически храниться. Вернее, наборы данных были просто неупорядоченными, двумерными таблицами данных. Для определения того, какие части разрозненных данных в каких таблицах должны содержаться, Codd предложил метод «нормальных форм». Для того, чтобы понять этот метод, мы должны сначала ввести понятие «функциональной зависимости». После того, как мы разберемся с функциональной зависимостью, перейдем к нормальным формам.
Контрольные вопросы 1.2
1. Какие существуют три основных типа моделей данных?
2. Какая модель данных сегодня наиболее популярна? Почему?
3. Каковы недостатки иерархической модели данных?
4. Каковы недостатки сетевой модели данных?
5. Каким образом описываются все отношения в иерархической модели данных? Какие недостатки иерархической модели данных это может обуславливать?
6. Каким образом описываются все отношения в сетевой модели данных? Рассматриваете ли Вы это как преимущества или недостатки сетевой модели данных? Порассуждайте.
7. Почему реляционная модель Codd(а) лучше остальных?