Как задать ключевое поле в таблице access

Как задать ключевое поле в таблице access

Как задать ключевое поле в таблице access




>>>>>> Скачать файл - Как задать ключевое поле в таблице access





Сила реляционных баз данных заключается в их способности хранить информацию таким образом, что она всегда определяется однозначно, даже если распределена по различным таблицам, а также в возможности быстрого поиска необходимых данных. В основе этих важных свойств лежат понятия ключевых полей и индексов. Между этими двумя понятиями очень много общего, хотя предназначены они для совершенно различных целей, и организованы они тоже по-разному. Ключевые поля предназначены для однозначного определения записей в таблице и связывания между собой распределенных по различным таблицам данных об одном и том же объекте. Индексы предназначены для оптимизации поиска и сортировки информации. Поначалу все это может вызывать некоторые затруднения, однако с приобретением необходимого опыта все станет на свои места. Ключевые поля бывают двух типов — первичные Primary Key и внешние Foreign Key. Первичные ключи служат для однозначного определения записи в таблице и должны содержать уникальные для данной таблицы значения. Система автоматически предотвращает ввод в такое поле повторяющихся и пустых Null значений. Самый простой способ создания первичного ключа — добавить в таблицу поле типа счетчик AutoNumber и затем нажать кнопку с изображением ключа на панели инструментов. В результате этого свойство счетчика Обязательное поле Required примет значение Да Yes , а свойство Индексированное поле Indexed — Да совпадения не допускаются Yes No Duplicates. Признаком первичного ключа является иконка с изображением ключа слева от наименования поля. Кроме того, первичный ключ автоматически включается в список индексов таблицы под именем PrimaryKey. Использование счетчика в этом случае является очень удобным, поскольку Microsoft Access сам заботится о правильном заполнении этого поля. В качестве первичного ключа можно также определить любое подходящее поле кроме поля типа объект OLE OLE Object либо не содержащее данных, либо содержащее уникальные непустые значения. Такой первичный ключ, состоящий из одного единственного поля, называется простым Single-field. Если ни одно из полей таблицы не содержит или по сути не может содержать уникальных значений например, фамилии могут повторяться , то можно вместо простого ключа создать составной Multiple-field ключ, состоящий из нескольких полей. Примером такой таблицы может служить таблица Заказано Order Details из учебной базы данных Борей Northwind , связывающая таблицы Заказы Orders и Товары Products. Ключ в этой таблице состоит из двух полей: КодЗаказа OrderlD и КодТовара ProductID. Такая комбинация полей ключа, по замыслу разработчиков, гарантирует уникальность содержащихся в них значений. Другая основная функция ключевых полей - создание связей между таблицами. В этом случае первичному ключу одной таблицы главной соответствует внешний ключ связанной с ней таблицы. Внешний ключ содержит значения связанного с ним поля, являющегося первичным ключом главной таблицы, и никаких других значений содержать не может иначе нарушится целостность данных. Значения во внешнем ключе могут и не быть уникальными, но не должны быть пустыми Null. Другими словами, значения первичного ключа должны быть уникальными, а внешний ключ может содержать несколько одинаковых значений, соответствующих конкретному значению первичного ключа. Первичный и внешний ключи должны быть одинакового типа, иначе при создании связи между таблицами по этим полям Microsoft Access выдаст сообщение об ошибке и связь создана не будет. Полю типа счетчик AutoNumber эквивалентен числовой тип, свойство Размер поля Field Size которого установлено в значение Длинное целое Long Integer. Например, таблицы Сотрудники Employees и Заказы Orders учебной базы данных Борей Northwind связаны по одноименным полям КодСотрудника EmployeeID. Соответствующее поле в таблице Сотрудники Employees является первичным ключом типа счетчик AutoNumber , а в таблице Заказы Orders — внешним ключом типа длинное целое Long Integer. Для ускорения поиска и сортировки информации в таблицах используются индексы. Применение индексов для поиска в некотором смысле похоже на использование содержания в книге. Для того чтобы найти необходимый раздел книги, мы обычно открываем содержание, находим в нем нужный нам раздел и определяем на какой странице он начинается. Далее мы просто открываем книгу на этой странице и получаем желаемое. Индексы, как и первичные ключи, могут быть простыми состоящими из одного поля и составными содержащими несколько полей. Для того чтобы создать простой индекс, следует выбрать в режиме конструктора таблицы Design View нужное поле и установить его свойство Индексированное поле Indexed в одно из двух значений: Да Совпадения не допускаются Yes No Duplicates или Да Допускаются совпадения Yes Duplicates OK. В результате будет создан индекс с именем, совпадающим с наименованием поля. Для того чтобы убедиться, что индекс действительно создан, можно воспользоваться диалоговым окном Индексы Indexes. Отобразить это окно на экране можно, выбрав одноименный пункт меню Вид View или нажав кнопку с изображением молнии на панели инструментов. Основное предназначение диалогового окна Индексы Indexes — создание и модификация простых и составных индексов. Кроме того, для составных индексов это окно является единственным доступным средством создания. В верхней части окна Индексы Indexes расположена таблица с тремя столбцами см. Для каждого индекса в этой таблице можно задать его наименование столбец Индекс Index Name , имя входящего в него поля столбец Имя поля Field Name и Порядок сортировки Sort Order. Чтобы создать простой индекс с использованием диалогового окна Индексы Indexes необходимо в первом столбце задать наименование индекса, затем из списка имеющихся в таблице полей во втором столбце выбрать имя индексируемого поля. Порядок сортировки в третьем столбце автоматически установится в значение По возрастанию Ascending. При необходимости, этот порядок можно изменить, выбрав значение По убыванию Descending. Почти такая же последовательность действий выполняется и при создании составного индекса. Сначала задается имя индекса, и из списка полей выбирается первое поле, входящее в индекс. Строчкой ниже выбирается следующее поле и т. Следует заметить, что имя задается только для первого поля, и, кроме того, только для этого поля доступно изменение свойств индекса. Порядок сортировки, однако, можно задать для каждого поля свой. Еще раз обратите внимание на рисунок 3. Как видно из рисунка, таблица Заказано Order Details содержит составной первичный ключ, имеющий поля КодЗаказа OrderlD и КодТовара ProductID. Об этом свидетельствует иконка с изображением ключа в левой части каждой из строчек, соответствующих ключевым полям. Соответствующий первичному ключу индекс, как уже упоминалось выше, автоматически добавляется в таблицу под именем PrimaryKey. Кроме того, по полям КодЗаказа OrderlD и КодТовара ProductID созданы еще и простые индексы. Таким образом, каждое из этих полей входит в два разных индекса. В нижней части диалогового окна Индексы Indexes расположен бланк свойств индексов. В этом бланке имеется возможность задать или модифицировать одно из трех свойств, кратко описанных ниже. Для индексов, содержащих ключевые поля, это свойств должно иметь значение Да Yes. Если выбрать значение Нет No , то ключевое поле перестает быть таковым. Таким образом, при помощи этого свойства можно создавать первичные ключи и в окне Индексы Indexes. Это свойство определяет, должен ли индекс содержать уникальные значения или допускается ввод в соответствующее индексу поле повторяющихся данных. Как и следовало ожидать, для первичного ключа не удастся задать значение Нет No. Пропуск пустых полей Ignore Nulls. Если задано значение Да Yes , то записи, содержащие в этом поле пустое значение Null , будут исключаться из индекса. В заключение хотелось бы привести несколько соображений по поводу применения индексов. Основное предназначение индексов — ускорять поиск информации. Казалось бы, чем больше индексов, тем лучше. Однако это совершенно не так. С одной стороны, ускоряя поиск, индексы приводят к замедлению работы приложения при вводе и модификации данных в таблицах. Это связано с тем, что каждый раз при этом происходит обновление всех индексов таблицы, связанных с модифицированными полями или всех индексов при добавлении или удалении записи.

Для чего нужно ключевое поле

Значения свойств полей здаются: Для того, чтобы получить справку о каком-либо свойстве поля, поместите текстовый курсор в окошко для ввода значения этого свойства и нажмите клавишу F1. Рассмотрим подробнее некоторые свойства полей: Свойство 'Формат поля' позволяет указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Например, для поля 'Цена' разумно указать в свойстве Формат поля Format формат 'Денежный' и установить для его свойства Число десятичных знаков DecimalPlaces значение 2 или 'Авто'. В этом случае введенное в поле значение , будет отображаться как 4 ,68р. Свойство Формат поля Format определяет только способ отображения данных. Оно не влияет на способ их сохранения. В качестве стандартных используются национальные форматы, выбираемые в окне Язык и стандарты панели управления Windows. Набор форматов определяется настройками для конкретной страны. Например, если на вкладке Язык и стандарты указать Английский США , то число Но если указать на этой вкладке Русский, то это число будет выглядеть так: Свойство 'Маска ввода' InputMask задает маску ввода, облегчающую ввод данных в поле. Например, удобно создать следующую маску ввода для поля 'Телефон', позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: Значение данного свойства определяется автоматически при использовании мастера по созданию масок ввода. Значение свойства Маска ввода InputMask может содержать до трех разделов, разделяемых точкой с запятой ;. Представляет саму маску ввода например,! Определяет режим занесения в таблицу строковых констант, добавляемых к символам, вводящимся пользователем. Введенный в данный компонент символ 0 указывает, что постоянные символы например, скобки и дефисы в маске ввода телефонных номеров сохраняются вместе с введенными пользователем символами; значение 1 или пустое значение данного компонента указывает, что сохраняются только символы, введенные пользователем. Определяет символ, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводящиеся пользователем символы. В этом компоненте можно указать любой символ ANSI; пробел необходимо заключить в кавычки ' '. Значение 'Пароль' свойства Маска ввода InputMask определяет элемент управления, предназначенный для ввода пароля. Подобная маска ввода используется для предотвращения вывода на экран печатаемых символов. Если пользователь определяет маску ввода и одновременно задает для того же поля значение свойства Формат поля Format , то при выводе данных приоритет имеет свойство Формат поля Format. Это означает, что при форматировании данных сохраненная маска ввода игнорируется. Данные в базовой таблице при этом не изменяются; свойство Формат поля Format определяет только режим отображения данных. Свойство 'Индексированное поле' Indexed определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю 'Фамилия' в таблице 'Сотрудники', следует создать индекс для этого поля. Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле Indexed. Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку ' Индексы ' на панели инструментов. Будет открыто окно индексов. Вкладка Подстановка на бланке свойств поля используется для указания элемента управления, используемого по умолчанию для отображения поля. После выбора элемента управления на вкладке Подстановка выводятся все дополнительные свойства, необходимые для определения конфигурации элемента управления. Microsoft Access задает значения этих свойств автоматически, если в режиме конструктора таблицы для поля в столбце 'Тип данных' выбирается 'Мастер подстановок'. Значения данного свойства и относящиеся к нему типы элементов управления влияют на отображение поля как в режиме таблицы, так и в режиме формы. Свойство 'Тип элемента управления' DisplayControl содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами 'Текстовый' или 'Числовой' для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка. Свойства 'Тип источника строк' RowSourceType , 'Источник строк' RowSource определят источник данных для списка или поля со списком. Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк RowSourceType 'Список значений' и ввести образующие список значения в ячейку свойства Источник строк RowSource. Элементы списка отделяются друг от друга точкой с запятой. Сила реляционных баз данных, таких как Microsoft Access, заключается в том, что они могут быстро найти и связать данные из разных таблиц при помощи запросов, форм и отчетов. Для этого каждая таблица должна содержать одно или несколько полей, однозначно идентифицирующих каждую запись в таблице. Это называется ключевым полем таблицы. Если для таблицы обозначены ключевые поля, то Microsoft Access предотвращает дублирование или ввод пустых значений в ключевое поле. В Microsoft Access можно выделить три типа ключевых полей: Поле счетчика можно задать таким образом, чтобы добавлении каждой записи в таблицу в это поле автоматически вносилось порядковое число. Для этого достаточно выбрать тип поля Счетчик. Указание такого поля в качестве ключевого является наиболее простым способом создания ключевых полей. Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да будет создано ключевое поле счетчика. Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как ключевое. Если выбранное поле содержит повторяющиеся или пустые значения, то оно не будет определено как ключевое. Для определения записей, содержащих повторяющиеся данные можно выполнить запрос на поиск повторяющихся записей. Если устранить повторы путем изменения значений невозможно, то следует либо добавить в таблицу поле счетчика и сделать его ключевым, либо определить составной ключ. В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении 'многие-ко-многим'. Если определить подходящий набор полей для составного ключа сложно, просто добавьте поле счетчика и сделайте его ключевым. Например, не рекомендуется определять ключ по полям 'Имена' и 'Фамилии', поскольку нельзя исключить повторения этой пары значений для разных людей. Допускается назначение ключевым полем поля, содержащего данные, однако, если в этом поле имеются повторяющиеся или пустые значения, будет выведено сообщение об ошибке. Получивший такое сообщение пользователь имеет три возможности: Для составного ключа существенным может оказаться порядок образующих ключ полей. Сортировка записей осуществляется в соответствии с порядком ключевых полей в бланке в режиме конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала определите ключ, как это описано выше, а затем нажатием кнопки Индексы на панели инструментов откройте окно 'Индексы' и укажите другой порядок полей для индекса с именем 'PrimaryKey'. Определение в базе данных связей между таблицами. Для создания запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу, необходимо установить связи между таблицами. Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями разных таблиц для удобства рекомендуется задавать для этих полей одинаковые имена. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Для того чтобы определить связь между таблицами, следует добавить таблицы в окно Схема данных например, с помощью контекстного меню и перенести с помощью мыши ключевое поле одной таблицы в другую таблицу. Тип создаваемой связи зависит от полей, для которых определяется связь. Окно Схема данных вызывается командой Схема данных меню Сервис. Рассмотрим типы связей более подробно на примере базы данных 'Отдел кадров', в состав которой входят четыре таблицы: Список отделов - перечень всех отделов предприятия; Список сотрудников - индивидуальные данные сотрудников, работающих на этом предприятии; Назначения - распределение сотрудников по отделам, причем каждый сотрудник может работать в нескольких отделах внутреннее совместительство ; Медицинский осмотр - результаты медицинского осмотра сотрудников. Отношение не определено , если поле КодСотрудника ни в одной из таблиц не является ключевым и не имеет уникального индекса. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию создает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц. Отношение 'один-ко-многим' является наиболее часто используемым типом связи между таблицами. Каждой записи в таблице 'Список сотрудников' могут соответствовать несколько записей в таблице 'Назначения' , а запись в таблице 'Назначения' не может иметь более одной соответствующей ей записи в таблице 'Список сотрудников'. Отношение 'многие-ко-многим' реализуется только с помощью третьей связующей таблицы, ключ которой состоит по крайней мере из двух полей, которые являются полями внешнего ключа в основных таблицах. В нашем примере связующей является таблица 'Назначения'. С одной стороны каждый сотрудник может иметь несколько назначений, а с другой стороны для каждого отдела тоже может существовать несколько назначений. Таким образом для таблиц 'Список сотрудников' и 'Список отделов' реализовано отношение 'многие-ко-многим': При отношении 'один-к-одному' запись в одной таблице может иметь не более одной связанной записи в другой таблице и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением 'один-к-одному' используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице. Например, для того чтобы застраховать сотрудников, был проведен медицинский осмотр. Результаты можно поместить в таблицу 'Список сотрудников' , но в этом случае сложнее защитить данные от несанкционированного просмотра. Поэтому выгоднее хранить эту секретную и, скорее всего, разовую информацию в отдельной таблице Медицинский осмотр. Обеспечение целостности данных в Microsoft Access. Целостность данных означает систему правил, используемых в Microsoft Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия. Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс. Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве Размер поля FieldSize указано значение 'Длинное целое'. А также поле счетчика можно связать с числовым полем, если и в обеих ячейках свойства Размер поля FieldSize задано значение 'Код репликации'. Обе таблицы принадлежат одной базе данных Microsoft Access. Если таблицы являются связанными, то они должны быть таблицами Microsoft Access. Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно. Установив целостность данных, необходимо следовать следующим правилам. Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Однако в поле внешнего ключа возможен ввод пустых значений, показывающих, что записи не являются связанными. Например, нельзя сохранить запись, регистрирующую заказ, сделанный несуществующим клиентом, но можно создать запись для заказа, который пока не отнесен ни к одному из клиентов, если ввести пустое значение в поле 'КодКлиента'. Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, невозможно удалить запись из таблицы 'Сотрудники', если в таблице 'Заказы' имеются заказы, относящиеся к данному сотруднику. Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной. Например, невозможно изменить код сотрудника в таблице 'Сотрудники', если в таблице 'Заказы' имеются заказы, относящиеся к этому сотруднику. Чтобы наложить эти правила на конкретную связь, при ее создании следует установить флажок Обеспечение целостности данных. Если данный флажок установлен, то любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет. Вы можете также наложить условия целостности на уже созданную связь или удалить связь. Для этого кликните правой клавишей мышки на линии связи, Вы сможете выбрать команду Удалить или Изменить связь в появившемся контекстном меню. Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если установлен флажок Каскадное обновление связанных полей , то при изменении ключевого поля главной таблицы автоматически изменяются и соответствующие значения связанных записей. Если установлен флажок Каскадное удаление связанных полей , то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.

Конференция 'Microsoft'

Заключение лора образец

Гранат камень свойства кому подходит

Добавление и изменение первичного ключа таблицы в Access

Расписание маршрута 108 архангельск

Инструкция по апробации сортовых посевов часть 1

Определение ключевых полей

Социально политическая история россии

Пункт 6 статья 709 гк рф

Report Page