Поиск по сайту:

Все ясно ревности — а доказательств нет! (М.Ю. Лермонтов).

База данных – Первая нормальная форма (1NF)

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
27 апреля 2017
База данных - Первая нормальная форма (1NF)
Первая нормальная форма (1NF) устанавливает основные правила организованной базы данных:

  • Определение элементов данных, необходимых, для столбцов в таблице.
  • Создание соответствующих элементов данных в таблице.
  • Убедитесь в том, что нет повторяющихся групп данных.
  • Убедитесь в том, что есть первичный ключ.

Первое правило 1NF

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

Например, вы создаете все столбцы, относящиеся к местам встреч в таблицу Location, те, которые касаются членов в таблицу MemberDetails и так далее.

Второе правило 1NF

Следующим шагом является обеспечение того, нет ли повторяющихся групп данных. Рассмотрим мы следующую таблицу:

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   ORDERS   VARCHAR(155)
);

 

Таким образом, если мы заполним эту таблицу для одного клиента, имеющего несколько заказов, то это было бы что-то, вроде показанного ниже:

ID NAME AGE ADDRESS ORDERS
12 AndreyEx 38 Krasnodar WD Caviar Blue WD10EZEX
12 AndreyEx 38 Krasnodar INTEL Core i7 6700
12 AndreyEx 38 Krasnodar KINGSTON KVR16S11/8 DDR3 –  8Гб

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

Таблица CUSTOMERS:

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   PRIMARY KEY (ID)
);

 

Эта таблица будет иметь следующую запись:

ID NAME AGE ADDRESS
12 AndreyEx 38 Krasnodar

Таблица ORDERS:

CREATE TABLE ORDERS(
   ID   INT              NOT NULL,
   CUSTOMER_ID INT       NOT NULL,
   ORDERS   VARCHAR(155),
   PRIMARY KEY (ID)
);

 

Эта таблица будет иметь следующие записи:

ID CUSTOMER_ID ORDERS
10 12 WD Caviar Blue WD10EZEX
11 12 INTEL Core i7 6700
12 12 KINGSTON KVR16S11/8 DDR3 –  8Гб

Третье правило 1NF

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

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close