Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных.-5.pdf
Скачиваний:
27
Добавлен:
05.02.2023
Размер:
1.3 Mб
Скачать

33

структуры. Обеспечивается также выборка подобного экземпляра в пределах исходного. Такая выборка может быть осуществлена только после выборки экземпляра старшего элемента, а читаются последовательно однотипные подчиненные, но только связанные с выбранным «старшим» [2]. Возможна также выборка следующего экземпляра в иерархической последовательности, т.е. выборка данных по правилу перехода по дереву — «сверху вниз – слева направо».

Основными достоинством иерархической модели данных является простота понимания и использования, кроме того достигается определенный уровень в обеспечении независимости данных. К недостаткам модели можно отнести сложность механизма обеспечения связей типа «многие-ко-многим» и, как следствие, невозможность легко представить в виде древовидной структуры большинство предметных областей, а также отсутствие гибкости при выполнении операций по манипулированию данными.

3.4. Сетевая модель данных

В сетевой модели объекты предметной области объединяются в сеть. Элементами такой сетевой структуры являются линейные структуры данных. Иерархическая структура является частным случаем сетевой. Связи в сетевой структуре определяются так же, как и в иерархической. Заметим, что при определении связей в сетевой структуре допустимы следующие положения:

в сетевой структуре может быть несколько главных элементов (корней) или главный элемент вообще может отсутствовать;

допускается наличие более одной связи между двумя элементами структуры;

подчиненный элемент может иметь более одного старшего;

допускаются циклические связи;

возможно наличие связей между экземплярами одного и того же элемента структуры.

Поясним различие между понятиями элемент структуры (типом записи) и экземпляр элемента структуры (экземпляром записи). Студенты – является типом структуры, а «1112 Иванов И.И. 1987… » является экземпляром элемента структуры. Таким образом в БД может иметься один или несколько экземпляров элемента структуры или, что тоже верно, в БД может существовать любое множество экземпляров записи некоторого типа.

34

На рис. 3.3. приведен пример простой сетевой структуры.

СТУДЕНТЫ

 

ПРЕПОДАВАТЕЛИ

 

№ зачетной книжки

№ зачетной книжки

 

 

ФИО студента

ФИО студента

 

 

. . .

 

. . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УСПЕВАЕМОСТЬ

 

 

 

ПЛАТА

 

ДИСЦИПЛИНА

 

 

 

 

 

ЗА ОБУЧЕНИЕ

 

Наименование

Наименование

 

 

 

дисциплины

 

 

 

 

 

дисциплины

 

 

 

Год обучения

Семестр

 

 

 

Сумма

 

Нагрузка

 

 

 

 

 

 

 

Количество

Оценка

 

 

 

Дата оплаты

 

 

 

 

 

 

 

семестров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОНТРОЛЬНЫЕ

 

 

 

 

 

 

 

ТОЧКИ

 

 

 

 

 

 

 

Наименование

 

 

 

 

 

 

 

дисциплины

 

 

 

 

 

 

 

Семестр

 

 

 

 

 

 

 

№ контрольной

 

 

 

 

 

 

 

точки

 

 

 

 

 

 

 

Оценка

 

 

 

 

 

 

 

Рис. 3.3 Сетевая структура данных

В этом примере мы расширили иерархическую структуру, предложенную в предыдущем подразделе, добавив два элемента: ПРЕПОДАВАТЕЛИ и ДИСЦИПЛИНА, предположив, что один преподаватель может читать лекции по нескольким дисциплинам (связь 1:М). Элемент ДИСЦИПЛИНА также связан с элементом УСПЕВАЕМОСТЬ (1:М). Таким образом, в элементах УСПЕВАЕМОСТЬ и КОНТРОЛЬНЫЕ ТОЧКИ можно опустить поля НАИМЕНОВАНИЕ ДИСЦИПЛИНЫ, поскольку при установке соответствующих связей, автоматически добавятся ключевые поля старших структур в дочерние.

Операции по обработке данных в сетевой модели аналогичны соответствующим операциям для иерархической модели.

Основным достоинством сетевой модели является ее универсальность и возможность реализации связей многие-ко-многим. Главным

35

недостатком является ее сложность, разработчик должен детально знать структуру всей БД, даже той части, которую не затрагивает его программа, поскольку необходимо осуществлять навигацию среди различных элементов структуры.

Следующим шагом в развитии моделей данных использование реляционной модели данных при проектировании БД, которая из-за своей простоты и универсальности заняла прочное место в современных системах управления базами данных.

Контрольные вопросы

1.Перечислите дореляционные модели данных.

2.Дайте определения физической и логической структуры данных.

3.Назовите правила построения иерархических структур.

4.Назовите и кратко охарактеризуйте типовые операции по управлению данными в дореляционных структурах.

36

4. РЕЛЯЦИОННАЯ МОДЕЛЬ 4.1. Основные понятия реляционной модели

4.1.1. Общие сведения

Использование реляционной модели данных было предложено доктором Э.Ф. Коддом в 1970 г. Реляционная модель основана на теории отношений [7], при проектировании БД применяются строгие методы, построенные на нормализации отношений (глава 6, настоящего пособия). Доктор Кодд, в своей статье [8] отмечает, что реляционная модель данных обеспечивает ряд возможностей, которые делают управление БД и их использование относительно легким, устойчивым по отношению к ошибкам и предсказуемым. Наиболее важные характеристики реляционной модели заключаются в следующем [9]:

реляционная модель описывает данные с их естественной структурой, не добавляя каких-либо дополнительных структур, необходимых для машинного представления или для целей реализации;

она обеспечивает математическую основу для интеграции выводимости, избыточности и непротиворечивости отношений;

реляционная модель позволяет добиться реальной независимости данных от их физического представления, от связей

между данными и от способов реализации, связанных с эффективностью и подобными заботами.

Благодаря доктору Э.Ф. Кодду, компания IBM в начале 70-х годов начала разработку нескольких коммерческих реляционных СУБД. В начале 80-х годов такие гиганты информационной индустрии, как

Oracle Corporation, Ingres Corp., IBM и других более мелких организа-

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

Единственным ограничением для широкомасштабного внедрения реляционных СУБД являлась низкая производительность средств вычислительной техники. Появление и стремительное распространение персональных компьютеров, а также простота управления реляционной БД способствовали быстрому расширению рынка реляционных СУБД и признанию таких систем разработчиками и пользователями приложений, построенных с использованием этих БД.

37

4.1.2. Смысл понятий реляционной модели

Основными понятиями структурной части баз данных, строящихся на реляционных моделях, являются:

отношение;

тип данных;

домен;

атрибут;

кортеж;

первичный ключ;

Смысл этих понятий наглядно поясним на примере отношения СТУДЕНТЫ, представленного на рис. 4.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текстовый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Числовой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коды

 

 

 

 

 

 

 

 

 

 

 

 

ФИО

 

 

 

 

 

 

 

 

 

Номера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пол

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

студентов

 

 

 

 

студентов

 

 

 

 

 

 

 

 

 

 

 

 

групп

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.K.

 

 

(первичный

ключ)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ID_Stud

 

 

 

 

 

 

 

 

 

 

 

ФИО

 

 

 

 

 

 

 

 

Номер

 

 

 

 

 

 

 

 

 

Пол

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

группы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов И.И.

 

 

 

 

 

 

 

 

422-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Петров П.П.

 

 

 

 

 

 

422-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов И.И.

 

 

 

 

 

 

422-2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отношение "Студенты"

Типы данных

Дата/время

Домены

Дата

рожденья

студентов

Атрибут

Схема отношения

Дата рождения

12.06.1980

кортеж

11.10.1979

 

03.09.1980

 

Рис. 4.1. Отношение СТУДЕНТЫ

В реляционной модели данные представляются в виде плоских таблиц, называемых отношениями. Столбец таблицы называется атрибутом или полем, строка — кортежем отношения. Рассмотрим более подробно основные понятия и определения, используемые в реляционной модели данных.