
- •Реляционные базы данных
- •Табличное представление
- •Реляционные базы данных
- •Первые разработки
- •Повторяющиеся группы
- •Древовидные структуры
- •Добавления в нормализованной схеме
- •Размещение (номер-здания, номер-отдела)
- •Сетевые структуры
- •Процедура конструирования
- •Пути использования данных
- •Каноническая структура записей (сегментов)
- •Комбинированные овал-диаграммы
- •Устранение избыточности
- •Ключи и атрибуты
- •Вторичные ключи
- •Транзитивные зависимости
- •Отношения между ключами
- •Последовательность записей
- •Три уровня автоматизации
- •Недостатки
- •Заключение. Преимущества реляционной базы
Сетевые структуры
На рис. 13.4 приведена сетевая структура, которую можно нормализовать так же просто, как и древовидную.
На рис. 13.5 изображена уже знакомая нам сетевая структура и показана одна из возможных ее нормализованных форм. Как и выше, кортежи имеют ключи (однозначно их определяющие), а также элементы данных, которые дают возможность следовать по любому из путей сетевой структуры.
Схема сетевой структуры:
Нормализованная форма схемы:
ПОСТАВЩИК (НОМЕР-ПОСТАВЩИКА , ИМЯ-ПОСТАВЩИКА ,АДРЕС-ПОСТАВЩИКА)
ИЗДЕЛИЕ(НОМЕР-ИЗДЕЛИЯ, НАИМЕНОВАНИЕ-ИЗДЕЛИЯ., СПЕЦИФИКАЦИЯ-ИЗДЕЛИЯ, КОЛИЧЕСТВО НА СКЛАДЕ) СУШЕСТВУЮЩИЙ-П0СТАВЩИК (НОМЕР-ИЗДЕЛИЯ, НОМЕР-ПОСТАВЩИКА, ЦЕНА, ВРЕМЯ-ДОСТАВКИ)
НАМЕЧАЕМЫЙ - П0СТАВЩИК ( НОМЕР-ИЗДЕЛИЯ, НОМЕР-ПОСТАВЩИКА,.ЦЕНА, ВРЕМЯ ДОСТАВКИ)
ЗАКАЗ (НОМЕР-ЗАКАЗА, НОМЕР-ПОСТАВЩИКА, ДАТА-ЗАКАЗА, ДАТА-ДОСТАВКИ, ИТОГО )
ПАРТИЯ-ТОВАРА( НОМЕР-ЗАКАЗА, НОМЕР-ИЗДЕЛИЯ, КОЛИЧЕСТВО, ЦЕНА)
НЕОПЛАЧЕННЫЕ ЗАКАЗЫ (НОМЕР-ПОСТАВЩИКА, НОМЕР-ИЗДЕЛИЯ, ОТСРОЧКА)
Рис. 13.5.
Некоторые группы элементов данных на рис. 13.5 имеют две соединяющие их связи. Связь между элементами ПОСТАВЩИК и РАСЦЕНКА показывает, действительно ли данный поставщик поставляет какое- то изделие, указанное в записи РАСЦЕНКА, или же он лишь намечаемый поставщик. Связь от элемента ПОСТАВЩИК к элементу ПАРТИЯ-ТОВАРА показывает неоплаченные и не поставленные заказы для каждого поставщика.
КАНОНИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ
Существует много способов, с помощью которых можно объединять совокупность элементов данных для формирования логической базы данных. Администратор базы данных должен разработать такую модель или логическую структуру данных, которая будет наилучшим образом удовлетворять требованиям пользователей.
КАНОНИЧЕСКАЯ СХЕМА
Существует ли такая группировка данных, которая является наилучшей для данной группы конечных пользователей? Были предприняты попытки разработать процедуру, определяющую группировку данных, близкую к оптимальной. Получаемая в результате минимальная структура данных иногда называется канонической схемой [1].
Для создания баз данных, использующих современное программное обеспечение, идеи канонического структурирования очень важны. Они лежат в основе методики проектирования, которой может и должен воспользоваться администратор базы данных при разработке схем.
Такие понятия, как третья нормальная форма и принципы канонического структурирования, должны способствовать пониманию организации данных. Системные аналитики должны достаточно хорошо освоить эти идеи, чтобы уметь их свободно применять.
Мы определим каноническую схему как модель данных, с помощью которой представляются существующие в реальном мире структуры данных, вне зависимости от конкретных приложений или от программного обеспечения и аппаратных средств, используемых для представления данных и их эксплуатации.
Отвлечемся пока от возможностей современного программного обеспечения и зададим вопрос: «Обладают ли данные такими внутренними свойствами, которые могли бы сыграть основополагающую роль при объединении элементов данных в группы и соответственно при объединении групп элементов данных в конкретную структуру?» В этой главе описана процедура создания рациональных структур. Мы называем их каноническими структурами. База данных должна иметь каноническую структуру, если необходимо, чтобы она, с одной стороны, была достаточно устойчивой, а с другой - обеспечивала возможность использования ее новыми приложениями. Только это обусловливает жизнестойкость базы данных и сводит до минимума необходимость перезаписи программ, вызванную изменениями базы данных.