Предварительные отношения строятся с использованием 6 правил:
1. если степень связи 1:1 и характер принадлежности обеих сущностей является обязательным, то для описания связи строится только одно отношение, ключом которого может быть ключ любой из сущностей.
2. если степень связи 1:1, характер принадлежности одной сущности обязательный, а другой – нет, то строятся два отношения по одному для каждой сущности с первичным ключом; кроме того, ключ сущности, характер принадлежности которой необязательный добавляется как атрибут в отношение для сущности с обязательным характером принадлежности.
3. если степень связи 1:1 и характер принадлежности обеих сущностей является необязательным, то строятся три отношения по одному для каждой сущности с соответствующим первичным ключом, и одно отношение для связи с ключом, составленным из ключей 2-ух сущностей.
4. если степень связи 1:N и характер принадлежности N-связной сущности обязательный, то строятся два отношения по 1 для каждой сущности с соответствующими первичными ключами, кроме того, ключ односвязной сущности добавляется как атрибут в отношение для n-связной сущности.
|
|
5. если степень связи 1:N и характер принадлежности n-связной сущности необязательный, то строятся три отношения: по одному для каждой сущности с соответствующими ключами и одно отношение для связи с ключом, составленным из ключей двух сущностей.
6. если степень связи N:M, то независимо от характера принадлежности, строятся три отношения: для каждой сущности с первичным ключом, и одно отношение для связи с ключами других сущностей.
1. По правилу №4:
1) Ученые (код ученого, код статуса ученого)
2) Статус (код статуса ученого)
2. По правилу №6:
3) Ученые (код ученого);
4) Заявки (номер заявки);
5) Подача (код ученого, номер заявки);
3. По правилу №4:
6) Заявки (номер заявки, номер конференции);
7) Конференция (номер конференции);
4. По правилу №4:
8) Ученые (код ученого, шифр тематики);
9) Тематика (шифр тематики);
5. По правилу №4:
10) Ученые (код ученого, код города);
11) Город (код города);
6. По правилу №4:
12) Конференция (номер конференции, код города);
13) Город (код города);
7. По правилу №4:
14) Конференция (номер конференции, шифр тематики);
15) Тематика (шифр тематики);
Исключаем отношение №13, т. к. оно дублирует отношение №11.
Исключаем отношение №15, т. к. оно дублирует отношение №9.
Исключаем отношение №1, т. к. оно «поглощается» отношением №16
Исключаем отношение №3, т. к. оно «поглощается» отношением №6
Исключаем отношение №4, т. к. оно «поглощается» отношением №1
Исключаем отношение №1, т. к. оно «поглощается» отношением №16
|
|
Исключаем отношение №7, т. к. оно «поглощается» отношением №12
Исключаем отношение №8, т. к. оно «поглощается» отношением №16
Исключаем отношение №10, т. к. оно «поглощается» отношением №16
Исключаем отношение №12, т. к. оно «поглощается» отношением №17
Исключаем отношение №14, т. к. оно «поглощается» отношением №17
В ходе анализа предварительных отношений возникают еще два отношения:
16) Ученые (код ученого, код статуса ученого, шифр тематики, код города)
17) Конференция (номер конференции, код города, шифр тематики)
В результате получаем отношения, которые имеют ряд различных ключей.
Статус (код статуса ученого)
Подача (номер заявки, код ученого)
Заявки (номер заявки, номер конференции)
Тематика (шифр тематики)
Город (код города)
Ученые (код ученого, код статуса ученого, шифр тематики, код города)
Конференция (номер конференции, код города, шифр тематики)
Данные предварительные отношения служат основой для получения полных отношений. Для этого к ключевым атрибутам добавляются описательные атрибуты:
«Ученые» (код ученого, код статуса ученого, шифр тематики, код города, фамилия, имя, отчество, e-mail, название города);
«Статус» (код статуса ученого, статус ученого, количество сообщений);
«Заявка» (номер заявки, номер конференции, код ученого, участие в конференции);
«Город» (код города, название города, страна);
«Тематика» (шифр тематики, тематические темы, количество сообщений в теме);
«Конференция» (номер конференции, шифр тематики, код города, название конференции, дата проведения, номер заявки, название города);
«Подача» (номер заявки, код ученого).
Построение реляционной модели
Структура каждой таблицы реляционной модели определяется составом отношений, ключевыми и описательными атрибутами, которые были получены ранее.
«Ученые»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Код ученого | Kodych | Числовое целое | 2 | 0 |
Фамилия | Familia | Текстовый | 50 | - |
Имя | Imia | Текстовый | 50 | - |
Отчество | Otchestvo | Текстовый | 50 | - |
Название города | Nazvgor | Текстовый | 50 | - |
Текстовый | 50 | - | ||
Код статуса ученого | Kodstatych | Числовое целое | 2 | 0 |
Шифр тематики | Schifrtem | Числовое целое | 50 | 0 |
Код города | Kodgor | Числовое целое | 4 | 0 |
«Статус»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Код статуса ученого | Kodstatych | Числовое целое | 2 | 0 |
Статус ученого | Statych | Текстовый | 50 | - |
Количество сообщений | Kolsoobsh | Числовое целое | 3 | 0 |
«Заявка»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Код ученого | Kodych | Числовое целое | 2 | 0 |
Номер заявки | Nomz | Числовое целое | 2 | 0 |
Участие в конференции | Ychvkonf | Логический | - | - |
Номер конференции | Nomkonf | Числовое целое | 2 | 0 |
«Город»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Код города | Kodgor | Числовое целое | 4 | 0 |
Название города | Nazvgor | Текстовый | 50 | - |
Страна | Strana | Текстовый | 50 | - |
«Тематика»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Кол-во сообщений в теме | Kolsoobsh | Числовое целое | 4 | 0 |
Шифр тематики | Schifrtem | Числовое целое | 4 | 0 |
Тематические темы | Temi | Текстовый | 50 | - |
«Конференция»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Номер конференции | Nomkonf | Числовое целое | 2 | 0 |
Шифр тематики | Schifrtem | Числовое целое | 4 | 0 |
Название города | Nazvgor | Текстовый | 50 | - |
Название конференции | Nazvkonf | Текстовый | 50 | - |
Дата проведения | Kodgor | Дата/время | - | - |
Номер заявки | Nomz | Числовое целое | 2 | 0 |
Код города | Kodgor | Числовое целое | 4 | 0 |
«Подача»
Название атрибута | Имя атрибута | Тип данных | Длина | Точность |
Номер заявки | Nomz | Числовое целое | 2 | 0 |
Код ученого | Kodych | Числовое целое | 2 | 0 |
Обработка запросов
Первый запрос (Рисунок 5.1) – «Проживание ученых», выбирающий данные из таблицы «Ученые» и выдающий таблицу со следующими полями:
|
|
Ф.И.О. ученого;
Название города.
Рисунок 5.1
Второй запрос (Рисунок 5.2) – «Ученые. Статус. Тематика», выбирающий сведения об ученых, проводящих исследования по определенной тематике и имеющих не менее 98 сообщений, содержащий следующие поля:
Ф.И.О. ученого;
Тематическая тема;
Количество сообщений.
Рисунок 5.2
Третий запрос (Рисунок 5.3) – «Участие в конференции», формирующий отчет о конференциях. По каждой конференции должно выдаваться следующее:
Название города
Дата проведения
Участие в конференции
Рисунок 5.3
Четвертый запрос (Рисунок 5.4) – «Количество сообщений в теме у ученого».
По вертикали в столбец записаны тематические тематики, по горизонтали – фамилии ученых, изучающих эти темы, а на перекрестке соответствующей фамилии и темы – количество сообщений, подготовленных по этой теме определенным ученым.
Рисунок 5.4
Пятый запрос (Рисунок 5.5) «Изменение даты проведения на 1 день». Суть запроса заключается в том, чтобы по названию конференции иметь возможность перенести ее на один день вперед.
Рисунок 5.5
Шестой запрос (Рисунок 5.6) – «Отмена проведения конференции в данном городе».
По названию города можно отменить (удалить) из базы данных конференции, проходящие в нем.
Рисунок 5.6
Создание отчетов
Первый отчет (Рисунок 6.1), предоставляющий информацию об ученых.
УЧЕНЫЕ
фамилия имя отчество название городаe-mail
Андреев Алексей Иванович Москва q@bk.ru
Сергеева Анна Николаевна Ярославль w@bk.ru
Воробьев Дмитрий Олегович Сыктывкар r@mail.ru
Васильев Евгений Сергеевич Воронеж s@mail.ru
Чащин Сергей Андреевич Вена g@mail.ru
Ильин Павел Андреевич Ярославль z@inbox.ru
Игнатов Валерий Евгеньевич Сыктывкар f@bk.ru
Садовская Оксана Александровна Ярославль p@mail.ru
|
|
18 декабря 2005 г. Страница 1 из 1
Рисунок 6.1
Второй отчет (Рисунок 6.2) предоставляет информацию о проживании ученых.
Проживание
фамилия имя отчество название города
Андреев Алексей Иванович Москва
фамилия имя отчество название города
Сергеева Анна Николаевна Ярославль
фамилия имя отчество название города
Воробьев Дмитрий Олегович Сыктывкар
фамилия имя отчество название города
Васильев Евгений Сергеевич Воронеж
фамилия имя отчество название города
Чащин Сергей Андреевич Вена
фамилия имя отчество название города
Ильин Павел Андреевич Ярославль
фамилия имя отчество название города
Игнатов Валерий Евгеньевич Сыктывкар
фамилия имя отчество название города
Садовская Оксана Александровна Ярославль
18 декабря 2005 г. Страница 1 из 1
Рисунок 6.2
Третий отчет (Рисунок 6.3) дает информацию о том, какой ученый и сколько сообщений он читает по каждой теме.