Как сделать несколько ключевых полей в access?

Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля. В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.

Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.

Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно «Добавление таблицы» на фоне неактивного окна Схема данных (рис. 1).

Как сделать несколько ключевых полей в access? Рис. 1.

В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» появятся все tables (рис. 2). После этого необходимо закрыть окно диалога.

Как сделать несколько ключевых полей в access? Рис. 2.

Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно «Изменение связей» (рис. 3) .

Как сделать несколько ключевых полей в access? Рис. 3.

В появившемся окне диалога «Изменение связей» (рис. 3) необходимо установить флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.

Как сделать несколько ключевых полей в access? Рис. 4.

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

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

Далее >>> Раздел: 2.4.4. Заполнение таблиц базы данных Access 2007

Источник: https://www.lessons-tva.info/edu/inf-access/access_3.html

Создание баз данных Access: Учебное пособие, страница 2

  Модуль — объект, содержащий программы на языке Visual Basic для
прило­жений.

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

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

Проектирование базы данных

   Основой любой реляционной БД являются
таблицы. Разработка таблиц яв­ляется одним из наиболее сложных этапов в
проектировании БД. Грамотно спро­ектированные таблицы являются основой для
создания работоспособной и эффек­тивной БД.

   Понятие таблицы в Access полностью соответствует аналогичному
понятию реляционной модели данных. Любая таблица реляционной БД состоит из строк
(называемых также записями) и столбцов (называемых
также полями).

  Строки таблицы содержат сведения об
однотипных объектах — документах, людях, предметах. На пересечении столбца и
строки находится конкретное значе­ние, характеризующее объект.

   Можно сформулировать ряд основных
требований, которым должны удов­летворять таблицы.

    1. Информация в таблице не должна
дублироваться, т.е. в таблице не должно существовать двух записей с полностью
совпадающим набором значений ее по­лей.

    2. На пересечении любого столбца и
любой строки должно находиться одно

значение.

    3.  Не рекомендуется включать в
таблицу данные, которые являются резуль­татом вычислений.

    4.  Значения данных в одном и том же
столбце должны принадлежать к од­ному и тому же типу, доступному для
использования в данной СУБД.

    5. Каждое поле должно иметь уникальное
имя.

    6. Каждая таблица должна иметь
первичный ключ.

    7. Таблицы БД должны быть связаны
через внешние ключи.

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

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

   В Access можно выделить три типа ключевых полей: простой ключ, состав­ной
ключ и поле счетчика.

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

   В случаях, когда невозможно
гарантировать уникальность значений ни од­ного из полей, можно создать ключ,
состоящий из нескольких полей — составной первичный ключ.

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

Не
рекомендуется определять ключ по полям Имена и Фамилии, поскольку нельзя исключить
повторения этой пары значений для раз­ных людей.

   Составной ключ необходим для таблицы,
используемой для связывания двух таблиц в отношении «многие — ко — многим»
Обычно такой ключ состоит из ключевых полей связываемых таблиц.

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

При создании каждой новой за­писи Access генерирует уникальный номер записи,
называемый счетчиком.

Ука­зание такого поля в качестве ключевого
является наиболее простым способом соз­дания ключевых полей.

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

   Сила реляционных баз данных, таких как
БД Microsoft Access, заключается в том, что они могут быстро найти и связать данные
из разных таблиц при помощи запросов, форм и отчетов.

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

Все таблицы БД Access должны
быть связаны с помощью внешних ключей.

Создание файла базы данных

   При запуске Access открывается диалоговое окно — Окно запуска, в котором
предлагается создать новую БД, запустить Мастера БД или открыть существую­щую
БД.

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

Такой способ является профессиональным и
наиболее гибким, но тре­бует отдельного определения каждого элемента БД. При
выборе такого способа создания БД надо в окне запуска установить флажок Новая
база данных.

В рас­крывшемся окне Файл новой базы данных следует
выбрать каталог и задать имя создаваемой БД. Раскроется Окно базы данных.

Вниманию студентов! Студенческие БД должны создаваться в
директории Student/GRNNN.

Как сделать несколько ключевых полей в access?

   Для создания БД можно восполь­зоваться Мастером
базы данных,
уста­новив в окне запуска флажок Мастера, страницы и
проекты.
Мастер создает БД, содержащую все необходимые объ­екты, и
остается только ввести в табли­цы данные.

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

   Флажок  Открыть базу данных окна
запуска позволяет открыть ранее

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

Источник: https://vunivere.ru/work15772/page2

Ключевое поле таблицы MS Access, его назначение, способы задания

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

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

Для Access обязательным является определение ключевого поля для таблицы. Для его определения достаточно выделить поле и выбрать команду Ключевое поле меню Правка.

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

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

Для внешних полей при создании связи также происходит автоматическое создание индекса (в данном случае вторичного).

Связи между таблицами дают возможность совместно использовать данные из различных таблиц. Например, одна таблица содержит информацию о профессиональной деятельности сотрудников предприятия (таблица Сотрудник), другая таблица — информацию об их месте жительства (таблица Адрес).

Допустим, на основании этих двух таблиц необходимо получить результирующую таблицу, содержащую поля Фамилия и инициалы, Должность и Адрес проживания. Причём полеФамилия и инициалы может быть в обеих таблицах, поле Должность — в таблице Сотрудник, а поле Адрес проживания — в таблице Адрес.

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

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

Виды индексированных полей в MS Access, примеры

Свойство «Индексированное поле» (Indexed) определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.

Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.

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

MicrosoftAccess задает значения этих свойств автоматически, если в режиме конструктора таблицы для поля в столбце «Тип данных» выбирается «Мастер подстановок».

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

Рассмотрим некоторые из этих дополнительных свойств:

Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.

Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком.

Например, для того чтобы вывести в строках списка данные из запроса «Список клиентов», следует выбрать для свойства Тип источника строк значение «Таблица/запрос» и указать в свойстве Источник строк имя запроса «Список клиентов».

Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк (RowSourceType) «Список значений» и ввести образующие список значения в ячейку свойства Источник строк (RowSource). Элементы списка отделяются друг от друга точкой с запятой.

Источник: https://studopedia.net/2_47261_klyuchevoe-pole-tablitsi-MS-Access-ego-naznachenie-sposobi-zadaniya.html

InformatikUrok » Blog Archive » Как определить ключевое поле в таблице

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

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

  • Иванов Иван Иванович
  • Иванов Иван Иванович

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

Ключевое поле — это атрибут или группа атрибутов, которые обеспечивают уникальность каждой строки (записи).

Именно ключевое поле позволит каждую запись считать разной, в данном примере позволит различить двух Ивановых.

Ключевые поля бывают тех видов:

  • счетчик;
  • простой ключ;
  • составной ключ.

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

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

  • для связи таблиц между собой;
  • для быстрого поиска информации в таблицах.
  • Давайте на примере конкретной таблицы попробуем определить  ключевое поле. Пример подробно рассмотрен в видеоуроке:
  • Повторим:
  • Если атрибут Фамилия сделать ключевым полем, то в таблице не должно быть двух одинаковых фамилия, что в реальной жизни невозможно, т.к. в классе, например, учатся брат и сестра с одинаковыми фамилиями.
  • Если использовать в качестве первичного ключа (Фамилия, Домашний_Адрес), то не должно быть одинаковых адресов в записях таблицы, что так же невозможно, т.к. в одном классе могут учиться брат и сестра, проживающие по одному адресу.
  • Перебрав все атрибуты на кандидаты в первичный ключ, приходим к выводу, что нужно ввести дополнительное поле, которое будем использовать в качестве ключа.
  • Напомню, если название поля состоит из двух слов, то пробелы использовать не рекомендуется. Лучше в этом случае использовать нижнее подчеркивание для соединения слов.

P.S. Театр начинается с вешалки, а таблица с ключевого поля. Очень важно правильно научиться определять ключевое поле.

Напомню, что есть несколько способов создания БД, которые рассмотрены в уроке «Введение в Access», есть также несколько способов создания таблиц. В уроке «Способы создания таблиц в Access» подробно рассмотрены первые два способа: с помощью мастера и ввода в таблицу.

Источник: http://InformatikUrok.ru/ms-access/kak-opredelit-klyuchevoe-pole-v-tablitse

Access. Связи между таблицами. Ключевые поля

Access. Связи между таблицами. Ключевые поля. [Sep. 25th, 2010|12:47 am]
Microsoft Office
ru_msoffice[in_solar_plexus]

Дорогие друзья, разыскиваются умные головы, разбирающиеся в Access'e.Вопрос в следующем.У меня имеется две таблицы:Везде где рассказывается как создать связь между таблицами говорится о двух полях с одинаковыми значениями, например:

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

Клиенты и Заказы.

В таблице Клиенты следующие столбцы В таблице Заказы
ФИО клиента ФИО заказчика
Адрес Название товара
Email Кол-во штук
Телефон Примечание

Соответственно обе таблицы имеют столбец ФИО с одинаковыми значениями.Мне нужно связать эти таблицы так, чтобы через таблицу Клиенты я могла узнать кол-во заказов каждого клиента.Что с чем связывать и как.Заранее благодарна за ответы!

Comments:
From: hvd2010-09-25 08:58 am (UTC) (Link)

В таблице «Клиенты» создать столбец «ID клиента», тип Counter, назначить ему первичный ключ. В таблице «Заказы» создать столбец «ID заказчика» (фамилию выбросить), тип long int, и связать их.

From: in_solar_plexus2010-09-25 05:02 pm (UTC) (Link)

Т.е. в таблице Клиенты я создаю ключевое поле «Id клиента»с типом Счетчик. Допустим я это делаю автоматически при копировании данных из excel и access мне сам пронумеровывает клиентовА как быть с таблицей «Заказы»? Вводить эти id номера вручную для каждого клиента? или их как-то можно перекопировать?Просто у меня не одна таблица заказы, а их несколько. Т.е. грубо говоря:Товар №1 в ней данные Кто заказ этот товар, сколько и какого числа, и способ доставкиТовар №2 все те же поляи Товар №3Естественно каждая таблицы содержит только некоторых клиентов и они идут не по порядку. Я не понимаю как их скопировать. Или же мне нужно создавать единую таблицу для всех товаров?:/

=)

From: hvd2010-09-25 05:11 pm (UTC) (Link)

Долго объяснять. Там на самом деле структура базы простая для меня, но, видимо, не для Вас. Мне проще будет нарисовать. Ночью займусь и пришлю картинку.

From: hvd2010-09-27 12:31 pm (UTC) (Link)

Вот схема из стандартного примера к Access — Northwind.mdb:

Вообще, возьмите это пример, разберите и делайте как там.

From: in_solar_plexus2010-09-28 06:10 pm (UTC) (Link)

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

Вот в чем вопрос?

From: hvd2010-09-28 06:40 pm (UTC) (Link)

Запросами, разумеется.Выбираете клиента из списка (сформированного по таблице клиентов) по фамилии — в таблицу заказов вставляется его ID.

Смотрите пример, смотрите — в нем все это есть.

From: lebeda2010-09-25 10:27 am (UTC) (Link)

примерно вот так:——————————-select *FROM заказы T0 left JOIN клиенты T1 ON T0.фио= T1.фиоorder by T0.фио—————обьяснить?

From: lebeda2010-10-01 08:01 am (UTC) (Link)

да, в Access есть возможность вставить сразу запрос.left JOIN свяжет таблицу T0, то бишь заказы, с таблицей T1 — данные заказчика.

left сдедает таблицу заказов ведущей, и уже к ней добавит все значения которые найдет через фио в таблице заказчика.

From: spoonisoutthere2010-09-25 12:15 pm (UTC) (Link)

фио нежелательно использовать в качестве ключалучше ввести числовой идентификатор для каждого клиента

Источник: https://ru-msoffice.livejournal.com/114971.html

Как создать ключевое поле в базе даннных?

Размещено 14.10.2019

Ваш вопрос:

Как создать ключевое поле в базе даннных?

Ответ мастера:

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

В MySQL СУБД для создания данных полей удобно применять приложение phpMyAdmin.

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

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

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

Если ключевым надо сделать одно из уже созданных полей, то у пользователя есть некоторое число вариантов действий. Когда требуется создать ключ лишь для ускорения поиска определенных записей (таких ключей может одновременно в таблице быть несколько), то нужно щелкнуть по ярлыку «Индекс» в поле «Действие» нужной таблицы.

Приложение создаст необходимый SQL-запрос, и самостоятельно отправит его на сервер.

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

  Как работать с форматом APE?

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

Пользователь может и сформировать самостоятельно необходимый запрос. Для чего нужно щелкнуть по ссылке SQL и в текстовом многострочном поле напечатать текст нужного запроса. Выглядеть, например, он может так:

ALTER TABLE `tableOne` DROP PRIMARY KEY, ADD PRIMARY KEY(`login`)

Данный запрос отменяет назначенный первичный ключ в существующей таблице с названием tableOne и первичным ключом назначает поле с именем login. Для осуществления отправки запроса нужно нажать кнопку «OK».

Источник: https://remont-komputerov-notebook.ru/answer/ask/sozdanie_klutchevogo_polya/

Ссылка на основную публикацию
Adblock
detector