Ковыляющий по прямой дороге опередит бегущего, который сбился с пути (Ф. Бэкон).

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 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)
);

 

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

IDNAMEAGEADDRESSORDERS
12AndreyEx38KrasnodarWD Caviar Blue WD10EZEX
12AndreyEx38KrasnodarINTEL Core i7 6700
12AndreyEx38KrasnodarKINGSTON 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)
);

 

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

IDNAMEAGEADDRESS
12AndreyEx38Krasnodar

Таблица ORDERS:

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

 

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

IDCUSTOMER_IDORDERS
1012WD Caviar Blue WD10EZEX
1112INTEL Core i7 6700
1212KINGSTON KVR16S11/8 DDR3 –  8Гб

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

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

 

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

Просмотров: 196

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

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

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

    Войти с помощью: 

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

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

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

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

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

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

    close
    galka

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

    close