Подтвердить что ты не робот

Функциональная зависимость и нормализация

Я пытаюсь найти отличный ресурс для изучения функциональной зависимости и нормализации.

У кого-нибудь есть идея, на что я должен смотреть? Мне трудно отличить, находится ли FD в 1NF, 2NF или 3NF?

Я читал Википедию и использовал поиск Google, чтобы найти хорошие исследования, но не могу найти ничего, что объясняет это простыми словами.

Возможно, вы все можете поделиться тем, как вы узнали FD и нормализуете свою жизнь.

4b9b3361

Ответ 1

Функциональная зависимость определяет функциональную взаимосвязь между атрибутами. Например: PersonId функционально определяет BirthDate (обычно записывается как PersonId -> BirthDate). Другой способ сказать это: есть ровно одна дата рождения для любого заданного данного человека. Обратите внимание, что обратное может быть или не быть истинным. Многие люди, возможно, родились в тот же день. Учитывая BirthDate, мы можем найти много PersonId для обмена этой датой.

Наборы функциональных зависимостей могут использоваться для синтеза отношений (таблиц). Определение первые 3 нормальные формы, включая нормальную форму Boyce Codd (BCNF), изложены в терминах как данный набор отношений представляет собой функциональные зависимости. Четвертая и пятая нормальные формы включают многозначные зависимости (еще один чайник рыбы).

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

Ниже приведены "слайд-шоу" с разных академических сайтов...

Ниже приведены научные статьи. Более тяжелое чтение, но стоит усилий.

Если вы серьезно заинтересованы в этом вопросе, я предлагаю вам положить деньги на хорошую книгу на тему Реляционной базы данных. Например: Введение в системы баз данных по C.J. Date

Ответ 2

Функциональная зависимость - это ограничение между столбцами вашей таблицы. Например, в таблице человек:

SSN         | Name         | Date of birth | Address     | Phone number 
------------------------------------------------------------------------
123-98-1234 | Cindy Cry    | 15-05-1983    | Los Angeles | 123-456-7891
121-45-6145 | John O'Neill | 30-01-1980    | Paris       | 568-974-2562
658-78-2369 | John Lannoy  | 30-01-1980    | Dallas      | 963-258-7413

Здесь значение в столбце SSN (номер социального обеспечения) определяет значения в имени столбцов, дате рождения, адресе и номере телефона. Это означает, что если бы мы имели две строки с одинаковым значением в столбце SSN, тогда значения в имени столбцов, дате рождения, адресе и номере телефона были бы равны. Человек с SSN 123-98-1234 всегда называется Cindy Cry, родился 15-05-1983 и так далее. Подобная ситуация называется функциональной зависимостью.

Понятие функциональных зависимостей используется для определения второй и третьей нормальной формы и нормальной формы Бойса-Кодда (BCNF).

Чтобы узнать больше о функциональных зависимостях и нормализации, вы можете перейти к известным академическим учебникам, таким как введение в базы данных по дате CJ, или к любой из книг по H. Garcia-Molina, J.Ullman, J.Widom трио.

Если вы хотите менее формальный подход, мы начинаем серию сообщений о нормализации данных в нашем блоге компании.

Ответ 3

Функциональная зависимость не находится в какой-либо нормальной форме. Нормальная форма является свойством отношения, которое удовлетворяет некоторому заданному множеству FD.

Не полагайтесь на Википедию или Google. Из онлайн-источников слишком много дезинформации и мусора. Попробуйте:

Введение в системы баз данных Chris Date

Практические проблемы в управлении базами данных Фабиан Паскаль

Ответ 4

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

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

Ответ 5

Что такое функциональная зависимость?

Функциональные зависимости являются фундаментальными для процесса нормализации. Функциональная зависимость описывает взаимосвязь между атрибутами (столбцами) в таблице. Другими словами, зависимость FD: X → Y означает, что значения Y определяются значениями X. Два кортежа, имеющие одни и те же значения X, обязательно будут иметь одинаковые значения Y. введите описание изображения здесь

Что такое нормализация базы данных?

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

введите описание изображения здесь Предоставлено

Ответ 6

Функциональная зависимость

Функциональная зависимость может быть определена как отношение, которое выходит из атрибутов в отношении. Функциональные зависимости используются для создания отношения в нормальной форме Boyce Codd, сокращенно BCNF. Если C и D являются атрибутами отношения R, а атрибут C функционально определяет атрибуты D, то функциональная зависимость между обоими атрибутами может быть выражена как C- > D.

Пример: Ниже схемы пользователя

person (national_id, имя, адрес);

Здесь national_id функционально определяет имя person_. Таким образом, функциональная зависимость - national_id → name;

Функциональная зависимость важна в дизайне реляционной базы данных с целью устранения избыточности.