47748 (572070), страница 2

Файл №572070 47748 (Нормализация таблиц в реляционной модели базы данных) 2 страница47748 (572070) страница 22016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

Например, необходимо ввести в базу данных еще и служащих, членов команд кораблей (капитанов, инженеров и т.п.). Для этого необходимо добавить в таблицу Суда коды служащих, являющиеся первичными ключами таблицы Служащие, показанные в таблице 1.7

Таблица 1.7 - Таблица с транзитивным отношением между судами и служащими команды.

Судно

Название

Капитан

Старший помощник

Первый помощник

528

Japan Bear

01023

01155

01367

603

Korea Bear

00955

01203

00823

531

China Bear

00721

00912

01251

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

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

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

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

Судно

Рейс

Порт

Отправление в

Капитан

Старший помощник

Первый помощник

528

9203W

SFO

HNL

01023

01156

01367

528

9203W

HNL

HNL

01023

01156

01367

528

9203W

HNL

OSA

01023

01156

01367

528

9203W

OSA

OSA

01023

01156

01367

528

9203W

OSA

INC

01023

01156

01367

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

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

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

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


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

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

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

Таблица 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 - для обратного рейса (Return voyage).

Таблица 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

Операция реляционной алгебры - “пересечение".

Характеристики

Тип файла
Документ
Размер
3,62 Mb
Учебное заведение
Неизвестно

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7026
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее