Множественные ссылки на порожденные элементы. Пусть исходная сеть соответствует рисунку 12

Пусть исходная сеть соответствует рисунку 12. Тогда ее описание задано в таблицах 68 – 72:

Таблица 68 Таблица 69

№ п/п Шифр учебной группы Ссылки (табл.70)   № п/п Дисциплина Ссылки (табл.72)
  01-АС       Информатика 3,4
  01-ИЭ 1,2,5     Программирование 1,2
  02-ВТ       Физика  

Таблица 70 Таблица 71 Таблица 72

№ п/п ФИО студента Ссылки (табл.72)   № п/п Оценка Ссылки (табл.72)   № п/п Э
  Иванов И.И.         1,3     Э1
  Сидоров С.С.         2,5     Э2
  Петров П.П.               Э3
  Федоров Ф.Ф.               Э4
  Яковлев Я.Я.               Э5

Совокупность таблиц 68 и 70 описывает состав учебных групп (рисунок 9), таблица 69 определяет список дисциплин, экзамены по которым сдаются в сессию (рисунок 10), таблица 71 задает состав оценок (т.е. представляет рисунок 11), полученных во время сессии, а таблица 72 определяет только связь между студентами, дисциплинами и полученными на экзаменах оценками.

Рассмотрим решение задач просмотра элементов сети.

Пример 30. Пусть требуется определить, получены ли тройки по Информатике, т.е. qпросмотр = (Оценка = 3, Дисциплина = Информатика), где Кдоступ = 3, Информатика. Сеть задана таблицами 68 – 72.

Решение задачи:

1. по таблице 69 определяется элемент с ключом Информатика (задача аналогична поиску по линейному списку по первичному ключу) – это элемент с номером 1;

2. по ссылкам для первого элемента таблицы 69 (поле Ссылки) выбираем порожденные элементы. Они находятся в таблице 72 с номерами 3 и 4. Получаем список {3, 4};

3. по таблице 71 обращаемся последовательно к элементу со значением 3 - это третий элемент. Для него список ссылок из графы Ссылки равен {3};

4. строим пересечение множеств из шагов 2) и 3): {3, 4} ∩ {3} = 3. Поскольку получено непустое множество, формируем утвердительный ответ на поставленный вопрос. Алгоритм заканчивает работу.

Пример 31. Пусть требуется определить, какую оценку по Информатике получил Иванов И.И., т.е. qпросмотр = (ФИО студента = Иванов И.И., Дисциплина = Информатика, Оценка), где Кдоступ = Иванов И.И., Информатика. Сеть задана таблицами 68 – 72.

Решение задачи:

1. по таблице 69 определяется элемент с ключом Информатика – это элемент с номером 1;

2. по ссылкам для первого элемента таблицы 69 (поле Ссылки) выбираем порожденные элементы. Они находятся в таблице 72 с номерами 3 и 4. Получаем список {3, 4};

3. по таблице 70 определяем элемент с ключом Иванов И.И. Его номер – 1;

4. по ссылкам для этого элемента таблицы 70 (поле Ссылки) выбираем порожденные элементы – это элемент 3 из таблицы 72. Получаем список {3};

5. в таблице 71 по полю Ссылки объединяем списки ссылок. Получаем множество {1, 2, 3, 4, 5};

6. строим пересечение всех трех полученных множеств: {3, 4}∩{3}∩{1, 2, 3, 4, 5} = 3. Полученной ссылке соответствует оценка 5 в таблице 71, таким образом, результат решения задачи – пятерка. Алгоритм заканчивает работу.

Пример 32. Пусть требуется определить, какие оценки получены по Информатике, т.е. qпросмотр = (Дисциплина = Информатика, Оценка), где Кдоступ = Информатика. Сеть задана таблицами 68 – 72.

Решение задачи:

1. по таблице 69 определяется элемент с ключом Информатика – это элемент с номером 1;

2. по ссылкам для первого элемента таблицы 69 (поле Ссылки) выбираем порожденные элементы. Они находятся в таблице 72 с номерами 3 и 4. Получаем множество {3, 4};

3. в таблице 71 по полю Ссылки объединяем списки ссылок. Получаем множество {1, 2, 3, 4, 5};

4. строим пересечение полученных множеств: {3, 4}∩{1, 2, 3, 4, 5} = {3, 4}. Полученному списку ссылок соответствуют оценки 5 и 3 в таблице 71, что и является результатом решения задачи. Алгоритм заканчивает работу.

Рассмотрим, как решается задача добавления нового элемента.

Пример 33. Пусть в сеть рисунка 12 требуется поместить элемент со структурой:

ФИО студента Шифр учебной группы Дисциплина Оценка
Петров П.П. 02-ВТ Информатика  

т.е. qдобавление = (ФИО студента = Петров П.П., Шифр учебной группы = 02-ВТ, Дисциплина = Информатика, Оценка = 5), где Кдоступ = Петров П.П., 02-ВТ, Информатика, 5.

После размещения элемента в сети она примет вид рисунка 13: новый элемент Э6 показывает связь студента Петрова П.П. с оценкой 5 по информатике (связи выделены жирными стрелками):

Рисунок 13

Новой сети соответствует описание, помещенное в таблицы 68, 69 (так описан состав учебных групп, список дисциплин, которые не поменялись), а также модифицированные таблицы 70 – 72, представленные в таблицах 73 – 75 (новые и измененные данные показаны заливкой):

Таблица 73 Таблица 74 Таблица 75

№ п/п ФИО студента Ссылки (табл.75)   № п/п Оценка Ссылки (табл.75)   № п/п Э
  Иванов И.И.         1,3,6     Э1
  Сидоров С.С.         2,5     Э2
  Петров П.П. 2,6             Э3
  Федоров Ф.Ф.               Э4
  Яковлев Я.Я.               Э5
                  Э6

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: