Что такое первая нормальная форма?
Прежде чем понять Первую Нормальную Форму, нужно знать, что такое Нормализация и почему это делается? Нормализация в общих чертах - это метод организации данных в базу данных с целью уменьшения количества аномалий вставки, удаления и обновления и устранения избыточности данных. Этот процесс делит большие таблицы на более мелкие и связывает их друг с другом через отношения первичного и внешнего ключей. Дублированные и ненормализованные данные не только потребляют дополнительную память, но и затрудняют управление таблицей при вставке, удалении и обновлении таблиц по мере увеличения количества данных. Поэтому очень важно нормализовать таблицы перед проектированием базы данных любого приложения.
Первая нормальная форма, написанная как 1NF, устанавливает основные правила нормализации данных и является первой формой, используемой при нормализации данных таблиц. Он устанавливает определенные базовые принципы нормализации данных, которые должны выполняться каждой таблицей. Некоторые из принципов приведены ниже:
- Каждый столбец должен иметь одно атомарные (значения, которые не могут быть разделены далее) значения.
- Каждый столбец в таблице не имеет составных значений и повторяющихся значений, так как это затрудняет поиск значений для столбца, имеющего несколько значений. Таким образом, каждый столбец должен иметь одно уникальное значение.
- Значения, хранящиеся в столбце, должны относиться к тому же домену, что и 1NF.
- Все столбцы, представленные в таблице, должны иметь уникальные имена.
- Таблица должна иметь уникальный первичный ключ, который используется для различного определения каждой записи.
Как работает первая нормальная форма?
Согласно основным принципам 1NF, упомянутым выше,
- Не должно быть составных значений для столбца, который можно разделить дальше. Если в таблице есть столбец, имеющий значение, которое можно разделить далее, то для этого атрибута должна быть создана отдельная таблица с различными столбцами в этой таблице с уникальный первичный ключ. Например, в таблице Employee для адреса employee_address, который можно разделить далее, должна быть отдельная таблица Employee_address, в которой Employee_id имеет свой первичный ключ, а номер дома, город и пин-код - разные столбцы.
Стол сотрудника (до 1НФ)
emp_id | Emp_name | Emp_age | Emp_address |
101 | Рагу | 25 | Xyz колония, агра, 258996 |
102 | Ракеш | 28 | Квартира 304, XYZ Road, Лакхнау, 568975 |
103 | Рахул | 45 | Дом №123, возле больницы, Варанаси, 245687 |
Поскольку у Emp_address столько данных для адреса, что для одного сотрудника в 1NF вышеприведенная таблица может быть разбита на две приведенные ниже таблицы:
Таблица 1: Employee_details (после 1NF)
emp_id | Emp_name | Emp_age |
101 | Рагу | 25 |
102 | Ракеш | 28 |
103 | Рахул | 45 |
Таблица 2: Адрес сотрудника (после 1НФ)
emp_id | Emp_houseno | Emp_city | Emp_pincode |
101 | Дом № 564, Xyz колония | Агра | 258996 |
102 | Квартира 304, XYZ Road | Лакхнау | 568975 |
103 | Дом №123, возле больницы | Varanasi | 245687 |
- Должны быть атомарные значения для столбца, который неделим в 1NF. Например, в таблице Employee может быть несколько объектов Emp_project, которые он / она обрабатывал до сих пор. Для того, чтобы иметь запись всех проектов этого сотрудника, должна быть отдельная запись для каждого проекта сотрудника, имеющего уникальную ценность, вместо того, чтобы проекты были разделены знаком «, »
Таблица: Emp_projects (до 1NF)
emp_id | Emp_years_of_ex perience | emp_dept | Emp_projects |
101 | 3 | ЭТО | азбука, JKL |
102 | 2 | ЭТО | BCD |
103 | 5 | Счета | ABC, CFG, XYZ, HJK |
Таблица: Emp_projects (после 1NF)
emp_id | Emp_years_of_ex perience | emp_dept | Emp_projects |
101 | 3 | ЭТО | азбука |
101 | 3 | ЭТО | JKL |
102 | 2 | ЭТО | BCD |
103 | 5 | Счета | азбука |
103 | 5 | Счета | CFG |
103 | 5 | Счета | хуг |
103 | 5 | Счета | ХИК |
Таблица: Emp_projects, имеющие несколько повторяющихся значений в приведенном выше примере, можно разбить на две таблицы, чтобы уменьшить количество повторений:
В таблице не должно быть повторяющихся значений. Повторяющиеся значения занимают много дополнительной памяти, а также замедляют поиск и обновление, а обслуживание базы данных становится трудным. Например, в приведенной выше таблице Employee_Projects есть много ненужных повторяющихся значений Emp_id, Emp_years_of_experience и Emp_dept, поэтому для этого необходимо создать новую таблицу, чтобы уменьшить количество повторений значений.
Таблица 1:
emp_id | Emp_years_of_experienc e | emp_dept |
101 | 3 | ЭТО |
102 | 2 | ЭТО |
103 | 5 | Счета |
Таблица 2:
emp_id | Emp_projects |
101 | азбука |
101 | JKL |
102 | BCD |
103 | азбука |
103 | CFG |
103 | хуг |
103 | ХИК |
Преимущества первой нормальной формы
Ниже приведены некоторые преимущества первой нормальной формы (1NF):
- Одним из основных преимуществ 1NF является то, что он удаляет ненужные повторяющиеся значения путем создания отдельной таблицы и, следовательно, не создает никаких проблем при вставке, удалении и обновлении значений в базе данных.
- Работать с таблицами, имеющими столбцы с несколькими значениями, разделенными символом «, », очень сложно, при поиске определенного значения в базе данных путем разделения всех значений столбца и повторного преобразования их в определенный формат, тратя много времени и памяти в этом. 1NF упрощает создание различных строк для разных значений.
- 1NF формирует основу и является главным принципом, которому следует руководствоваться при создании базы данных, и, следовательно, является наиболее важной нормальной формой для дальнейших нормализации таблиц с помощью 2NF и 3NF.
- 1NF важен, поскольку он создает функциональную зависимость между двумя таблицами, используя первичный ключ и внешний ключ, который играет решающую роль при работе с таблицами базы данных.
- 1NF позволяет пользователям эффективно использовать запросы к базе данных, поскольку устраняет неоднозначность, удаляя пустые и множественные значения столбца, что создает серьезные проблемы в будущем при обновлении и извлечении базы данных.
Вывод
При работе с базами данных и создании таблиц для любого приложения при запуске очень важно нормализовать все таблицы, поскольку это помогает устранить аномалии вставки, удаления и обновления. Нормализация также устраняет будущие затраты и время. Меньшее число нулевых значений и меньшее количество избыточных данных делают базу данных более компактной. Благодаря нормализации создается больше таблиц, что помогает в простом и эффективном обслуживании данных. Очевидно, что благодаря нормализации лучшая производительность поиска и сортировки обеспечивается с помощью индексов и ключей, и 1NF играет в этом важную роль.
Рекомендуемые статьи
Это руководство к первой нормальной форме. Здесь мы обсуждаем определение, работу и преимущества первой нормальной формы вместе с ее примерами. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Что такое MySQL?
- Что такое схема MySQL?
- Операторы MySQL
- MySQL Server