Возможности реляционной модели данных по отображению сложных структур данных

Вид материалаДокументы

Содержание


Код соревнования
Код студента
Номер семестра
Сравнительный анализ типовых структур данных
Характеристики учебных групп
Раздел учебного
Спе- циальность
Раздел учебного
Дисцип- лина
Дисцип- лина
Шифр студента
Шифр студента
R10, тогда связи R10-R7, R8-R5, R5-R4
Сведения о месте студента в организационной структуре
Титул учебного плана
Под- группа
Подобный материал:



Возможности реляционной модели данных по отображению сложных структур данных


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


Для примера возьмем пару отношений, рассмотренных нами ранее при изучении иерархической зависимости


СТУДЕНТ

Код

студента

Ф.И.О.

Пол

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


СЕМЕСТР

Код

студента

Номер

семестра

Тип

стипендии

Рейтинг

за семестр


Отношение, являющееся старшим в иерархической зависимости (в рассматриваемом примере это отношение СТУДЕНТ) индексируется по ключу (код студента) и это будет атрибутом связи со вторым отношением. 1:М т.к. Код студентаключ в СТУДЕНТ.

Второй пример

СТУДЕНТ

Код

студента

Ф.И.О.

Пол

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



ГРУППА

ГРУППА


Ф.И.О. старосты группы

Колич. студентов

в группе



ПО определению между этими отношениями есть иерархическая зависимость, однако использовать её в РМД невозможно – нет атрибутов связи.


Для обеспечения такой возможность необходимо иметь в отношении студент атрибут номер группы


СТУДЕНТ

Код

студента

Ф.И.О.

Номер группы

Пол

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



ГРУППА

ГРУППА


Ф.И.О. старосты группы

Колич. студентов

в группе



Аналогичный пример


СТУДЕНТ

Код

студента

Ф.И.О.

Номер группы

Пол

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


ПРИЗЕРЫ

Код

соревнования

Призовое место

Код студента - призера

Вуз

студента


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

РМД позволяет установить связь между соответствующими кортежами путем соединения по атрибуту Код студента.

Вновь связь 1:М т.к. атрибут связи – ключ в одном из отношений.


ТАКИМ ОБРАЗОМ СВЯЗЬ 1:М (ИЕРАРХИЧЕСКАЯ) В РМД МОЖЕТ БЫТЬ УСТАНОВЛЕНА ЕСЛИ АТРИБУТАМИ СВЯЗИ ЯВЛЯЮТСЯ АТРИБУТЫ КЛЮЧА В ОДНОМ (СТАРШЕМ) ОТНОШЕНИИ И ПОДМНОЖЕСТВО АТРИБУТОВ КЛЮЧА ИЛИ НЕКЛЮЧЕВОЙ АТРИБУТ – В ДРУГОМ (ПОДЧИНЕННОМ)


ГРУППА







Ф.И.О. старосты

Число

студентов

Специальность






СТУДЕНТ




Код студента

Ф.И.О.




Пол

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






СЕМЕСТР







Номер

семестра

Тип

стипендии


Рейтинг

за семестр



Ещё один пример связуемых отношений.


СТУДЕНТ 1

Код

студента

Ф.И.О.

Номер группы

Пол


СТУДЕНТ 2

Код

студента

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

Место рождения



Связь 1:1 – соединение через атрибуты ключа


СЕМЕСТР 1

Код

студента

Номер

семестра

Тип

стипендии

Рейтинг

за семестр


СЕМЕСТР 2

Код

студента

Номер

семестра

Количество пропусков за семестр


Связь 1:1


СЕМЕСТР 1

Код

студента

Номер

семестра

Дисциплина

Рейтинг по дисциплине

за семестр


СЕМЕСТР 2

Код

студента

Номер

семестра

Месяц

Количество

пропусков за месяц



Связь между отношениями N:M, т.к. соединить можно по атрибутам Код студента и Номер семестра, которые являются подмножеством ключа в каждом отношении.


Необходимо преобразование связи через дополнительное отношение с ключом Код студента и Номер семестра, например ранее рассмотренное


СЕМЕСТР

Код

студента

Номер

семестра

Тип

стипендии

Рейтинг

за семестр



СЕМЕСТР 1

Код

студента

Номер

семестра

Дисциплина

Рейтинг по дисциплине

за семестр


СЕМЕСТР 2

Код

студента

Номер

семестра

Месяц

Количество

пропусков за месяц



Следует обратить внимание на то, что используя в описании структуры таблиц фразу foreign key мы не устанавливаем связь, а лишь подготавливаем систему к возможной установке связи с помощью операции СОЕДИНЕНИЕ и (главное) - обеспечиваем проверку ссылочной целостности.

Сравнительный анализ типовых структур данных


В предлагаемом примере вначале приводится множество линейных структур (отношений) R1 – R10, являющихся фрагментом предметной области ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ, сфера деятельности УЧЕБНЫЙ ПРОЦЕСС. изображены структуры, которые могут быть реализованы в иерархической, сетевой и реляционной модели данных.



R1

Группа


Год

создания группы

Число

студентов

в группе

Ф.И.О. старосты




Характеристики учебных групп

в вузе





R2

Шифр студента

Ф.И.О. студента

Пол

Дата


рождения

Стаж работы

до вуза




Кадровые

данные

о студентах





R3

Шифр

студента

Семестр

Размер


стипендии

в семестре

Рейтинг


студента

в семестре



Сведения

о студенте

в семестре







R4


Шифр

студента

Се-

местр



Дис-

цип-

лина

Количество

пропусков

по дисциплине

в семестре

Оценка

по дисциплине

в семестре

Рейтинг

по

дисциплине

в семестре

Сведения

об успеваемости

студентов





R5

Шифр

студента

Дисциплина

Средний балл


по дисциплине

Рейтинг


по дисциплине

Приложение


к диплому






R6

Специальность

Профилирующая

кафедра

Год

начала

обучения

по специальности

План

приема

в текущем

году

Сведения

о специальностях,

по которым ведется подготовка

специалистов в вузе






R7

Специаль-

ность

Год

приема

Дис-ци-пли-

на

Количество часов всего

Коли-

чество

часов

лекций

Коли-

чество

часов

лабора-

торных

Коли-


чество

часов практики

Раздел

учебного

плана

(левая часть)



R8



Спе-

циальность


Год прие-ма


Дис-

ци-

пли-

на



Се-

местр

Число


недель

в

семестре

Коли-чество

часов

аудиторных

занятий

Коли-

чество

часов

самосто-ятельной

работы

Вид


атте-

стаций

Раздел

учебного

плана

(правая

часть)



R9

Семестр

Дисциплина

Группа


Вид

заня-

тий

Количество

часов

Шифр преподавателя



Кафедра

Учебные


поручения

кафедры






R10

Дисциплина


Сокращенное название

дисциплины

Государственный стандарт. Рабочая

программа




Специ-альность




R6





















Дисцип-


лина


R10






Группа






R1
















Специальность



Год приема

Дисцип-

лина

R7






Шифр студента



R2












Специ-


альность

Год при-

ема

Дисципли-

на

Се-


местр

R8





Шифр студента



Семестр

R3






Шифр студента


Дисциплина

R5




Шифр сту-

дента

Семестр

Дис-цип-лина

R4





Шифр препо-

давателя

Дис-

цип-

лина

Груп-па

Се-


местр

Вид занятий

R9


Предложенный вариант иерархической структуры не является единственным. Так например, корнем дерева могло быть отношение R10, тогда связи R10-R7, R8-R5, R5-R4 необходимо изобразить сплошными линиями, а связи R6-R7, R2-R5 и R3-R4 – пунктирными. В результате получаем два дерева R6-R1-R2-R3 и R10-R7-R8-R5-R4-R9.


Полная структура данных может быть отражена лишь в сетевой модели, что соответствует всем изображенным связям, включая обозначенные пунктирной линией.

В реляционной модели рассматриваются лишь связи между парами отношений (автономно), а связь реализуется через совпадение значений атрибутов связи. Поэтому для реализации всех отмеченных парных связей в реляционной модели данных необходимо включить дополнительные атрибуты:
  • специальность в R1,
  • группа в R2,
  • специальность, год приема в R9.

Связь R4 – R9 в реляционной модели не реализуема.


R11

Шифр


студента



Факультет




Кафедра




Группа

Основание


для

приема


Сведения о месте студента в организационной структуре



R12






Специальность

Год


приема

Группа







Титул учебного плана







R13



Специальность



Дисциплина


Название

учебно-методического

материала

Тип методического

материала

Копия


методического

материала

Сведения

об учебно-методических материалах




R14




Группа





Под-

группа



Дисцип-

лина
Четность

недели



Время

занятий


Вид

заня-

тий

Шифр


препода-

вателя


Код ауд.

Расписа-ние

занятий



R15

Код


аудитории

Корпус




Номер

Вместимость

Тип


аудитории

Сведения

об аудиторном фонде

R16







Кафедра





Ф.И.О.

зав.кафедрой

Номер


телефона



Корпус

Ком-

ната




Сведения


о кафедрах вуза