Нормализация таблиц в реляционной модели базы данных

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

·начения полей Порт (порт отправления) и Отправление в (порт прибытия) создают записи для тех членов команды, которые несут ответственность за судно во время его пребывания в порту. Таблица Команды относится к категории связующих таблиц, поскольку все поля связаны с первичными ключами основных таблиц (Суда, Рейсы, Порты и Служащие) или являются частью этих таблиц.

Таблица 1.8 - Таблица “Команды”

СудноРейсПортОтправление вКапитанСтарший помощникПервый помощник5289203WSFOHNL0102301156013675289203WHNLHNL0102301156013675289203WHNLOSA0102301156013675289203WOSAOSA0102301156013675289203WOSAINC010230115601367

Теперь все таблицы являются плоскими, не содержат повторяющейся информации, за исключением данных, используемых в ключах. Все эти таблицы удовлетворяют требованиям первой, второй и третьей нормальной форм.

 

1.5 Четвертая нормальная форма

 

Чтобы база данных находилась в четвертой нормальной форме, необходимо, чтобы независимые элементы данных, между которыми существует связь типа многие-ко-многим, не хранились в одной таблице. Таблица команды не находится в четвертой нормальной форме, поскольку связи многие-ко-многим установлены между ее полем судно и полями с кодами членов команды.

Многие разработчики приложений баз данных игнорируют четвертую и пятую нормальные формы в своих программных продуктах, поскольку считают их весьма специфическими. Результатом этого зачастую является создание базы данных неправильной структуры, хотя это совсем не означает, что она не будет функционировать.

1.6 Пятая нормальная форма

 

Пятая нормальная форма требует обеспечения возможности точного восстановления исходной таблицы из таблиц, на которых она основана. Построение пятой нормальной формы требует удовлетворения требований третьей нормальной формы и, при наличии связей многие-ко-многим, соответствия правилам четвертой.

Таблица Рейсы очень похожа на таблицу Порты. Столбец прибытие из аналогичен столбцу Порт, а столбец Погрузка - столбцу Отправление. именно по этой причине можно переместить данные таблицы Рейсы в таблицу порты и удалить таблицу Рейсы. новая таблица порты показана в таблице 1.9 Значения столбца Прибытие для записей, внесенных в таблицу Порты из таблицы рейсы, не определены (не существуют), так как в таблице Рейсы были указаны только даты отравления.

 

Таблица 1.9 - Таблица “Порты”

СудноРейсПортПрибытиеОтправление5289203WHNL6/6/926/8/925289203WOSA6/19/926/21/925289204WPAP7/10/927/11/925289204WHNL8/27/928/29/925289203WOSA7/15/927/18/926039203WINC6/25/926/28/925319204WSYD8/28/929/2/925289204WOSA9/30/9210/2/925289203WSFO5/31/926039203WOAK6/5/925319204WLAX6/20/925289204WSFO6/20/92

Невозможно восстановить исходную таблицу из объединенных таблиц Рейсы и Порты, поскольку не сможете отличить строку отправления от других строк по значениям ее полей в таблице. Чтобы отличить строки отправлений, можно было бы использовать значения Null в поле Прибытие, однако значение Null должно быть зарезервированным для условия “данные недоступны". Необходимо устранить любые двусмысленности, которые могут привести к появлению значений Null, и преобразовать таблицу в пятую нормальную форму, добавив односимвольное поле Тип, определяющее прибытие или отправление. В показанной таблице 1.10 Порты коды Е и S представляют соответственно погрузку (Embarkation) и ожидаемое прибытие (Scheduled). Могут также использоваться коды M для заправки (Maintenance) и R - для обратного рейса (Return voyage).

 

Таблица 1.10 - Таблица “Порты”

СудноРейсПортТипПрибытиеОтправление5289203WHNLS6/6/926/8/925289203WOSAS6/19/926/21/925289204WPAPS7/10/927/11/925289204WHNLS8/27/928/29/925289203WOSAS7/15/927/18/926039203WINCS6/25/926/28/925319204WSYDS8/28/929/2/925289204WOSAS9/30/9210/2/925289203WSFOE5/31/926039203WOAKE6/5/925319204WLAXE6/20/925289204WSFOE6/20/92

2. Реляционная алгебра над учебной базой

 

R1 - список абитуриентов, сдававших репетиционные вступительные экзамены;

R2 - список абитуриентов, сдававших вступительные экзамены на общих основаниях;

R3 - список абитуриентов, принятых в институт.

Необходимо написать ответ на запрос в виде формулы реляционной алгебры. Запрос: “Список абитуриентов, которые поступали два раза и поступили в вуз".

 

Таблица 2.1 - Отношение R1

Обозначение записиФИО абитуриентаНомер и серия паспорта№ ШколыaЖилкова О.А. 32 05 4237№ 31bБогач Д.О. 34 07 4385№ 42сКонопелько О.П. 37 08 4282№ 56dКочкина Т.В. 38 02 3458№ 52eДокучаев Ю.А. 58 02 3718№ 62fБогданова Ю.В. 38 72 4290№ 48gСидорова С.И. 39 52 4870№ 45hСидоров А.А. 38 59 3295№ 46lТарабрина Л.В. 40 58 2598№ 49

Таблица 2.2 - Отношение R2

Обозначение записиФИО абитуриентаНомер и серия паспорта№ ШколыaЖилкова О.А. 32 05 4237№ 31bБогач Д.О. 34 07 4385№ 42dКочкина Т.В. 38 02 3458№ 52hСидоров А.А. 38 59 3295№ 46mТарабрин В.В. 35 92 4058№48nГолоушкина В.А. 38 92 4259№ 52oТокарева М.А. 39 98 4085№ 46pКруглова Т.Ю. 32 58 3498№ 47

Таблица 2.3 - Отношение R3

Обозначение записиФИО абитуриентаНомер и серия паспорта№ ШколыaЖилкова О.А. 32 05 4237№ 31bБогач Д.О. 34 07 4385№ 42dКочкина Т.В. 38 02 3458№ 52hСидоров А.А. 38 59 3295№ 46pКруглова Т.Ю. 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. База данных для предметной области “Учебные пособия"

 

Ненормализованное представление информации в виде схемы.

 

 

Приведение к третьей нормальной форме.

первая нормальная форма - каждое поле таблицы представляет уникальный тип информации;

Таблица “Дисциплины" - номер дисциплины, наименование дисциплины, количество часов;

Таблица “Пособия” - номер пособия, ФИО автора, Номер дисциплины;

Таблица “Специальности” - номер специальности, наименование специальности;

вторая нормальная форма - каждая таблица должна име