Меню

Microsoft access как определить поля таблицы



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

При создании таблиц в режиме Конструктора приходится задавать имена таблиц и полей в таблицах. При этом необходимо придерживаться ряда правил.

  • Имена полей в таблице не должны повторяться, т. е. должны быть уникальными.
  • Имена полей могут содержать не более 64 символов, включая пробелы.
  • Желательно избегать употребления имен полей, совпадающих с именами встроенных функций или свойств Microsoft Access (например, Name — имя).
  • Имя поля не должно начинаться с пробела или управляющего символа (коды ASCII 00-31).
  • Имена полей могут содержать любые символы, включая буквы, цифры, пробелы, специальные символы, за исключением точки (.), восклицательного знака (!), апострофа (‘) и квадратных скобок ([), (]).

Эти же правила действительны и для имен таблиц, а также других объектов Microsoft Access.

Рекомендуется не использовать очень длинные имена, т. к. они плохо запоминаются, и не включать в имена большое количество пробелов, особенно если с именами предполагается работать с помощью процедур Visual Basic for Application. Чтобы следовать этой рекомендации и при этом получать понятные имена, можно либо использовать вместо пробелов между словами знак подчеркивания (_), либо писать все слова слитно, но каждое начинать с заглавной буквы.

После ввода имени поля необходимо задать тип данных, которые будут находиться в этом поле. Наиболее удобным способом является выбор типа из списка, но наименование типа можно ввести и вручную. Обычно при ручном вводе Конструктор автоматически предлагает закончить вводимое название типа. В Microsoft Access имеются следующие типы данных:

  • Текстовый (Text) — символьные или числовые данные, не требующие вычислений. Поле данного типа может содержать до 255 символов. Размер текстового поля задается с помощью свойства Размер поля (FieldSize), в котором указывается максимальное количество символов, которые могут быть введены в данное поле. При необходимости ввести строку большего размера, чем указано в данном свойстве, надо значение свойства изменить, т. к. место под дополнительные символы не резервируется. Независимо от длины текстового поля оно хранится в базе данных Access в записи переменной длины. Access не занимает память под неиспользуемую часть текстового поля в записи, что уменьшает общий размер базы данных.
  • Поле MEMO (MEMO) — поле MEMO предназначено для ввода текстовой информации, по объему превышающей 255 символов. Такое поле может содержать до 65 535 символов. Этот тип данных отличается от типа Текстовый (Text) тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно. За счет этого ускоряется обработка таблиц (сортировка, поиск и т. п.). Поле типа MEMO не может быть ключевым или проиндексированным.

Не используйте поле типа MEMO, если нужно будет сортировать записи таблицы по данному полю — это невозможно. Если 255 символов не достаточно для хранения всех данных, придется разбить его на два или три текстовых поля.

  • Числовой (Number) — числовой тип применяется для хранения числовых данных, используемых в математических расчетах. Имеет много подтипов. От выбора подтипа (размера) данных числового типа зависит точность вычислений. Для установки подтипа числовых данных служит свойство Размер поля (FieldSize). Данные этого типа могут содержаться в 1, 2, 4, 8 или 16 байтах. Обычно по умолчанию используется подтип Длинное целое (Longlnteger), который занимает 4 байта и представляет собой число в пределах от -2 147 483 648 до +2 147 483 647. Но, кроме этого типа, можно указать Байт (Byte) — 1 байт, Целое (Integer) — 2 байта, Одинарное с плавающей точкой (Single) — 4 байта, Двойное с плавающей точкой (Double) — 8 байтов, Десятичное (Decimal) — 12 байтов, Код репликации (Replication ID) — 16 байтов.
  • Дата/Время (Date/Time) — тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год. Размер поля — 8 байтов. Даты и время хранятся в специальном фиксированном числовом формате. Дата является целой частью значения поля типа Дата/Время, а время — его дробной частью. Access предоставляет большой выбор форматов отображения даты и времени.
  • Денежный (Currency) — тип данных, предназначенный для хранения данных, точность представления которых колеблется от 1 до 4 десятичных знаков. Целая часть данного типа может содержать до 15 десятичных знаков.
  • Счетчик (AutoNumber) — поле содержит 4-байтный уникальный номер, определяемый Microsoft Access автоматически для каждой новой записи либо случайным образом, либо путем увеличения предыдущего значения на 1. Значения полей типа счетчика обновлять нельзя. Максимальное число записей в таблице с полем счетчика не должно превышать двух миллиардов.
  • Логический (Yes/No) — логическое поле, которое может содержать только два значения, интерпретируемых как Да/Нет, Истина/Ложь, Включено/Выключено. Поля логического типа не могут быть ключевыми, но их можно индексировать.

Access использует величину -1 для представления значения Истина и величину 0 — для значения Ложь.

  • Поле объекта OLE (OLE object) — содержит ссылку на OLE-объект (лист Microsoft Excel, документ Microsoft Word, звук, рисунок и т. п.). Объем объекта ограничивается имеющимся в наличии дисковым пространством. Тип объекта OLE не указывается в свойствах поля объекта OLE. Он зависит от приложения, использованного для создания объектов OLE, которые хранятся в этом поле. Упаковщик объектов позволяет внедрять файлы, созданные приложениями, которые не являются серверами объектов OLE. Например, он позволяет внедрить текстовые файлы в качестве объектов в таблицы Access 2002. В поле объекта OLE могут храниться произвольные данные, в том числе и данные нескольких типов. Это позволяет обойти основное ограничение реляционных баз данных, которое требует, чтобы в каждом поле хранились данные только одного типа.
  • Гиперссылка (Hyperlink) — дает позможность хранить в поле ссылку, с помощью которой можно ссылаться на произвольный фрагмент данных внутри файла или Web-страницы на том же компьютере, в интранет или в Интернет. Гиперссылка состоит из четырех частей: отображаемый текст, адрес (путь к файлу или странице), дополнительный адрес (положение внутри файла или страницы) и текст всплывающей подсказки. Каждая часть гиперссылки может содержать до 2048 символов. Поле типа Гиперссылка не может быть ключевым или индексированным.

В поле типа можно также выбрать значение Мастер подстановок (Lookup Wizard), который запускает Мастера подстановок (Lookup Wizard), создающего поле подстановок. Поле подстановок позволяет выбирать значение поля из списка, содержащего набор постоянных значений или значений из другой таблицы. (О поле подстановок мы подробно будем говорить позже в разд. «Использование Мастера подстановок» данной главы.)

Как только вы выбираете тип данных для поля, так на нижней панели окна отображается список свойств этого поля. Данный список зависит от типа поля. Для того чтобы просмотреть или изменить свойства конкретного поля таблицы необходимо:

  1. Выделить нужное поле таблицы (то есть установить курсор в строку с именем поля) в окне Конструктора.
  2. Раскрыть вкладку Общие (General) для просмотра общих свойств поля или вкладку Подстановка (Lookup) для просмотра параметров подстановки.
Читайте также:  Включение таблиц в текстовой документ

Рассмотрим основные свойства полей для каждого типа данных.

Источник

Microsoft access как определить поля таблицы

А получить в VB можно через

2. В Sql Server есть две таблицы SYSOBJECTS и SYSCOLUMNS пишешь обеденееный запрос, и все имена полей в рекрдсете, хош в через ADODC в DATALIST загоняй, хошь в гриду скинь. Данные получаются не зависемо через какой провайдер (ADO, OBDC и тп) и представлены они в стандартном виде, виде набора записей(это принципиально, речь идет о том писать или не писать оттедльный модуль для работы с акцесом).
Вот я и пытаюсь изобрести что то подобное для акцеса или мотивировано доказать что акцесс таких возможностей не предоставляет.

А по поводу функции — можно конечно и налобать, но вот использование ее в SQL — как-то притянуто выглядит.

Select MyFunc(Table, i )

А i то как определять. Номер столбца в запросе тоже неизвестно как получить.

Позвольте продолжить тему почти 10-летней давности, дабы не заводить новую!

Мне нужно заполнить поле со списком названиями полей таблицы table_name. Мне понравился вариант с установкой в качестве источника строк список полей интересующей таблицы. Однако мне нужны все имена полей начиная со второго (или третьего, или четвертого, или . ) столбца. Можно это как-то организовать при помощи, например, построителя выражений?

Другой вариант, который меня устроил бы, — это перебор в цикле db.TableDefs(table_name).Fields(i).Name. Но тогда такой момент. Хочу вынести эту процедуру в отдельную функцию. Как тогда вернуть этот список полей?

Делал так (через добавление имен полей в коллекцию):

Как получить список имен полей таблицы в MS Access?
Желательно при помощи SQL.

в отчете есть режим список полей для списков

Источник

Microsoft access как определить поля таблицы

А получить в VB можно через

2. В Sql Server есть две таблицы SYSOBJECTS и SYSCOLUMNS пишешь обеденееный запрос, и все имена полей в рекрдсете, хош в через ADODC в DATALIST загоняй, хошь в гриду скинь. Данные получаются не зависемо через какой провайдер (ADO, OBDC и тп) и представлены они в стандартном виде, виде набора записей(это принципиально, речь идет о том писать или не писать оттедльный модуль для работы с акцесом).
Вот я и пытаюсь изобрести что то подобное для акцеса или мотивировано доказать что акцесс таких возможностей не предоставляет.

А по поводу функции — можно конечно и налобать, но вот использование ее в SQL — как-то притянуто выглядит.

Select MyFunc(Table, i )

А i то как определять. Номер столбца в запросе тоже неизвестно как получить.

Позвольте продолжить тему почти 10-летней давности, дабы не заводить новую!

Мне нужно заполнить поле со списком названиями полей таблицы table_name. Мне понравился вариант с установкой в качестве источника строк список полей интересующей таблицы. Однако мне нужны все имена полей начиная со второго (или третьего, или четвертого, или . ) столбца. Можно это как-то организовать при помощи, например, построителя выражений?

Другой вариант, который меня устроил бы, — это перебор в цикле db.TableDefs(table_name).Fields(i).Name. Но тогда такой момент. Хочу вынести эту процедуру в отдельную функцию. Как тогда вернуть этот список полей?

Делал так (через добавление имен полей в коллекцию):

Как получить список имен полей таблицы в MS Access?
Желательно при помощи SQL.

в отчете есть режим список полей для списков

Источник

База данных Access. Таблицы в СУБД Microsoft Access

SUBD_Deep_26.3-5020-f454d4.png

В этой статье мы рассмотрим базу данных Access и поговорим об её основном элементе — таблицах. Материал содержит краткие сведения и включает в себя терминологию, свойственную Microsoft Access. Тем не менее описываемые понятия вполне применимы и по отношению к другим реляционным базам данных (БД). Статья рекомендована пользователям Access для Office 365, Access 2016, Access 2019, Access 2013, Access 2007 и Access 2010.

Что представляет собой БД?

Как известно, база данных представляет собой инструмент сбора и структурирования информации. В БД можно хранить данные о людях, заказах, товарах и т. п. Многие БД изначально выглядят как небольшой список в текстовом редакторе либо электронной таблице. Но в связи с увеличением объёма данных, список наполняется лишней информацией, появляются несоответствия, не всё становится понятным. Кроме того, способы поиска и отображения подмножеств данных при использовании обычной электронной таблицы крайне ограничены. Таким образом, лучше заранее подумать о переносе информации в базу данных, созданную в рамках системы управления БД, например, в такую, как Access.

База данных Access — это хранилище объектов. В одной такой базе данных может содержаться более одной таблицы. Представьте систему отслеживания складских запасов с тремя таблицами — это будет одна база данных, а не 3.

Что касается БД Access, то в ней все таблицы сохраняются в одном файле совместно с другими объектами (формами, отчётами, модулями, макросами).

Для файлов БД, созданных в формате Access 2007 (он совместим с Access 2010, Access 2013 и Access 2016), применяется расширение ACCDB, а для БД, которые созданы в более ранних версиях, — MDB. При этом посредством Access 2007, Access 2013, Access 2010 и Access 2016 вы сможете, при необходимости, создавать файлы и в форматах более ранних версий (Access 2000, Access 2002–2003).

Применение БД Access позволяет: • добавлять новые данные в БД (допустим, новый артикул складских запасов); • менять информацию, находящуюся в базе (перемещать артикул); • удалять данные (например, когда артикул продан либо утилизирован); • упорядочивать и просматривать данные разными методами; • обмениваться информацией с другими людьми посредством отчётов, сообщений, эл. почты, глобальной или внутренней сети.

Элементы БД Access

К основным элементам стандартной базы данных Access относят: — таблицы; — формы; — отчёты; — макросы; — запросы; — модули.

В этой статье мы подробно остановимся на таблицах.

Таблицы в БД Access

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

Строки в таблице — это записи, содержащие блоки информации. Каждая запись состоит как минимум из одного поля, причём поля соответствуют столбцам.

Как правило, реляционная база данных, например Access, включает в себя несколько таблиц. Если база данных спроектирована хорошо, в каждой таблице есть сведения о конкретном объекте, к примеру о товарах либо сотрудниках. Как мы уже сказали, таблица состоит из строк (записей) и столбцов (полей). В свою очередь, поля содержат разные типы данных: числа, даты, текст, гиперссылки:

  1. Это запись, содержащая конкретные данные о конкретном работнике.
  2. Это поле (столбец), содержащее данные об одном из аспектов элемента нашей таблицы (у нас это имя).
  3. Тут мы видим значение поля.
Читайте также:  Особенности электронной таблицы excel является возможность

Свойства таблиц и полей в Access

У полей и таблиц есть свойства, позволяющие управлять их работой и характеристиками:

  1. Это свойства таблицы.
  2. Это свойства поля.

В БД Access под свойствами таблицы понимают атрибуты, которые определяют её работу и внешний вид. Свойства таблицы задают в «Конструкторе» на странице свойств таблицы. Допустим, вы можете задать свойство «Режим по умолчанию», если хотите указать, как она должна по умолчанию отображаться.

Свойство поля применимо к конкретному полю в таблице, определяя его характеристики либо какой-нибудь поведенческий аспект. Некоторые свойства можно задать в режим таблицы Access. Кроме того, можно настроить любые свойства в «Конструкторе», используя область «Свойства поля».

Типы данных в Access

Каждое поле имеет тип данных. Тип определяет данные, которые могут храниться в нём (допустим, вложенные файлы или большие объёмы текста):

Хоть тип данных и является свойством поля, он отличается от других свойств: • задаётся не в области «Свойства поля», а на бланке таблицы; • определяет, какие другие свойства существуют у этого поля; • его нужно указывать при создании поля.

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

Отношения между таблицами в Access

Хотя в каждой таблице хранится информация по отдельному объекту, в БД Access все таблицы обычно между собой связаны. Ниже приведены примеры таблиц в базе данных. Допустим, у нас есть таблица клиентов, которая содержит данные о клиентах и их адреса. Также есть таблица продаваемых товаров с ценами и изображениями товаров. И, разумеется, таблица заказов, необходимая нам, чтобы отслеживать покупки клиентов.

Так как наши данные по различным темам хранятся в отдельных таблицах, их надо связать — это позволит комбинировать данные из различных таблиц. Для этого нам и нужны связи — логические отношения между 2-мя таблицами, основанные на их общих полях.

Ключи в Access

Поля, которые формируют связь между таблицами в Access, называют ключами. Как правило, ключ состоит из одного поля, но может включать и несколько. Существуют 2 вида ключей. 1. Первичный. Он может быть в таблице только один. Такой ключ состоит из одного либо нескольких полей, однозначно определяющих каждую запись в таблице. Нередко в качестве первичного ключа применяют уникальный идентификатор, код либо порядковый номер. К примеру, в таблице «Клиенты» можно назначить уникальный код клиента каждому клиенту. Поле кода клиента в таком случае будет являться первичным ключом данной таблицы. Если же первичный ключ состоит из нескольких полей, он обычно включает уже существующие поля, которые формируют уникальные значения в сочетании друг с другом. Допустим, в таблице с информацией о людях в качестве первичного ключа мы можем использовать сочетание фамилии, даты рождения и имени. 2. Внешний ключ. В таблице также могут быть несколько внешних ключей (либо один). Этот ключ содержит значения, которые соответствуют значениям первичного ключа другой таблицы. К примеру, в таблице «Заказы» каждый заказ может включать код клиента, который соответствует конкретной записи в таблице «Клиенты». А поле «Код клиента» будет внешним ключом таблицы «Заказы».

Таким образом, основой связи между таблицами в Access является соответствие значений между полями ключей. Посредством такой связи мы можем комбинировать данные из связанных таблиц. Допустим, существуют таблицы «Заказы» и «Заказчики». При этом каждая запись в таблице «Заказчики» идентифицируется полем первичного ключа, которое называется «Код»

Если мы хотим связать каждый заказ с клиентом, мы можем добавить в таблицу «Заказы» поле внешнего ключа, которое соответствует полю «Код» в нашей таблице «Заказчики», после чего создать связь между данными 2-мя ключами. В случае добавления записи в таблицу «Заказы» мы могли бы использовать значение кода клиента из нашей таблицы «Заказчики». Тогда во время просмотра каких-нибудь данных о клиенте, который сделал заказ, связь позволила бы определить, какие именно данные из нашей таблицы «Заказчики» соответствуют тем либо иным записям в нашей таблице «Заказы»:

  1. Первичный ключ, определяемый по знаку ключа рядом с именем поля.
  2. Внешний ключ, определяемый по отсутствию знака ключа.

Преимущества использования связей в Access

Ключи обеспечивают раздельное хранение данных в связанных таблицах. Это несёт следующие плюсы: 1. Согласованность. Раз каждый элемент данных заносится в нашу таблицу лишь один раз, снижается вероятность появления несогласованных и неоднозначных данных. То же имя клиента станет храниться лишь в таблице клиентов, а не в разных записях в таблице заказов. 2. Эффективность. Хранить данные в одном месте — значит сэкономить место на жёстком диске. К тому же, данные из небольших таблиц мы сможем извлекать быстрее, чем из больших. Кроме того, если мы не храним данные по разным темам в различных таблицах, у нас часто появляются пустые значения, что неэффективно в плане использования имеющихся ресурсов и, как следствие, приводит к понижению производительности. 3. Простота. Структура базы данных (БД) становится более понятной, если данные по разным темам находятся в различных таблицах.

Вышеописанные связи нужно обдумывать ещё на стадии планирования таблиц — это избавит вас от многих проблем. Что касается БД Access, то тут есть мастер подстановок, помогающий создавать связи. Например, с его помощью вы создадите поле внешнего ключа, если таблица с соответствующим первичным ключом уже существует.

Источник

Общие сведения о таблицах

Таблицы — это неотъемлемая часть любой базы данных, так как именно в них содержатся все сведения и данные. Например, база данных предприятия может содержать таблицу «Контакты», в которой хранятся имена всех поставщиков, их адреса электронной почты и номера телефонов. Так как другие объекты базы данных в значительной степени зависят от таблиц, всегда начинайте разработку базы данных с создания всех таблиц, а уже затем создавайте другие объекты. Перед созданием таблиц проанализируйте свои требования и определите, какие именно таблицы могут вам понадобиться. Начальные сведения о планировании и разработке баз базы данных см. в статье Основные сведения о создании баз данных.

В этой статье

Обзор

Обычно реляционная база данных, такая как Access, состоит из нескольких таблиц. В хорошо спроектированной базе данных в каждой таблице хранятся сведения о конкретном объекте, например о сотрудниках или товарах. Таблица состоит из записей (строк) и полей (столбцов). Поля, в свою очередь, содержат различные типы данных: текст, числа, даты и гиперссылки.

Читайте также:  Футбол чемпионат англии кубок англии турнирная таблица

Запись. Содержит конкретные данные, например информацию об определенном работнике или продукте.

Поле. Содержит данные об одном аспекте элемента таблицы, например имя или адрес электронной почты.

Значение поля. Каждая запись содержит значение поля, например Contoso, Ltd. или proverka@example.com .

Свойства таблиц и полей

У таблиц и полей также есть свойства, которые позволяют управлять их характеристиками и работой.

1. Свойства таблицы

2. Свойства поля

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

Свойство поля применяется к определенному полю в таблице и определяет его характеристики или определенный аспект поведения. Некоторые свойства поля можно задать в Режим таблицы. Вы также можете настраивать любые свойства в Конструкторе с помощью области Свойства поля.

Типы данных

У каждого поля есть тип данных. Тип данных поля определяет данные, которые могут в нем храниться (например, большие объемы текста или вложенные файлы).

Тип данных является свойством поля, однако он отличается от других свойств:

Тип данных поля задается на бланке таблицы, а не в области Свойства поля.

Тип данных определяет, какие другие свойства есть у этого поля.

Тип данных необходимо указывать при создании поля.

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

Примеры автоматического определения типа данных

Ниже показано, как выполняется автоматическое определение типа данных в режиме таблицы.

Тип данных для поля, назначаемый Access

Вы можете использовать любой допустимый префикс протокола IP. Например, являются допустимыми префиксы http://, https:// и mailto:.

Число, длинное целое

Число, длинное целое

Распознаваемые форматы даты и времени зависят от языкового стандарта.

31 декабря 2016 г.

Распознаваемое обозначение денежной единицы зависит от языкового стандарта.

Отношения между таблицами

Хотя в каждой из таблиц хранятся данные по отдельному объекту, в базе данных Access все они обычно связаны между собой. Ниже приведены примеры таблиц в базе данных.

Таблица клиентов, содержащая сведения о клиентах компании и их адреса.

Таблица продаваемых товаров, включающая цены и изображения каждого из них.

Таблица заказов, служащая для отслеживания заказов клиентов.

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

Ключи

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

Первичный ключ. В таблице может быть только один первичный ключ. Он состоит из одного или нескольких полей, однозначно определяющих каждую запись в этой таблице. Часто в качестве первичного ключа используется уникальный идентификатор, порядковый номер или код. Например, в таблице «Клиенты» каждому клиенту может быть назначен уникальный код клиента. Поле кода клиента является первичным ключом этой таблицы. Если первичный ключ состоит из нескольких полей, он обычно включает уже существующие поля, формирующие в сочетании друг с другом уникальные значения. Например, в таблице с данными о людях в качестве первичного ключа можно использовать сочетание фамилии, имени и даты рождения. Дополнительные сведения см. в статье Добавление и изменение первичного ключа таблицы.

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

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

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

1. Первичный ключ, который определяется по значку ключа рядом с именем поля.

2. Внешний ключ (определяется по отсутствию значка ключа)

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

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

Раздельное хранение данных в связанных таблицах обеспечивает указанные ниже преимущества.

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

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

Простота . Структуру базы данных легче понять, если данные по различным темам находятся в разных таблицах.

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

Источник