Access

Как связать таблицы в access: Создание, изменение и удаление отношения

Содержание

Как связать таблицы в базе данных LibreOffice Base

Всем привет, друзья! Мы продолжаем изучать программу LibreOffice Base, и в этом уроке мы научимся создавать связи между таблицами, расскажу как связать таблицы в базе данных LibreOffice Base. Чтобы создать связь между таблицами, необходимо перейти на вкладку «сервис» и выбрать пункт «связи». В данном окне нам нужно выбрать те таблицы, которые мы будем связывать. Для этого нужно дважды кликнуть по названию таблицы.

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


Как связать таблицы в базе данных LibreOffice Base

Напомню, что в прошлом уроке мы в таблицу «клиенты» добавили 2 записи, таблица «заказы» у нас пустая. Друзья, ссылка на предыдущий урок тут.

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

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

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

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

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

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

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


Как связать таблицы в базе данных LibreOffice Base

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

Давайте сейчас мы здесь оставим «обновить каскадно» и быстренько пробежимся по столбцу «при удалении». Давайте сейчас оставим при удалении «не изменять», нажмем ok. Давайте, я сейчас таблицу «заказы» закрою, выберу клиента под номером 100, нажимаю DELETE, нажимаю «да», система ругается. Она говорит о том, что мы не можем удалить запись в главной таблице «клиенты» пока существует связанные записи в подчиненной таблице «заказы».


Как связать таблицы в базе данных LibreOffice Base

Давайте нажмем ok, дважды кликнем по связи, выберем «удалить каскадно». Давайте, я еще раз открою таблицу «заказы», видите, у нас сейчас есть 1 запись, где «код заказчика» 100. Закрываю эту таблицу, снова выбираю записи «код клиента» 100, нажимаю DELETE, нажимаю «да», у нас удалилась запись в главной таблице. Снова открываем таблицу «заказы» и, как вы видите, сейчас данная таблица пуста.


Как связать таблицы в базе данных LibreOffice Base

Снова возвращаемся в свойства связи, «установить NULL», нажимаем ok. Вводим нового клиента и вводим новый заказ, который совершал этот клиент (клиент у нас под номеру 102).

Так давайте, я сейчас таблицу «заказы» снова закрою, выберу клиента 102, нажму DELETE, да, снова открою таблицу «заказы» и, как вы видите, в данном случае у нас записи остаются, при этом в поле «код заказчика» у нас снова проставляется значение null. Надеюсь, это понятно.

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

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

Как вы наверно уже обратили внимание, связывание таблиц в данной программе очень похоже на связывание таблиц в программе microsoft access. Друзья, вот такой вот урок получился, надеюсь он будет вам полезен.
В этом уроки мы разобрались как связать таблицы в базе данных LibreOffice Base.

Создать схему связи таблиц в access

Автор admin На чтение 18 мин Просмотров 1 Опубликовано Обновлено

Содержание

  1. Создать схему связи таблиц в access
  2. Типы связей
  3. Определение связей между таблицами
  4. Начало работы со связями между таблицами
  5. Проверьте, как это работает!
  6. Описание области «Схема данных»
  7. Виды связей между таблицами
  8. Изменение связи
  9. Удаление отношения между таблицами
  10. Настройка связей между таблицами
  11. Читайте также
  12. Стереотипы связей
  13. 5.4. Настройка связей типов файлов с приложениями
  14. 6.1.4. Работа с таблицами
  15. Работа с таблицами
  16. 2.3. Работа с таблицами
  17. 15.4. Работа с таблицами
  18. Организация связей между таблицами
  19. 12.7. Многотабличные базы данных. Отношения между таблицами
  20. 3. 3. Работа с таблицами
  21. Урок 7.4. Проектирование базы данных. Создание связей между таблицами
  22. Связи между таблицами
  23. Порядок создания связей
  24. Практическая работа 56. Создание связей между таблицами
  25. Настройка параметров связей

Создать схему связи таблиц в access

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

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

на панели инструментов Access.

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

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

Типы связей

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.

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

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

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

Определение связей между таблицами

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

Предположим, что требуется установить связь между таблицами «Кафедра» и «Преподаватель» через поле ККАФ (код кафедры). В таблице «Кафедра» это поле является уникальным ключом, а в таблице «Преподаватель» — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку «Схема данных» поверх окна схемы данных появится окно «Добавление таблицы» . В этом окне следует выделить требуемые таблицы и нажать «Добавить» .

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

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

Обратите внимание, что Access автоматически определил тип связи как «один-ко-многим».

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

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

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

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

Источник

Начало работы со связями между таблицами

Проверьте, как это работает!

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

Чтобы увидеть все связи в базе данных, откройте шаблон Access, а затем на вкладке Работа с базами данных нажмите кнопку Схема данных.

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

Описание области «Схема данных»

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

По линиям и символам можно определить параметры связи.

Толстая соединительная линия означает, что включено обеспечение целостности данных. Это хорошо. Данные будут синхронизироваться.

На приведенном изображении цифра 1 означает, что в таблице слева может быть только одна связанная запись. В таблице «Заказы» каждому заказу может соответствовать только одна запись.

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

Виды связей между таблицами

Между таблицами могут быть установлены связи трех видов:

Один-к-одному. Каждый элемент используется в каждой таблице только один раз. Например, каждый сотрудник может использовать только один служебный автомобиль. Дополнительные сведения см. в статье Создание связей типа «один-к-одному».

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

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

Связи типа «один ко многим»

Связи типа «один-ко-многим» — одни из наиболее распространенных в хорошо структурированных базах данных.

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

В показанной ниже связи у каждого человека из таблицы «Контакты» есть идентификатор, представляющий собой первичный ключ (он отмечен значком ключа). Этот идентификатор также используется в поле «Владелец» в таблице «Активы». Чтобы написать электронное письмо человеку, связанному с активом, следует использовать значение поля «Адрес электронной почты». Для этого необходимо узнать значение поля «Владелец» из таблицы «Активы», а затем найти этот идентификатор в таблице «Контакты». Число 1 на одном конце соединительной линии и знак «∞» на другом означают, что это связь типа «один-ко-многим», поэтому один контакт может быть связан с несколькими активами.

Изменение связи

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

Примечание: Если необходимые таблицы открыты, сначала следует закрыть их, а также любые открытые объекты, которые их используют.

Выберите Работа с базами данных > Схема данных.

Выберите линию, соединяющую две связанные таблицы.

Совет: Если необходимая связь отсутствует, на вкладке Конструктор в группе Связи нажмите кнопку Все связи.

На вкладке Конструктор нажмите кнопку Изменить связи.

Таблица/запрос — это родительская таблица, указанная слева (в рассмотренном примере — «Клиенты»).

Связанная таблица/запрос — это дочерняя таблица (в рассмотренном примере — «Заказы»).

Даже если в области «Схема данных» таблицы расположены в другом порядке, их размещение в показанном диалоговом окне определяет направление соединительной линии между ними и, соответственно, направление связи. Это важно, например, для связей типа «один-ко-многим», потому что в таблице слева (родительской) в таком случае может быть связано только одно поле, а в таблице справа (дочерней) — несколько.

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

Настройте синхронизацию данных между таблицами.

Обеспечение целостности данных

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

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

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

Каскадное обновление связанных полей

Установите этот флажок, чтобы данные в связанных полях обновлялись во всех связанных таблицах.

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

Каскадное удаление связанных записей

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

Предположим, вы удалили грузоотправителя. Если выбран этот параметр, Access удаляет все записи во всех таблицах, ссылаясь на этот ИД грузоотправителя, включая все заказы (в таблице «Заказы»), отправленные этим грузоотправии. Этот параметр можно выбрать только в том случае, если вы уверены, что хотите удалить историю заказов.

Чтобы изменить связь между таблицами с внутреннего соединения на внешнее, нажмите кнопку Объединение. Дополнительные сведения см. в статье Создание запросов с внешними соединениями.

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

Примечание: Если необходимые таблицы открыты, сначала следует закрыть их, а также любые открытые объекты, которые их используют.

Удаление связи между таблицами

Выберите Работа с базами данных > Схема данных.

Выберите линию, соединяющую две связанные таблицы.

Совет: Если необходимая связь отсутствует, на вкладке Конструктор в группе Связи нажмите кнопку Все связи.

Нажмите клавишу DELETE. Если потребуется подтвердить удаление, нажмите кнопку Да.

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

Источник

Настройка связей между таблицами

Настройка связей между таблицами

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

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

Просмотр, создание, редактирование и удаление связей осуществляются на схеме данных (рис. 2.21). Чтобы открыть схему данных, нажмите кнопку Схема данных на вкладке Работа с базами данных .

Рис. 2.21. Схема данных

Итак, начнем с рассмотрения процедуры создания связи.

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

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

2. Щелкните кнопкой мыши на названии поля, которое является первичным ключом в родительской таблице. Удерживая нажатой кнопку мыши, перетащите поле первичного ключа, наведите указатель на название того поля дочерней таблицы, которое должно стать вторичным ключом (при этом в изображении указателя появится знак +), и отпустите кнопку мыши.

3. На экране появится окно Изменение связей (рис. 2.22). В этом окне указаны названия связываемых полей. Убедитесь, что поля для создания связи выбраны верно. В случае обнаружения ошибки выберите другие поля.

Рис. 2.22. Окно Изменение связей

4. Выберите режим обеспечения целостности данных (об этом режиме подробно будет рассказано в следующем подразделе). Рекомендуется установить флажок Обеспечение целостности данных . Затем нажмите кнопку Создать .

5. Сохраните изменения схемы данных, нажав комбинацию клавиш Ctrl+S .

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

Обеспечение целостности данных

Целостностью данных в Microsoft Access называется ссылочная целостность – состояние отдельной связи или всей базы данных, при котором отсутствуют некорректные ссылки. Иными словами, целостность данных означает, что в дочерней таблице нет записей, ссылающихся «в никуда», вторичный ключ каждой записи содержит значение, существующее в столбце первичного ключа родительской таблицы.

Целостность данных может нарушиться в следующих ситуациях:

• в дочернюю таблицу добавляется новая запись, содержащая некорректное (отсутствующее в первичном ключе родительской таблицы) значение вторичного ключа, или в существующей записи дочерней таблицы значение вторичного ключа изменяется на некорректное;

• из родительской таблицы удаляется запись, в результате чего ссылки на эту запись становятся некорректными;

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

Исключить все эти ситуации позволяет режим автоматического обеспечения целостности данных. Этот режим включается отдельно для каждой связи в окне Изменение связи (см. рис. 2.22). Если установить флажок Обеспечение целостности данных , программа Access не допустит выполнения операций, ведущих к нарушению ссылочной целостности. Так, запрещается:

• сохранение записи с некорректным значением вторичного ключа;

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

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

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

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

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

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

На экране появится окно Изменение связей (см. рис. 2.22). В этом окне выполните необходимые изменения и нажмите кнопку ОК .

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

Чтобы удалить связь, щелкните кнопкой мыши на линии связи в схеме данных (линия при этом станет жирной) и нажмите клавишу Delete . На появившейся панели подтвердите необходимость удаления связи, нажав кнопку Да .

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

Отображение дочерних записей

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

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

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

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

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

1) Перейдите в режим конструктора (кнопка Режим вкладки Главная ).

2) На вкладке Конструктор нажмите кнопку Страница свойств .

Рис. 2.23. Просмотр дочерних записей

3) В появившемся окне свойств (рис. 2.24) щелкните кнопкой мыши на значении свойства Имя подтаблицы . Справа от значения свойства появится кнопка

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

5) Сохраните изменения, нажав сочетание клавиш Ctrl+S .

6) Вернитесь в режим таблицы (нажмите кнопку Режим на вкладке Главная или Конструктор ).

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

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

Рис. 2.24. Выбор подтаблицы

Данный текст является ознакомительным фрагментом.

Читайте также

Стереотипы связей

Стереотипы связей Связь может иметь некоторые стереотипы, которые записываются рядом с одним из ее концов и указывают на особенность реализации данной связи. В языке UML для этой цели могут использоваться следующие стереотипы: • «association» – ассоциация (предполагается по

5.4. Настройка связей типов файлов с приложениями

5.4. Настройка связей типов файлов с приложениями Настройка программ по умолчаниюДля смены программ, устанавливаемых для определенных типов файлов по умолчанию, в Windows Vista используется специальное окно Программы по умолчанию (рис. 5.11), которое можно открыть с помощью меню

6.1.4. Работа с таблицами

6.1.4. Работа с таблицами Думаю, не нужно говорить о важности таблиц в современных документах. Ведь таблица считается одним из самых эффективных способов представления данных. Для работы с таблицами используются команды меню Таблица. Изучите это меню: оно содержит все

Работа с таблицами

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

2.3. Работа с таблицами

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

15.4. Работа с таблицами

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

Организация связей между таблицами

Организация связей между таблицами Исходные таблицы в Access представляют собой обычные плоские таблицы Конечно, они не позволяют формировать иерархические информационные структуры; для данной цели используется аппарат связей между таблицами. Access 2002 дает возможность

12.

7. Многотабличные базы данных. Отношения между таблицами

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

3.3. Работа с таблицами

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

Урок 7.4. Проектирование базы данных. Создание связей между таблицами

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

Связи между таблицами

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

Порядок создания связей

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

Практическая работа 56. Создание связей между таблицами

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

Настройка параметров связей

Настройка параметров связей 1. Закройте все ранее открытые вкладки таблиц.2. На ленте откройте вкладку Работа с базами данных и нажмите кнопку Схема данных в группе Показать или скрыть. В появившемся окне вы должны увидеть таблицы базы данных и линии связи между ними. Если

Источник

Импорт или ссылка на данные в другой базе данных Access

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

В этой статье объясняется, как импортировать или связать данные в другой базе данных Access.

Что ты хочешь сделать?

  • Понимание импорта и связывания с данными из другой базы данных Access

  • Импорт данных из другой базы данных Access

  • Ссылка на данные в другой базе данных Access

Понимание импорта и связывания с данными из другой базы данных Access

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

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

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

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

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

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

Импорт данных из другой базы данных Access

Процесс импорта данных следует следующим общим шагам:

  • org/ListItem»>

    Подготовка к операции импорта

  • Запустите мастер импорта

  • При необходимости сохраните параметры импорта в качестве спецификации импорта для последующего повторного использования

Следующие наборы шагов объясняют выполнение каждого действия.

Подготовка к операции импорта

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

    Если исходная база данных представляет собой файл . mdb или .accdb, вы можете импортировать таблицы, запросы, формы, отчеты, макросы и модули. Если исходным файлом является файл .mde или .accde, вы можете импортировать только таблицы.

  2. Если вы впервые импортируете данные из базы данных Access, обратитесь к следующей таблице за некоторыми полезными советами.

    Элемент

    Описание

    Несколько объектов

    Вы можете импортировать несколько объектов за одну операцию импорта.

    Новый объект

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

    Импорт связанной таблицы

    Если исходная таблица (например, Employees1 в базе данных Sales) на самом деле является связанной таблицей (таблицей, которая связана с таблицей Employees в базе данных Payroll), текущая операция импорта заменяется операцией связывания. В конце операции вы увидите связанную таблицу (с именем, например, Employees1), которая ссылается на исходную исходную таблицу (Employees в базе данных Payroll).

    Пропуск полей и записей

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

    Отношения

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

    Определение таблицы

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

    Поля поиска

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

    Запросы

    Вы можете импортировать запрос как запрос или как таблицу. Если вы импортируете запрос как запрос, вы должны импортировать базовые таблицы.

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

  4. Откройте базу данных назначения. Убедитесь, что база данных не доступна только для чтения и что у вас есть необходимые разрешения для добавления объектов и данных в базу данных.

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

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

    Операция импорта не перезаписывает и не изменяет ни одну из существующих таблиц или объектов. Если объект с тем же именем, что и у исходного объекта, уже существует в целевой базе данных, Access добавляет номер (1, 2, 3 и т. д.) к имени импортируемого объекта. Например, если вы импортируете таблицу «Проблемы» в базу данных, в которой уже есть таблица «Проблемы», импортированная таблица будет называться «Проблемы1». Если имя Issues1 уже используется, новая таблица будет называться Issues2 и так далее.

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

Импорт данных

    org/ItemList»>
  1. Расположение мастера импорта немного отличается в зависимости от вашей версии Access. Выберите шаги, соответствующие вашей версии Access:

    • Если вы используете последнюю версию подписной версии Microsoft 365 Access, на вкладке Внешние данные в группе Импорт и связывание щелкните Новый источник данных > Из базы данных > Доступ .

    • Если вы используете Access 2016, Access 2013 или Access 2010, на Внешние данные , в группе Импорт и связь нажмите Доступ .

  2. org/ListItem»>

    Откроется мастер импорта и связывания базы данных Get External Data — Access .

  3. В текстовом поле Имя файла введите имя исходной базы данных или щелкните Найдите , чтобы открыть диалоговое окно File Open .

  4. Выберите Импорт таблиц, запросов, форм, отчетов, макросов и модулей в текущую базу данных и нажмите OK .

    Откроется диалоговое окно Импорт объектов .

  5. В диалоговом окне Импорт объектов на вкладке Таблицы выберите таблицы, которые вы хотите импортировать. Если вы хотите импортировать запросы, щелкните вкладку Запросы и выберите запросы, которые вы хотите импортировать.

    Чтобы отменить выбор объекта, щелкните объект еще раз.

  6. Щелкните Параметры , чтобы указать дополнительные параметры.

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

    Элемент

    Описание

    Отношения флажок

    Выберите, чтобы импортировать отношения между выбранными таблицами.

    Меню и панели инструментов флажок

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

    Спецификации импорта/экспорта флажок

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

    Группы панелей навигации флажок

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

    Определение и данные Кнопка выбора

    Выберите, чтобы импортировать структуру и данные всех выбранных таблиц.

    Только определение Кнопка выбора

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

    Как запросы кнопка выбора

    Выберите, чтобы импортировать выбранные запросы как запросы. В этом случае не забудьте импортировать все базовые таблицы вместе с запросами.

    Как таблицы Кнопка выбора

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

  7. Нажмите OK , чтобы завершить операцию.

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

Ссылка на данные в другой базе данных Access

Связывание

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

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

Процесс связывания с данными в другой базе данных Access следует следующим общим шагам:

Следующие наборы шагов объясняют, как выполнить каждое действие.

Подготовка к связыванию таблиц в базе данных Access

  1. Найдите исходную базу данных.

    Формат файла может быть MDB, MDE, ACCDB или ACCDE. Если исходная база данных защищена паролем, вам будет предложено ввести пароль во время операции связывания.

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

    Элемент

    Описание

    Несколько объектов

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

    Связанные таблицы как источник

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

    Например, если таблица Employees1, которую вы хотите связать в базе данных Sales, на самом деле является связанной таблицей, которая ссылается на таблицу Employees в базе данных Payroll, вы не можете использовать таблицу Employees1 в базе данных Sales в качестве исходной таблицы. Вместо этого вы должны напрямую ссылаться на таблицу «Сотрудники» в базе данных «Заработная плата».

    Новая или существующая таблица

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

    Отношения

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

    Поля поиска

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

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

  4. org/ListItem»>

    Откройте базу данных назначения. Убедитесь, что целевая база данных не доступна только для чтения и что у вас есть необходимые разрешения для добавления объектов и данных в базу данных.

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

    Операция не перезаписывает и не изменяет ни одну из существующих таблиц или объектов. Если объект с тем же именем, что и у исходного объекта, уже существует в целевой базе данных, Access добавляет номер (1, 2, 3 и т. д.) к имени связанной таблицы. Например, если вы связываетесь с таблицей «Проблемы» из базы данных, в которой уже есть таблица с именем «Проблемы», связанная таблица будет называться «Проблемы1». Если имя Issues1 уже используется, новая таблица будет называться Issues2 и так далее.

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

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

Ссылка на данные

  1. Расположение мастера ссылок немного отличается в зависимости от вашей версии Access. Выберите шаги, соответствующие вашей версии Access:

    .
    • Если вы используете последнюю версию подписной версии Microsoft 365 Access, на вкладке Внешние данные в группе Импорт и связывание щелкните Новый источник данных > Из базы данных > Доступ .

    • org/ListItem»>

      Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке Внешние данные в группе Импорт и связывание щелкните Access .

  2. Откроется мастер импорта и связывания базы данных Get External Data — Access .

  3. В текстовом поле Имя файла введите имя исходной базы данных или щелкните Обзор , чтобы открыть диалоговое окно Открыть файл .

  4. Щелкните Связать с источником данных, создав связанную таблицу , а затем щелкните OK .

    Откроется диалоговое окно Link Tables .

  5. В диалоговом окне Link Tables выберите таблицы, на которые вы хотите создать ссылку.

    Чтобы отменить выбор, щелкните таблицу еще раз.

  6. Нажмите OK , чтобы завершить операцию.

    Access создает связанные таблицы.

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

Что еще я должен знать?

  • org/ListItem»>

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

  • Сведения о том, как запустить сохраненные спецификации импорта, см. в статье Выполнение сохраненной операции импорта или экспорта.

  • Сведения о том, как запланировать запуск спецификаций в определенное время, см. в статье Планирование операции импорта или экспорта.

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

Верх страницы

Значительное повышение производительности баз данных Microsoft Access с помощью связанных таблиц

Предоставлено: Люком Чангом, президентом FMS

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

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

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

При открытии базы данных Microsoft Access создает файл блокировки на диске. Вы можете увидеть, что это файлы *.LDB или *.LACCDB. Когда база данных закрывается, файл блокировки удаляется.

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

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

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

Чтобы создать постоянное подключение к связанной базе данных, откройте переменную базы данных MS Access в VBA, используя метод DAO OpenDatabase. Держите эту переменную открытой, пока работает ваше приложение.

Код процедуры

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

.
Sub OpenAllDatabases (pfInit как логическое значение)
  ' Откройте дескриптор всех баз данных и держите его открытым в течение всего времени работы приложения.
  ' Параметры: pfInit TRUE для инициализации (вызывается при запуске приложения)
  ' FALSE для закрытия (вызов после завершения приложения)
  Источник: Total Visual SourceBook

  Dim x как целое число
  Dim strName как строка
  Dim strMsg как строка
 
  ' Максимальное количество серверных баз данных для связи
  Константа cintMaxDatabases как целое число = 2

  ' Список баз данных хранится в статическом массиве, чтобы мы могли закрыть их позже
  Статическая dbsOpen() как DAO. Database
 
  Если пфинит Тогда
    ReDim dbsOpen (от 1 до cintMaxDatabases)
    Для x = 1 Для cintMaxDatabases
      ' Укажите свои серверные базы данных
      Выберите случай х
        Дело 1:
          strName = "H:\folder\Backend1.mdb"
        Случай 2:
          strName = "H:\folder\Backend2.mdb"
      Конец выбора
      стрМсг = ""

      При ошибке Возобновить Далее
      Установите dbsOpen(x) = OpenDatabase(strName)
      Если Число Ошибок > 0 Тогда
        strMsg = "Не удалось открыть базу данных: " & strName & vbCrLf & _
                 «Убедитесь, что диск доступен». & vbCrLf & _
                 "Ошибка: " & Err.Description & "(" & Err.Number & ")"
      Конец, если

      При ошибке Перейти к 0
      Если strMsg <> "" Тогда
        MsgBox стрMsg
        Выход для
      Конец, если
    Следующий х
  Еще
    При ошибке Возобновить Далее
    Для x = 1 Для cintMaxDatabases
      dbsOpen(x).Close
    Следующий х
  Конец, если
Конец сабвуфера
 

Позвоните по этому номеру при запуске приложения:

Опеналлдатабасес Истинно
 

Когда вы закончите, вызовите это, чтобы закрыть переменные/дескрипторы базы данных:

Опеналлдатабасес Ложь
 

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

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

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