Возможности реляционной модели данных по отображению сложных структур данных
Вид материала | Документы |
- Реляционные решения: от открытия реляционной модели данных до проблематики фундаментальных, 61.83kb.
- Курс лекций "Базы данных и субд" Ульянов В. С. Лекция. Манипулирование реляционными, 276.31kb.
- Программа дисциплины Системы управления базами данных Семестры, 22.73kb.
- Курс лекций "Базы данных и субд" Ульянов В. С. Лекция. Целостная часть реляционной, 213.79kb.
- Примерная рабочая программа по дисциплине: базы данных, 104.62kb.
- Проектный практикум, 61.84kb.
- Лекция №4. Модели данных > Лекция №4. Модели данных Вопросы организации данных в гис,, 462.87kb.
- Проектирование базы данных, 642.58kb.
- Структура программы. Часть Структуры данных. 24. Классификация структур данных. Операции, 41.26kb.
- Разработка реляционной структуры данных, 255.43kb.
Возможности реляционной модели данных по отображению сложных структур данных
Реляционная модель данных в своем классическом варианте (теоретически) не имеет средств описания сложной структуры данных, состоящей из многих отношений. Естественно нет и средств хранения таких описаний. Лишь используя операцию соединения можно обеспечить связь между парой отношений.
Для примера возьмем пару отношений, рассмотренных нами ранее при изучении иерархической зависимости
СТУДЕНТ
-
Код
студента
Ф.И.О.
Пол
Дата рождения
СЕМЕСТР
-
Код
студента
Номер
семестра
Тип
стипендии
Рейтинг
за семестр
Отношение, являющееся старшим в иерархической зависимости (в рассматриваемом примере это отношение СТУДЕНТ) индексируется по ключу (код студента) и это будет атрибутом связи со вторым отношением. 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 | Кафедра | Ф.И.О. зав.кафедрой | Номертелефона | Корпус | Ком-ната | | Сведенияо кафедрах вуза |