Учебники

MS Access — относящиеся к данным

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

нормализация

Нормализация базы данных, или просто нормализация, — это процесс организации столбцов (атрибутов) и таблиц (отношений) реляционной базы данных для минимизации избыточности данных. Это процесс разделения данных по нескольким таблицам для повышения общей производительности, целостности и долговечности.

  • Нормализация — это процесс организации данных в базе данных.

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

Нормализация — это процесс организации данных в базе данных.

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

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

CustID название Адрес печенье Количество Цена Всего
1 Этель Смит 12 Main St, Арлингтон, Вирджиния 22201 S Шоколадные чипсы 5 $ 2,00 $ 10,00
2 Том Уилбер 1234 Дуб Доктор, Пекин, IL 61555 Choc Chip 3 $ 2,00 $ 6,00
3 Этил кузница 12 Main St., Arlington, VA 22201 Шоколадные чипсы 5 $ 2,00 $ 10,00

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

Три таблицы

Здесь у нас есть одна таблица для клиентов, вторая — для заказов, а третья — для файлов cookie.

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

Определение отношений

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

Давайте теперь посмотрим на три типа отношений —

Отношения один ко многим

Отношения «один ко многим» являются наиболее распространенным типом отношений. В этом типе отношений строка в таблице A может иметь много совпадающих строк в таблице B, но строка в таблице B может иметь только одну соответствующую строку в таблице A.

Например, таблицы «Клиенты» и «Заказы» имеют отношение «один ко многим»: каждый клиент может разместить много заказов, но каждый заказ поступает только от одного клиента.

Отношения многие ко многим

В отношении «многие ко многим» строка в таблице A может иметь много совпадающих строк в таблице B, и наоборот.

Вы создаете такую ​​связь, определяя третью таблицу, называемую соединительной таблицей , первичный ключ которой состоит из внешних ключей из таблицы A и таблицы B.

Например, таблица «Клиенты» и таблица «Cookies» имеют отношение «многие ко многим», которое определяется отношением «один ко многим» из каждой из этих таблиц к таблице «Заказы».

Индивидуальные отношения

В отношении «один к одному» строка в таблице A может иметь не более одной совпадающей строки в таблице B, и наоборот. Отношение один к одному создается, если оба связанных столбца являются первичными ключами или имеют уникальные ограничения.

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