Что такое первая нормальная форма?

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

Первая нормальная форма, написанная как 1NF, устанавливает основные правила нормализации данных и является первой формой, используемой при нормализации данных таблиц. Он устанавливает определенные базовые принципы нормализации данных, которые должны выполняться каждой таблицей. Некоторые из принципов приведены ниже:

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

Как работает первая нормальная форма?

Согласно основным принципам 1NF, упомянутым выше,

  • Не должно быть составных значений для столбца, который можно разделить дальше. Если в таблице есть столбец, имеющий значение, которое можно разделить далее, то для этого атрибута должна быть создана отдельная таблица с различными столбцами в этой таблице с уникальный первичный ключ. Например, в таблице Employee для адреса employee_address, который можно разделить далее, должна быть отдельная таблица Employee_address, в которой Employee_id имеет свой первичный ключ, а номер дома, город и пин-код - разные столбцы.

Стол сотрудника (до 1НФ)

emp_idEmp_nameEmp_ageEmp_address
101Рагу25Xyz колония, агра, 258996
102Ракеш28Квартира 304, XYZ Road, Лакхнау, 568975
103Рахул45Дом №123, возле больницы, Варанаси, 245687

Поскольку у Emp_address столько данных для адреса, что для одного сотрудника в 1NF вышеприведенная таблица может быть разбита на две приведенные ниже таблицы:

Таблица 1: Employee_details (после 1NF)

emp_idEmp_nameEmp_age
101Рагу25
102Ракеш28
103Рахул45

Таблица 2: Адрес сотрудника (после 1НФ)

emp_idEmp_housenoEmp_cityEmp_pincode
101Дом № 564, Xyz колонияАгра258996
102Квартира 304, XYZ RoadЛакхнау568975
103Дом №123, возле больницыVaranasi245687
    Должны быть атомарные значения для столбца, который неделим в 1NF. Например, в таблице Employee может быть несколько объектов Emp_project, которые он / она обрабатывал до сих пор. Для того, чтобы иметь запись всех проектов этого сотрудника, должна быть отдельная запись для каждого проекта сотрудника, имеющего уникальную ценность, вместо того, чтобы проекты были разделены знаком «, »

Таблица: Emp_projects (до 1NF)

emp_idEmp_years_of_ex perienceemp_deptEmp_projects
1013ЭТОазбука, JKL
1022ЭТОBCD
1035СчетаABC, CFG, XYZ, HJK

Таблица: Emp_projects (после 1NF)

emp_idEmp_years_of_ex perienceemp_deptEmp_projects
1013ЭТОазбука
1013ЭТОJKL
1022ЭТОBCD
1035Счетаазбука
1035СчетаCFG
1035Счетахуг
1035СчетаХИК

Таблица: Emp_projects, имеющие несколько повторяющихся значений в приведенном выше примере, можно разбить на две таблицы, чтобы уменьшить количество повторений:
В таблице не должно быть повторяющихся значений. Повторяющиеся значения занимают много дополнительной памяти, а также замедляют поиск и обновление, а обслуживание базы данных становится трудным. Например, в приведенной выше таблице Employee_Projects есть много ненужных повторяющихся значений Emp_id, Emp_years_of_experience и Emp_dept, поэтому для этого необходимо создать новую таблицу, чтобы уменьшить количество повторений значений.

Таблица 1:

emp_idEmp_years_of_experienc eemp_dept
1013ЭТО
1022ЭТО
1035Счета

Таблица 2:

emp_idEmp_projects
101азбука
101JKL
102BCD
103азбука
103CFG
103хуг
103ХИК

Преимущества первой нормальной формы

Ниже приведены некоторые преимущества первой нормальной формы (1NF):

  • Одним из основных преимуществ 1NF является то, что он удаляет ненужные повторяющиеся значения путем создания отдельной таблицы и, следовательно, не создает никаких проблем при вставке, удалении и обновлении значений в базе данных.
  • Работать с таблицами, имеющими столбцы с несколькими значениями, разделенными символом «, », очень сложно, при поиске определенного значения в базе данных путем разделения всех значений столбца и повторного преобразования их в определенный формат, тратя много времени и памяти в этом. 1NF упрощает создание различных строк для разных значений.
  • 1NF формирует основу и является главным принципом, которому следует руководствоваться при создании базы данных, и, следовательно, является наиболее важной нормальной формой для дальнейших нормализации таблиц с помощью 2NF и 3NF.
  • 1NF важен, поскольку он создает функциональную зависимость между двумя таблицами, используя первичный ключ и внешний ключ, который играет решающую роль при работе с таблицами базы данных.
  • 1NF позволяет пользователям эффективно использовать запросы к базе данных, поскольку устраняет неоднозначность, удаляя пустые и множественные значения столбца, что создает серьезные проблемы в будущем при обновлении и извлечении базы данных.

Вывод

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

Рекомендуемые статьи

Это руководство к первой нормальной форме. Здесь мы обсуждаем определение, работу и преимущества первой нормальной формы вместе с ее примерами. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  • Что такое MySQL?
  • Что такое схема MySQL?
  • Операторы MySQL
  • MySQL Server