Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2022, 14:49   #1
vika30
Новичок
Джуниор
 
Регистрация: 04.10.2022
Сообщений: 2
По умолчанию Нормальные формы в БД

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

Вопрос 1. Укажите наименьшую нормальную форму, нарушенную в отношении "Кино(Название фильма, Режиссер, Актеры)"
a. 1НФ
b. 2НФ
c. 3НФ
d. НФ Бойса-Кодда
Вопрос 2. Укажите наименьшую нормальную форму, нарушенную в отношении "Аэропорт(Рейс, Дата-время-отправления, Тип-самолета, Общее-количество-мест-в- самолете, Количество-проданных-билетов)"
a. 1НФ
b. 2НФ
c. 3НФ
d. НФ Бойса-Кодда
Вопрос 3. Укажите наименьшую нормальную форму, нарушенную в отношении "Баскетбол(Название команды, Клуб, Тренер, Игрок, Рост_Игрока)"
a. 1НФ
b. 2НФ
c. 3НФ
d. НФ Бойса-Кодда
Вопрос 4. Укажите наименьшую нормальную форму, нарушенную в отношении "Университет(Название, Юридический адрес, Ректор, Факультет, Декан)"
a. 1НФ
b. 2НФ
c. 3НФ
d. НФ Бойса-Кодда
vika30 вне форума Ответить с цитированием
Старый 04.10.2022, 15:22   #2
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

Здравствуй, Вика! Давай решать вместе. Напиши сюда определения для каждой НФ.
Valick вне форума Ответить с цитированием
Старый 04.10.2022, 15:51   #3
vika30
Новичок
Джуниор
 
Регистрация: 04.10.2022
Сообщений: 2
По умолчанию

Мы говорим, что отношение находится в первой нормальной форме, если значения его атрибутов не являются множествами или кортежами. Например, в таблице, если у нас есть один атрибут Фирма, а другой атрибут, соответствующий адресу, содержит подполя Город, Улица и Дом, то такое отношение не будет находиться в первой нормальной форме. Или вспомним нашу таблицу, в которой у нас был номер группы и список всех студентов. Такое отношение также не находится в первой нормальной форме.

Следующая нормальная форма — вторая. Для этого вспомним определение первичного атрибута. Атрибут называется первичным, если он входит в состав любого возможного ключа. Дадим определение второй нормальной форме. Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, плюс любой атрибут, не являющийся первичным, полностью зависит от любого его ключа, но не от подмножества ключей. Например, наша таблица: Фирма, Адрес, Телефон, Товар и Цена. Мы с вами выявили там следующие зависимости: что ключом данной таблицы является фирма и товар. Это набор атрибутов, которые позволяют определить все остальные. Но также в этом отношении присутствует зависимость, что Фирма определяет Адрес и Телефон. Таким образом мы получаем, что у нас есть зависимость от части ключа, но не полностью от набора ключевых атрибутов. Таким образом вторая форма в данном случае нарушена.

Для того, чтобы ввести понятие третьей нормальной формы, нам нужно поговорить о транзитивной зависимости. Транзитивная зависимость заключается в том, что если у нас есть атрибуты A, B и C, A функционально определяет B, а B функционально определяет C, то зависимость из A в C называется транзитивной. Или говорят, что C транзитивно зависит от A. Мы говорим, что наше отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и любой атрибут, не являющийся первичным, не транзитивно зависит от любого возможного ключа. Можно сказать иначе, может быть, это пояснит картину: что отношение находится в третьей нормальной форме тогда и только тогда, когда отношение находится во второй нормальной форме, и все неключевые атрибуты взаимно независимы.

Давайте рассмотрим пример. Например, таблица, в которой мы храним информацию об адресе, в ней есть три поля: Город, Индекс и Адрес. Какие мы можем заметить зависимости в этой таблице? Мы знаем, что у нас индекс определяет город, то есть, зная индекс, мы всегда можем определить город, откуда было отправлено, например, письмо. Или если мы знаем город и адрес, то мы сможем узнать индекс нашего почтового отделения. В таком случае у нас есть два возможных набора атрибутов, которые могут стать ключами. Это либо город и адрес, либо индекс и адрес. В таком случае у нас нет зависимостей, которые бы нарушали третью нормальную форму, и наше отношение в этой третьей нормальной форме находится.

Рассмотрим еще один пример. Представим, что у нас есть таблица, в которой мы храним информацию о товарах, которые хранятся в каком-то магазине или универмаге. Например, в таблице будут столбцы Универмаг, Товар, Номер отдела и Заведующий. Какие зависимости мы можем здесь увидеть? Мы понимаем, что универмаг с товаром определяют номер отдела, в котором должен продаваться этот товар. И универмаг с номером отдела определяют заведующего. Ключом в этом отношении будет являться комбинация атрибутов Универмаг и Товар. Эта комбинация дает нам возможность определить все остальные атрибуты. Таким образом мы видим, что у нас заведующий транзитивно зависит от ключа, потому что он не напрямую зависит от универмага и товара, а зависит как бы через номер отдела. В таком случае мы видим, что у нас третья нормальная форма нарушена.

Следующая нормальная форма. Она называется нормальной формой Бойса-Кодда по имени ее создателя. Она говорит о том, что если у нас есть в отношении зависимость из некого множества атрибутов X и множества атрибутов A, при этом A не является подмножеством X, то X содержит ключ нашего отношения.

Для того, чтобы проиллюстрировать этот пример, давайте снова вернемся к нашей таблице Город, Индекс и Адрес. Мы заметили там следующие зависимости: что город с адресом определяет индекс, а индекс определяет город. Мы рассматривали две возможности для выбора ключа: либо это Город и Адрес, либо это Индекс и Адрес. Вот зависимость, когда у нас из Индекса следует Город, она нарушает нормальную форму Бойса-Кодда, потому что зависимость в схеме присутствует, а поле Индекс ключа не содержит. Что сделать с этой таблицей? Если мы разобьем ее на две — Город и Индекс и Индекс, Адрес — то у нас пропадает зависимость между Городом и Адресом, зависимость в поле Индекс.

Какой вывод мы можем сделать? Мы можем привести любое наше отношение к нормальной форме, к первой, второй, третьей и Бойса-Кодда таким образом, чтобы декомпозиция обладала свойством соединения без потерь. Любая схема может быть приведена к третьей нормальной форме, и при этом она будет соединяться без потерь и сохраняет все функциональные зависимости. Но можно заметить, что третья нормальная форма не избавляет нас от всех аномалий избыточности, но сохраняет все функциональные зависимости. А вот нормальная форма Бойса-Кодда, она избавляет нас от всех возможных аномалий, но в процессе приведения к нормальной форме Бойса-Кодда мы можем потерять некоторые функциональные зависимости.
vika30 вне форума Ответить с цитированием
Старый 04.10.2022, 16:20   #4
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

Это не то что я хотел увидеть... Вот то https://ru.wikipedia.org/wiki/Нормальная_форма
Valick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ibexpert.Нормальные формы. 7292Игорь SQL, базы данных 0 10.12.2017 11:17
Нормальные алгоритмы Маркова ksesh Помощь студентам 4 17.04.2015 17:20
Нормальные формы lazygirl90 Помощь студентам 1 29.08.2012 20:35
Нормальные алгоритмы Маркова. hgh Помощь студентам 1 06.11.2011 00:49
Определить нормальные формы Irina91 БД в Delphi 3 20.01.2011 18:54