Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4(готово).docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
396 Кб
Скачать
      1. Формирование отношений предметной области

        1. Получение предварительных отношений

По правилу 4: «Если степень бинарной связи равна 1:М и класс принад­лежности М-связной сущности является обязательным, то достаточным яв­ляется использование двух отношений, по одному на каждую сущность, при условии, что ключ каждой сущности служит в качестве первичного ключа для соответствующего отношения. Дополнительно ключ 1-связной сущно­сти должен быть добавлен как атрибут в отношение, отводимое для М-связной сущности», из ER – диаграммы будут получены следующие предварительные отношения:

- Из связи «Тест имеет Простые вопросы» получим два предварительных отношения ТЕСТ и ВОПРОСЫ_ПРОСТЫЕ, причем в отношение ВОПРОСЫ_ПРОСТЫЕ в качестве части составного ключа добавится ключ из отношения ТЕСТ:

ТЕСТ(КодТ,….)

ВОПРОСЫ_ПРОСТЫЕ(№Вопр, КодТ,…)

- Из связи «Тест имеет Табличные вопросы» получим два предварительных отношения ТЕСТ и ТАБЛИЧНЫЕ_ВОПРОСЫ, причем в отношение ТАБЛИЧНЫ_ВОПРОСЫ в качестве части составного ключа добавится ключ из отношения ТЕСТ:

ТЕСТ(КодТ,…)

ТАБЛИЧНЫЕ_ВОПРОСЫ(№Вопр, КодТ,…)

- Из связи «Табличные вопросы имеют Строки» получим два предварительных отношения ТАБЛИЧНЫЕ_ВОПРОСЫ и СТРОКИ, причем в отношение СТРОКИ в качестве части составного ключа добавится ключ из отношения ТАБЛИЧНЫЕ_ВОПРОСЫ:

ТАБЛИЧНЫЕ_ВОПРОСЫ(КодТ,№Вопр,…)

СТРОКИ(КодТ,№Стр, №Вопр,…)

- Из связи «Табличные вопросы имеют Столбцы» получим два предварительных отношения ТАБЛИЧНЫЕ_ВОПРОСЫ и СТОЛБЦЫ, причем в отношение СТОЛБЦЫ в качестве части составного ключа добавится ключ из отношения ТАБЛИЧНЫЕ_ВОПРОСЫ:

ТАБЛЧНЫЕ_ВОПРОСЫ(КодТ,№Вопр,…)

СТОЛБЦЫ(КодТ,№Столб, №Вопр,…)

- Из связи «Вопросы простые имеют Варианты ответа» получим два предварительных отношения ВОПРОСЫ_ПРОСТЫЕ и ВАРИАНТЫ_ОТВЕТА, причем в отношение ВАРИАНТЫ_ОТВЕТА в качестве части составного ключа добавится ключ из отношения ВОПРОСЫ_ПРОСТЫЕ:

ВОПРОСЫ_ПРОСТЫЕ(КодТ,№Вопр,…)

ВАРИАНТЫ_ОТВЕТА(КодТ,№ВарОтв, №Вопр)

- Из связи «Варианты ответа бывают Выборы варианта ответа» получим два предварительных отношения ВАРИАНТЫ_ОТВЕТА и ВЫБОРЫ_ВАРИАНТЫ_ОТВЕТА, причем в отношение ВЫБОРЫ_ВАРИАНТА_ОТВЕТА в качестве части составного ключа добавится ключ из отношения ВАРИАНТЫ_ОТВЕТА:

ВАРИАНТЫ_ОТВЕТА(КодТ,№ВарОтв, №Вопр,…)

ВЫБОРЫ_ВАРИАНТЫ_ОТВЕТА(КодТ,№ВарОтв, №Вопр,№Выб,…)

- Из связи «Респондент проходит Тестирование» получим два предварительных отношения РЕСПОНДЕНТЫ и ТЕСТИРОВАНИЕ, причем в отношение ТЕСТИРОВАНИЕ в качестве атрибута связи добавится ключ из отношения РЕСПОНДЕНТЫ:

РЕСПОНДЕНТЫ(№Респ,…)

ТЕСТИРОВАНИЕ(№Тестиров,…,Респ)

- Из связи «Тест включает Тестирование» получим два предварительных отношения ТЕСТ и ТЕСТИРОВАНИЕ, причем в отношение ТЕСТИРОВАНИЕ в качестве части составного ключа добавится ключ из отношения ТЕСТ:

ТЕСТ(КодТ,…)

ТЕСТИРОВАНИЕ(№Тестиров, КодТ,…)

По правилу 6: «Если степень бинарной связи равна M:N, то для хранения данных необходимо три отношения: по одному для каждой сущности и од­но отношение для связи. Причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения. Отношение свя­зи должно иметь в числе своих атрибутов ключи каждой сущности», из ER – диаграммы будут получены следующие предварительные отношения:

- Из связи «Тестирование включает Простые вопросы» получим три предварительных отношения ТЕСТИРОВАНИЕ, ВОПРОСЫ_ПРОСТЫЕ и РЕЗУЛЬТАТЫ_ПО_ВВОДУ, причем в отношение РЕЗУЛЬТАТЫ_ПО_ВВОДУ в качестве составного ключа войдут ключи из каждой сущности:

ТЕСТИРОВАНИЕ(№Тестиров,КодТ,…)

ВОПРОСЫ_ПРОСТЫЕ(КодТ,№Вопр,…)

РЕЗУЛЬТАТЫ_ПО_ВВОДУ(№Тестиров,КодТ,№Вопр,…)

- Из связи «Тестирование включает Варианты ответа» получим три предварительных отношения ТЕСТИРОВАНИЕ, РЕЗУЛЬТАТЫ_ПО_ПРОСТОМУ_ВЫБОРУ и ВАРИАНТЫ_ОТВЕТА, причем в отношение РЕЗУЛЬТАТЫ_ПО_ПРОСТОМУ_ВЫБОРУ в качестве составного ключа войдут ключи из каждой сущности:

ТЕСТИРОВАНИЕ(№Тестиров,КодТ,…)

ВАРИАНТЫ_ОТВЕТА(КодТ,№Вопр,№ВарОтв,…)

РЕЗУЛЬТАТЫ_ПО_ПРОСТОМУ_ВЫБОРУ(№Тестиров,КодТ,№Вопр,№ВарОтв,…)

- Из связи «Тестирование включает Выборы варианта ответа» получим три предварительных отношения ТЕСТИРОВАНИЕ, ВЫБОРЫ_ВАРИАНТА_ОТВЕТА и РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ, причем в отношение РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ в качестве составного ключа войдут ключи из каждой сущности:

ТЕСТИРОВАНИЕ(№Тестиров,КодТ,…)

ВЫБОРЫ_ВАРИАНТА_ОТВЕТА(КодТ,№Вопр,№ВарОтв,№Выб,...)

РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ(№Тестиров,КодТ,№Вопр,№ВарОтв,№Выб,...)

По правилу 7: «В случае тернарной связи необходимо использовать четыре предварительных отношения, по одному для каждой сущности, и одно - для связи. Причем ключ каждой сущности должен служить в качестве первичного ключа для соответствующего отношения. Отношение, порож­даемое связью, будет иметь среди своих атрибутов ключи от каждой сущно­сти», из ER-диаграммы будут получены следующие отношения:

  • из «Строки включают Тестирование, Столбцы включают тестирование» будут выделены четыре предварительных отношения: СТРОКИ, СТОЛБЦЫ, ТЕСТИРОВАНИЕ и РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ_ИЗ_ТАБЛИЦЫ, причем в отношение РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ_ИЗ_ТАБЛИЦЫ в качестве части составного ключа необходимо добавить ключи из отношений СТРОКИ , СТОЛБЦЫ и ТЕСТИРОВАНИЕ.

СТРОКИ (КодТ,№Вопр,№Стр, …)

СТОЛБЦЫ (КодТ,№Вопр,№Столб, …)

ТЕСТИРОВАНИЕ ( №Тестиров,КодТ, …)

РЕЗУЛЬТАТЫ_ПО_ВЫБОРУ_ИЗ_ТАБЛИЦЫ (№Тестиров,КодТ,№Вопр,№Стр,№Столб)

  • из «Строки включают Тестирование, Столбцы включают тестирование» будут выделены четыре предварительных отношения: СТРОКИ, СТОЛБЦЫ, ТЕСТИРОВАНИЕ и РЕЗУЛЬТАТЫ_ПО_ТАБЛИЦЕ, причем в отношение РЕЗУЛЬТАТЫ_ПО_ТАБЛИЦЕ в качестве части составного ключа необходимо добавить ключи из отношений СТРОКИ , СТОЛБЦЫ и ТЕСТИРОВАНИЕ.

СТРОКИ (КодТ,№Вопр,№Стр, …)

СТОЛБЦЫ (КодТ,№Вопр,№Столб, …)

ТЕСТИРОВАНИЕ ( №Тестиров,КодТ, …)

РЕЗУЛЬТАТЫ_ПО_ТАБЛИЦЕ (№Тестиров,КодТ,№Вопр,№Стр,№Столб,…)