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

Нормализация в MYSQL

Может ли кто-нибудь помочь мне узнать, что такое нормализация в mysql, и в этом случае и как нам нужно его использовать.

Спасибо заранее.

4b9b3361

Ответ 1

Я пытаюсь объяснить здесь нормализацию в непрофессиональных терминах. Во-первых, это то, что относится к реляционной базе данных (Oracle, Access, MySQL), поэтому это не только для MySQL.

Нормализация заключается в том, чтобы убедиться, что каждая таблица имеет только минимальные поля и избавиться от зависимостей. Представьте, что у вас есть запись сотрудника, и каждый сотрудник принадлежит отделу. Если вы храните отдел как поле вместе с другими данными сотрудника, у вас есть проблема - что произойдет, если отдел удален? Вы должны обновить все поля отдела, и есть возможность для ошибок. И что, если у некоторых сотрудников нет отдела (недавно назначенного, возможно?). Теперь будут нулевые значения.

Таким образом, нормализация, вкратце, заключается в том, чтобы не иметь полей, которые были бы нулевыми, и следя за тем, чтобы все поля в таблице принадлежали только одному домену описываемых данных. Например, в таблице employee поля могут быть id, name, social security number, но эти три поля не имеют никакого отношения к отделу. Только идентификатор сотрудника описывает, к какому отделу принадлежит сотрудник. Таким образом, это означает, что какой отдел, в котором работает сотрудник, должен находиться в другой таблице.

Здесь простой процесс нормализации.

EMPLOYEE ( < employee_id >, name, social_security, department_name)

Это не нормируется, как объяснено. Нормализованная форма может выглядеть как

EMPLOYEE ( < employee_id >, name, social_security)

Здесь таблица Employee отвечает только за один набор данных. Итак, где мы храним тот отдел, к которому принадлежит сотрудник? В другой таблице

EMPLOYEE_DEPARTMENT ( < employee_id >, department_name )

Это не оптимально. Что, если название отдела изменится? (это происходит в правительстве США все время). Следовательно, лучше сделать это

EMPLOYEE_DEPARTMENT ( < employee_id >, department_id )
DEPARTMENT ( < department_id >, department_name )

Есть первая нормальная форма, вторая нормальная форма и третья нормальная форма. Но если вы не изучаете курс БД, я обычно просто предпочитаю самую нормализованную форму, которую я мог бы понять.

Надеюсь, что это поможет.

Ответ 2

Нормализация не только для MYSql. Его общая концепция базы данных.

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

Нормальные формы в SQL приведены ниже.

Первая нормальная форма (1NF): отношение сказал, что находится в 1NF, если он однозначные атрибуты, ни повторяются или массивы.

Вторая нормальная форма (2NF): отношение как говорят, находится в 2NF, если он находится в 1NF и каждый атрибут без ключа полностью функциональный, зависящий от первичного ключ.

Третья нормальная форма (3NF): Мы говорим, что a отношение находится в 3NF, если оно находится в 2NF и не имеет транзитивных зависимостей.

Нормальная форма Boyce-Codd (BCNF): A считается, что отношение находится в BCNF, если и только если каждый определитель в отношение является ключом кандидата.

Четвертая нормальная форма (4NF): отношение как говорят, находится в 4NF, если он находится в BCNF и не содержит многозначной зависимости.

Пятая нормальная форма (5NF): отношение сказал, что он находится в 5NF, если и только если каждый подразумевается зависимость соединения в отношении по ключам-кандидатам отношения.

Нормальная форма доменного ключа (DKNF): Мы говорим что отношение находится в DKNF, если оно без всяких аномалий модификации. Вставка, удаление и обновление аномалии аномалии

Отпечаток также

Основы нормализации базы данных

Ответ 3

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

См. статью в Википедии о Нормализация базы данных.

(Это общий метод для реляционных баз данных, не относящийся к MySQL.)

Ответ 4

Проверить этот сообщение имеет полезные предложения

Учебник Barry по пониманию схемы базы данных

http://www.youtube.com/watch?v=KqvIGYjcLQ4 

Ответ 5

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

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

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

  • Для отношения "один-к-одному" (например, A Студент имеет уникальный ранг в класс), та же таблица может использоваться для хранить столбцы (из обеих таблиц).
  • Для отношения "один ко многим" (например. Семестр может иметь несколько курсы), иностранный ключ созданный в родительской таблице.
  • Для отношения "многие ко многим" (например. Профессор посещает много студентов и наоборот), третья таблица должна (с первичным ключом из обе таблицы в виде составного ключа) и связанные данные обеих таблиц будут сохраняться.

После того, как вы рассмотрите все эти сценарии, ваша db-схема будет нормализована до 4NF.

Ответ 6

В области реляционной базы данных дизайн, нормализация является систематическим способ обеспечения того, чтобы база данных структура подходит для универсальный запрос и свободный некоторые нежелательные характеристики-вставка, обновление и аномалии удаления, которые могут привести к потеря целостности данных. [1] Е.Ф. Кодд, изобретатель реляционной модель, представила концепцию нормализации и того, что мы теперь знаем как первая нормальная форма в 1970 году. [2] Codd продолжил определение второго и третьего нормальные формы в 1971 году, [3] и Кодд и Раймонд Ф. Бойс определил Нормальная форма Бойса-Кодда в 1974 году. [4] Высшие нормальные формы были определены формулой другие теоретики в последующие годы, последнее из которых является шестым нормальным форма, введенная Крисом Дайтом, Хью Дарвен и Никос Лоренцос в 2002. [5]

Неформально реляционная база данных таблица (компьютеризированное представление отношения) часто описывается как "нормализован", если он находится в третьем нормальная форма (3NF). [6] Большинство таблиц 3NF без вставки, обновления и аномалии удаления, то есть в большинстве случаев Таблицы 3NF соответствуют BCNF, 4NF и 5NF (но обычно не 6NF).

Стандартная часть дизайна базы данных что разработчик должен создать полностью нормализованный дизайн; выборочная денормализация может впоследствии выполняются для производительности [7]. Однако некоторые дисциплин моделирования, таких как трехмерный подход к данным дизайн склада, явным образом рекомендую ненормированные конструкции, т.е. конструкции что в значительной степени не придерживаются 3NF. [8]

Изменить: Источник: http://en.wikipedia.org/wiki/Database_normalization