Контрольная работа: Нормализация таблиц в реляционной модели базы данных
Таблица 1.9 - Таблица “Порты”
Судно | Рейс | Порт | Прибытие | Отправление |
528 | 9203W | HNL | 6/6/92 | 6/8/92 |
528 | 9203W | OSA | 6/19/92 | 6/21/92 |
528 | 9204W | PAP | 7/10/92 | 7/11/92 |
528 | 9204W | HNL | 8/27/92 | 8/29/92 |
528 | 9203W | OSA | 7/15/92 | 7/18/92 |
603 | 9203W | INC | 6/25/92 | 6/28/92 |
531 | 9204W | SYD | 8/28/92 | 9/2/92 |
528 | 9204W | OSA | 9/30/92 | 10/2/92 |
528 | 9203W | SFO | 5/31/92 | |
603 | 9203W | OAK | 6/5/92 | |
531 | 9204W | LAX | 6/20/92 | |
528 | 9204W | SFO | 6/20/92 |
Невозможно восстановить исходную таблицу из объединенных таблиц Рейсы и Порты, поскольку не сможете отличить строку отправления от других строк по значениям ее полей в таблице. Чтобы отличить строки отправлений, можно было бы использовать значения Null в поле Прибытие, однако значение Null должно быть зарезервированным для условия “данные недоступны". Необходимо устранить любые двусмысленности, которые могут привести к появлению значений Null, и преобразовать таблицу в пятую нормальную форму, добавив односимвольное поле Тип, определяющее прибытие или отправление. В показанной таблице 1.10 Порты коды Е и S представляют соответственно погрузку (Embarkation) и ожидаемое прибытие (Scheduled). Могут также использоваться коды M для заправки (Maintenance) и R- для обратного рейса (Returnvoyage).
Таблица 1.10 - Таблица “Порты”
Судно | Рейс | Порт | Тип | Прибытие | Отправление |
528 | 9203W | HNL | S | 6/6/92 | 6/8/92 |
528 | 9203W | OSA | S | 6/19/92 | 6/21/92 |
528 | 9204W | PAP | S | 7/10/92 | 7/11/92 |
528 | 9204W | HNL | S | 8/27/92 | 8/29/92 |
528 | 9203W | OSA | S | 7/15/92 | 7/18/92 |
603 | 9203W | INC | S | 6/25/92 | 6/28/92 |
531 | 9204W | SYD | S | 8/28/92 | 9/2/92 |
528 | 9204W | OSA | S | 9/30/92 | 10/2/92 |
528 | 9203W | SFO | E | 5/31/92 | |
603 | 9203W | OAK | E | 6/5/92 | |
531 | 9204W | LAX | E | 6/20/92 | |
528 | 9204W | SFO | E | 6/20/92 |
2. Реляционная алгебра над учебной базой
R1 - список абитуриентов, сдававших репетиционные вступительные экзамены;
R2 - список абитуриентов, сдававших вступительные экзамены на общих основаниях;
R3 - список абитуриентов, принятых в институт.
Необходимо написать ответ на запрос в виде формулы реляционной алгебры. Запрос: “Список абитуриентов, которые поступали два раза и поступили в вуз".
Таблица 2.1 - Отношение R1
Обозначение записи | ФИО абитуриента | Номер и серия паспорта | № Школы |
a | Жилкова О.А. | 32 05 4237 | № 31 |
b | Богач Д.О. | 34 07 4385 | № 42 |
с | Конопелько О.П. | 37 08 4282 | № 56 |
d | Кочкина Т.В. | 38 02 3458 | № 52 |
e | Докучаев Ю.А. | 58 02 3718 | № 62 |
f | Богданова Ю.В. | 38 72 4290 | № 48 |
g | Сидорова С.И. | 39 52 4870 | № 45 |
h | Сидоров А.А. | 38 59 3295 | № 46 |
l | Тарабрина Л.В. | 40 58 2598 | № 49 |
Таблица 2.2 - Отношение R2
Обозначение записи | ФИО абитуриента | Номер и серия паспорта | № Школы |
a | Жилкова О.А. | 32 05 4237 | № 31 |
b | Богач Д.О. | 34 07 4385 | № 42 |
d | Кочкина Т.В. | 38 02 3458 | № 52 |
h | Сидоров А.А. | 38 59 3295 | № 46 |
m | Тарабрин В.В. | 35 92 4058 | №48 |
n | Голоушкина В.А. | 38 92 4259 | № 52 |
o | Токарева М.А. | 39 98 4085 | № 46 |
p | Круглова Т.Ю. | 32 58 3498 | № 47 |
Таблица 2.3 - Отношение R3
Обозначение записи | ФИО абитуриента | Номер и серия паспорта | № Школы |
a | Жилкова О.А. | 32 05 4237 | № 31 |
b | Богач Д.О. | 34 07 4385 | № 42 |
d | Кочкина Т.В. | 38 02 3458 | № 52 |
h | Сидоров А.А. | 38 59 3295 | № 46 |
p | Круглова Т.Ю. | 32 58 3498 | № 47 |
с | Конопелько О.П. | 37 08 4282 | № 56 |
Операция реляционной алгебры - “пересечение".
R1 (a,b,c,d,e,f,g,h,l) R2 (a,b,d,h,m,n,o,p) =R3 (a,b,d,h)
3. База данных для предметной области “Учебные пособия"
????????????????? ????????????? ?????????? ? ???? ?????.
Приведение к третьей нормальной форме.
первая нормальная форма - каждое поле таблицы представляет уникальный тип информации;
Таблица “Дисциплины" - номер дисциплины, наименование дисциплины, количество часов;
Таблица “Пособия” - номер пособия, ФИО автора, Номер дисциплины;
Таблица “Специальности” - номер специальности, наименование специальности;
вторая нормальная форма - каждая таблица должна иметь первичный ключ, который может состоять из одного Ии нескольких полей.
Таблица “Дисциплины" - номер дисциплины;
Таблица “Пособия” - номер пособия;
Таблица “Специальности” - номер специальности.
третья нормальная форма - столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Для связывания таблиц “Дисциплины" и “Специальности” необходимо создать дополнительную таблицу “Дисциплины-Специальности".
Таблица “Дисциплины-Специальности" - номер дисциплины, номер специальности.
Данные таблиц.
Таблица 3.1 - Таблица “Дисциплины”
Номер дисциплины | Наименование дисциплины | Количество часов |
1 | Информатик | 132 |
2 | Экономика | 180 |
3 | Базы данных | 72 |
4 | Основы бухгалтерского учета | 86 |
5 | Основы программирования | 92 |
6 | Теория вероятностей и математическая статистика | 146 |
7 | Мировая экономика | 112 |
8 | Компьютерные сети | 98 |
Таблица 3.2 - Таблица “Пособия”
Номер пособия | ФИО автора | Номер дисциплины |
1 | Джон Вейкас | 3 |
2 | Роджер Дженнингс | 3 |
3 | Вирджиния Андерсон | 1 |
4 | Попов А.А. | 1 |
5 | Булатов А.С. | 2 |
6 | Бендина Н.В. | 4 |
7 | Видяпин В.И. | 2 |
8 | Дурович А.П. | 4 |
9 | Коуров Л.В. | 1 |
10 | Кашанин Т.В. | 7 |
11 | Гмурман В.Е. | 6 |
12 | Кенин А.М. | 8 |
13 | Питер Эйткен | 5 |
14 | Подбельский В.В. | 5 |
15 | Вендров А.М. | 7 |
16 | Рапаков Г.Г. | 8 |
17 | Якушева Г.В. | 6 |
18 | Комягина В.Б. | 4 |
19 | Бердиченко Е.В. | 7 |
Таблица 3.3 - Таблица “Специальности”
Номер дисциплины | Наименование дисциплины |
101170 | Прикладная информатика в экономике |
220135 | Программное обеспечение ВТ и АС |
11370 | Бухгалтерский учет |
13568 | Экономическая теория |
73809 | Администрирование компьютерных сетей |
Таблица 3.4 - Таблица “Дисциплины - Специальности"
Номер специальности | Номер дисциплины |
101170 | 1 |
101170 | 5 |
101170 | 6 |
101170 | 2 |
101170 | 7 |
220135 | 1 |
220135 | 5 |
220135 | 6 |
220135 | 3 |
11370 | 1 |
11370 | 4 |
11370 | 2 |
13568 | 2 |
13568 | 6 |
13568 | 7 |
13568 | 1 |
73809 | 3 |
73809 | 5 |
73809 | 8 |
Создание таблиц. Для создания запросов выбрана СУБД ACCESS.