Сколько полей
Перейти к содержимому

Сколько полей

сколько полей мы храним в таблице

Поля 150-битного типа могут быть в порядке, но вы также должны учитывать максимальную длину записи, которую ваша база данных позволит вам хранить. С полями varchar большинство баз данных позволят вам создать таблицу, которая теоретически нарушила бы максимум, если бы все поля были заполнены до своей максимальной длины. Однако он не позволит вам добавлять слишком длинные записи. Это своего рода ловушка, которая может существовать годами, пока кто-то не поместит слишком много символов в потенциальную вставку, а затем взорвется, и обычно требуется много времени, чтобы найти решение такой проблемы. Лучше никогда не разрабатывать таблицу, в которой общая длина столбцов больше, чем длина максимальных байтов записи.

Менее широкие таблицы также могут быть более быстрыми для запросов.

Кроме того, 150 столбцов обычно являются признаком того, что вам действительно нужно взглянуть на дизайн и посмотреть, не лучше ли связанная таблица. Например, если у вас есть phone1, phone2, phone3, вам понадобится соответствующая телефонная таблица.

Если вам действительно нужны все 150 столбцов, подумайте, какие из них будут запрашиваться вместе чаще всего. Поместите эти родительские таблицы. Затем добавьте менее часто запрашиваемые (или столбцы, относящиеся только к определенной функции) в связанную таблицу. Нет причин не иметь отношения 1-1 между таблицами, просто используйте идентификатор из таблицы парант в PK в дочерней таблице, а также FK в родительской таблице.

Если вашему бизнесу нужно 150 столбцов, то это «хороший способ». Я никогда не видел такой бизнес-потребности, но это не значит, что ее не существует. Я видел очень широкие таблицы, используемые в случаях типа olap, поэтому, если вы это делаете, велика вероятность, что вы на правильном пути. Если вы используете эту таблицу для большей функциональности otap, то, вероятно, вы ошиблись. Возможно, если бы вы предоставили немного больше информации о том, чего вы пытаетесь достичь, мы могли бы дать несколько советов (вместо «сделай это» или «сделай это по-другому»).

В подавляющем большинстве случаев наличие 150 столбцов в одной таблице является симптомом плохо денормализованной базы данных.

Возможно, вы захотите прочитать это и пересмотреть дизайн своей базы данных.

Выражаясь вашими терминами, перейдите к «поддерживать отношения с другими таблицами»

Сколько полей «слишком много» в таблице?

У меня есть коллега, который планирует базу данных для нового приложения, в котором будет несколько таблиц с более чем 30 полями в каждой. Это чрезмерно? Может быть, я просто недостаточно предприимчив, чтобы понять.

Редактировать: Кроме того, многие поля относятся к типам опций (например, в форме запроса, хотите ли вы, чтобы ваш виджет был желтым или зеленым, у него есть поле для «цвета» с перечислением). Вполне вероятно, что со временем они будут добавлены или удалены. На самом деле я не занимался проектированием баз данных и сам стараюсь держаться подальше от этого, так что, может быть, я совершенно глуп, но наверняка есть лучший способ сделать это ??

Наиболее очевидным признаком того, что таблица требует нормализации, являются поля, оканчивающиеся целыми числами: CouponCode1, CouponCode2, CouponCode3. вы поняли. Хотя, как всегда, будут исключения из правил.

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

Например, если у вас есть таблица с адресами, включаете ли вы в эту таблицу поля города, штата и почтового индекса? Или вы включаете только одно поле, которое «указывает» на запись в отдельной таблице для этих значений? Отдельная таблица будет содержать уникальные комбинации городов, штатов и почтовых индексов. Результатом разделения данных на две таблицы является уменьшение объема хранимых данных (скорее всего, но не абсолютное), но немного дополнительная сложность при выполнении запросов к базе данных. Теперь вам нужно иметь дело с двумя таблицами вместо одной. Но, с другой стороны, он намного чище и намного меньше (вероятно).

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

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

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

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

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

Сколько полей

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

В этой статье

Обзор

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

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

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

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

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

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

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

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

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

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

Типы данных

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

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

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

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

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

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

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

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

Вводимые данные

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

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

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

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

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

31 декабря 2016 г.

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

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

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

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

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

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

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

Ключи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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