Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы 2 / ЛекцБазы данных.doc
Скачиваний:
59
Добавлен:
26.04.2015
Размер:
1.08 Mб
Скачать

3.2. Сетевые модели

Если порожденный элемент в отношении между данными имеет более одного исходного элемента, то это отношение нельзя описать как древовидную или иерархическую структуру. Его описывают в виде сетевой структуры. Любой элемент в сети может быть связан с любым другим элементом (рис.3.4).

Рис.3.4. Примеры сетевых структур

Различают простые и сложные сетевые структуры. Структура простая (рис.3.5), если отношение "исходный-порожденный" является сложным, а отношение "поржденный-исходный" является простым, т.е. используется от­ношение 1 : М (рис.3.5). Сложная структура имеет отношение М:М (рис.3.6)

17

Рис.3.5.Пример простой структуры

Рис.3.6. Пример сложной структуры и ее преобразование в простую

Наиболее известными СУБД, поддерживающими сетевые структуры яв­ляются СИОД 1, СИОД 2, ПАРМА, ВИБ-СМ, СЕДАН (СЕТОР), Банк, СЕТЬ, Адабас, IDMS, IDS.

Некоторые структуры содержат циклы (рис.3.7). Циклом считается ситуация, в которой предшественник узла является в то же время его последователем. Отношения "исходный-порожденный" образуют при этом замкнутый контур. Не все СУБД могут поддерживать циклы. Специальный тип цикла - петля, представляющий цикл, состоящий только из одного типа записи; порожденная запись совпадает с исходной.

Рис.3.7. Пример цикла и петли (СУБД петли не допускают)

18

Сетевая структура может быть приведена к более простому виду введением избыточности. Любую "простую" сетевую структуру можно представить с помощью дерева или множества деревьев с избыточными элементами (рис. 3.8).

Рис.3.8. Преобразование сетевых структур в иерархические

Как отмечалось выше, СУБД СЕТОР поддерживает сетевую модель данных в рамках КОДАСИЛ. Организация данных в СУБД СЕТОР определяется в терминах: БД, запись, поле и связь. Связь адекватна групповому отношению между двумя типами записей. Различают основные записи - владельцы и подчиненные - зависимые или связующие. СЕТОР требует, чтобы основная запись никогда не была зависимой и наоборот (рис. 3.9, 3.10).

Подмножество зависимых записей, подчиненных одной основной записи, называется цепочкой (рис.3.11).

Организация

Поликлиника

Основная запись

- на учете

- лечится

- работает

Служащий

Пенсионер

Зависимая запись

Рис.3.9. Цепочка данных в СУБД СЕТОР

19

Организация

Поликлиника

работает

лечится

Рис.3.10. Организация данных в СУБД СЕТОР

Поликлиника №10

Служащий Петров

Пенсионер Петров

Пенсионер Котов

Служащий Борина

Рис.3.11. Цепочка зависимых записей в СУБД СЕТОР

3.3. Реляционные базы данных

Гениальные идеи всегда просты. Избежать растущей сложности древо­видных и сетевых структур можно с помощью метода, называемого нормализа­цией. Это метод был разработан Кодом.

Один из самых естественных способов представления данных для поль­зователя-программиста - это двумерная таблица (табл.3.1).

Таблица 3.1.

Номер

служащего

Имя

служащего

Пол

Дата

рождения

Должность

Зарплата

35

28

71

Иванов

Сидоров

Петров

1

0

1

10.03.58

25.10.63

11.06.36

Бухгалтер

Инженер

Программист

500

600

800

Запись

Сегмент

Кортеж Домен

20

Таблица обладает следующими свойствами:

1. Каждый элемент таблицы представляет собой один элемент данных, повто­ряющиеся группы отсутствуют.

2. Все столбцы в таблице однородные (одинаковой природы).

3. Столбцам однозначно присвоены имена.

4. В таблице нет двух одинаковых строк.

5. Строки и столбцы могут просматриваться в любом порядке.

6. Каждый кортеж должен иметь ключ - идентификатор.

На рис.3.12 приведены реляционные объекты данных, используемые в реляционных базах данных.

Рис.3.12. Реляционные объекты данных

В табл.3.2 приведены термины, используемые в реляционных базах данных.

Таблица 3.2

Формальный реляционный термин

Неформальный эквивалент

Отношение

Кортеж

Кардинальное число

Атрибут

Степень

Первичный ключ

Домен

Таблица

Строка или запись

Количество строк

Столбец или поле

Количество столбцов

Уникальный идентификатор

Общая совокупность допустимых значений

Реляционная БД - это база данных, воспринимаемая пользователем как набор нормализованных отношений разной степени. Таблица может быть представле­на в виде отношения (relation): R(A1,A2,…An), где n - атрибуты отношения.

21

Любая структура данных может быть сведена к двумерным плоским фай­лам в форме двумерных таблиц. Это процесс, выполняемый шаг за шагом, на­зывается нормализацией. На рис.3.13. приведен пример нормализации древовидной структуры, где при нормализации основной ключ (соответствующий корню) включается в подчиненные отношения, получая их расширение:

КОМПОНЕНТА (КОД_ИЗДЕЛИЯ, №_КОМПОНЕНТЫ, НАИМЕНОВАНИЕ)

ДЕТАЛЬ (К0Д_ИЗДЕЛИЯ. КОД_СБ._ЕДИНИЦЫ. КОД_ДЕТАЛИ)

УЗЕЛ (КОД_ИЗДЕЛИЯ. КОД_СБ._ЕДИНИЦЫ. КОД_УЗЛА)

ИЗДЕЛИЕ (КОД_ИЗДЕЛИЯ, СБОРОЧНАЯ_ЕДИНИЦА, КОМПОНЕНТА)

СБОРОЧНАЯ_ЕДИНИЦА (НАИМЕНОВАНИЕ, КОД_ЕДЕНИЦЫ, ДЕТАЛЬ, УЗЕЛ)

КОМПОНЕНТА (НОМЕР, НАИМЕНОВАНИЕ)

ДЕТАЛЬ (КОД_ДЕТАЛИ)

УЗЕЛ (КОД_УЗЛА)

Рис.3.13. Пример нормализации древовидной структуры

Г Л А В А 4

Соседние файлы в папке лабы 2