Добавление и изменение первичного ключа таблицы в Access
Первичный ключ — это поле или набор полей со значениями, которые являются уникальными для всей таблицы. Значения ключа могут использоваться для обозначения всех записей, при этом каждая запись имеет отдельное значение ключа. Каждая таблица может содержать только один первичный ключ. Access может автоматически создавать поле первичного ключа при создании таблицы. Вы также можете самостоятельно указать поля, которые нужно использовать в качестве первичного ключа. В этой статье объясняется, как и зачем использовать первичные ключи.
Чтобы задать первичный ключ таблицы, откройте таблицу в режиме конструктора. Выберите нужное поле (или поля), а затем на ленте щелкните Ключевое поле.
Примечание: Эта статья относится только к классическим базам данных Access. В веб-приложениях Access и веб-базах данных первичный ключ для новых таблиц назначается автоматически. Несмотря на то что автоматические первичные ключи можно менять, делать это не рекомендуется.
В этой статье
- Общие сведения о первичных ключах в Access
- Определение первичного ключа в Access с помощью имеющихся полей
- Удаление первичного ключа
- Изменение первичного ключа в Access
- Дополнительные сведения
Общие сведения о первичных ключах в Access
Используя поля первичных ключей, Access быстро связывает данные из нескольких таблиц и объединяет их понятным образом. Вы можете добавить поля первичных ключей в другие таблицы, чтобы ссылаться на таблицу, которая является источником первичного ключа. В других таблицах поля называются внешними ключами. Например, поле «ИД клиента» в таблице «Клиенты» также может отображаться в таблице «Заказы». В таблице «Клиенты» оно является первичным ключом. В таблице «Заказы» оно называется внешним ключом. Проще говоря, внешний ключ — это первичный ключ другой таблицы. Дополнительные сведения см. в статье Основные сведения о создании баз данных.
1. Первичный ключ
При переносе существующих данных в базу данных в них уже может существовать поле, которое можно использовать как первичный ключ. Часто в роли первичного ключа таблицы выступает уникальный идентификационный номер, например порядковый или инвентарный номер или код. Например, в таблице «Клиенты» для каждого клиента может быть указан уникальный код клиента. Поле кода клиента является первичным ключом.
Для первичного ключа автоматически создается индекс, ускоряющий выполнение запросов и операций. Кроме того, приложение Access проверяет наличие и уникальность значений в поле первичного ключа.
При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем «Код» и типом данных «Счетчик».
Создание приемлемого первичного ключа
Чтобы правильно выбрать первичный ключ, следует учитывать несколько характеристик.
- Ключ должен однозначно определять каждую строку.
- В нем не должно быть пустых или отсутствующих значений — он всегда содержит значение.
- Ключ крайне редко изменяется (в идеале — никогда).
Если не удается определить приемлемый ключ, создайте для него поле с типом данных «Счетчик». Поле «Счетчик» заполняется автоматически созданными значениями при первом сохранении каждой записи. Таким образом, поле «Счетчик» соответствует всем трем характеристикам приемлемого первичного ключа. Дополнительные сведения о добавлении поля «Счетчик» см. в статье Добавление поля счетчика в качестве первичного ключа.
Поле с типом данных «Счетчик» является хорошим первичным ключом.
Примеры неудачных первичных ключей
Любое поле, не имеющее одной или нескольких характеристик подходящего первичного ключа, не следует выбирать в качестве первичного ключа. Ниже представлено несколько примеров полей, которые не годятся на роль первичного ключа в таблице «Контакты», и пояснения, почему их не следует использовать.
Неподходящий первичный ключ
Может быть не уникальным и может изменяться
Адрес электронной почты
Почтовый индекс может соответствовать нескольким контактным данным
Сочетание фактов и цифр
Факты могут изменяться, тем самым усложняя работу. Если фактическая часть повторяется в виде отдельного поля, это может привести к путанице. Например, не следует соединять название города и порядковый номер (например, САМАРА0579), если название города уже указано в отдельном поле.
Номера социального страхования или ИНН
- Личные сведения запрещено указывать в государственных учреждениях и некоторых организациях.
- Некоторые люди не имеют ИНН
- На одного человека может быть зарегистрировано несколько ИНН на протяжении жизни
Составные ключи: использование сочетания нескольких полей в качестве первичного ключа
В некоторых случаях в качестве первичного ключа таблицы нужно использовать несколько полей. Например, для таблицы сведений о заказах, в которой хранятся элементы строк для заказов, в первичном ключе можно использовать два столбца: «Номер заказа» и «Артикул». Если ключ состоит из нескольких полей, он также называется составным ключом.
Определение первичного ключа в Access с помощью имеющихся полей
Для правильной работы первичного ключа поле должно однозначно определять каждую строку, не содержать пустых и отсутствующих значений и редко изменяться (в идеале — не изменяться никогда). Чтобы задать первичный ключ, выполните указанные ниже действия.
- Откройте базу данных, которую нужно изменить.
- В области навигации щелкните правой кнопкой мыши таблицу, в которой нужно определить первичный ключ, и в контекстном меню выберите пункт Конструктор.
Совет: Если область навигации не отображается, нажмите клавишу F11.
Удаление первичного ключа в Access
При удалении первичного ключа одно или несколько полей, использовавшихся ранее в качестве первичного ключа, больше не являются идентификаторами записи.
Удаление первичного ключа не приводит к удалению полей таблицы, но при этом удаляется индекс, созданный для первичного ключа.
-
Перед удалением первичного ключа необходимо убедиться, что он не используется в связях между таблицами. Если вы попытаетесь удалить первичный ключ, являющийся частью одной или нескольких связей, Access предупредит вас, что сначала необходимо удалить связи.

Чтобы удалить связь между таблицами, сделайте следующее:
- Закройте связанные таблицы, если они открыты. Связь между открытыми таблицами удалить невозможно.
- На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
- Выберите Добавить таблицы (Показать таблицу в Access 2013).
- Щелкните линию связи между таблицами, которую необходимо удалить (выделенная линия становится жирной), а затем нажмите клавишу DEL.
- На вкладке Конструктор в группе Связи нажмите кнопку Закрыть.
Совет: Если область навигации не отображается, нажмите клавишу F11.
Примечание: При сохранении новой таблицы без указания первичного ключа будет предложено создать этот ключ. Если нажать кнопку Да, приложение Access создаст поле «ИД» с типом данных «Счетчик» для сохранения уникального значения для каждой записи. Если в таблице уже есть поле с таким типом данных, оно будет использоваться в качестве первичного ключа.
Изменение первичного ключа в Access
Чтобы изменить первичный ключ таблицы, выполните указанные ниже действия.
- Удалите существующий первичный ключ, следуя инструкциям в разделе Удаление первичного ключа.
- Определите первичный ключ в соответствии с инструкциями в разделе Определение первичного ключа.
Дополнительные сведения
Дополнительные сведения о создании базы данных и выборе подходящего первичного ключа см. в указанных ниже статьях.
- Основные сведения о базах данных
- Структура базы данных Access
- Создание базы данных Access
- Создание таблиц в базе данных
Ограничения первичных и внешних ключей
Первичные ключи и внешние ключи — это два типа ограничений, которые можно использовать для обеспечения целостности данных в таблицах SQL Server. Это важные объекты базы данных.
Ограничения первичного ключа
Обычно в таблице есть столбец или сочетание столбцов, содержащих значения, уникально определяющие каждую строку таблицы. Этот столбец, или столбцы, называются первичным ключом (PK) таблицы и обеспечивает целостность сущности таблицы. Так как ограничения первичного ключа гарантируют уникальные данные, они часто определяются в столбце удостоверений.
При указании ограничения первичного ключа для таблицы ядро СУБД обеспечивает уникальность данных путем автоматического создания уникального индекса для столбцов первичного ключа. Этот индекс также обеспечивает быстрый доступ к данным при использовании первичного ключа в запросах. Если ограничение первичного ключа задано более чем для одного столбца, то значения могут дублироваться в пределах одного столбца, но каждое сочетание значений всех столбцов в определении ограничения первичного ключа должно быть уникальным.
Как показано на следующем рисунке, столбцы ProductID и VendorID в таблице Purchasing.ProductVendor формируют составное ограничение первичного ключа для этой таблицы. При этом гарантируется, что каждая строка в таблице ProductVendor имеет уникальное сочетание значений ProductID и VendorID . Это предотвращает вставку повторяющихся строк.
- В таблице возможно наличие только одного ограничения по первичному ключу.
- Первичный ключ не может превышать 16 столбцов и общую длину ключа 900 байт.
- Индекс, созданный ограничением первичного ключа, не может привести к тому, что число индексов таблицы превышает 999 некластеризованных индексов и 1 кластеризованных индексов.
- Если кластеризованный или некластеризованный не указан для ограничения первичного ключа, кластеризованный используется, если в таблице нет кластеризованного индекса.
- Все столбцы с ограничением первичного ключа должны быть определены как не допускающие значения NULL. Если значение NULL не указано, все столбцы, участвующие в ограничении первичного ключа, имеют значение NULL.
- Если первичный ключ определен на столбце определяемого пользователем типа данных CLR, реализация этого типа должна поддерживать двоичную сортировку.
Foreign Key Constraints
Внешний ключ (FK) — это столбец или сочетание столбцов, которое применяется для принудительного установления связи между данными в двух таблицах с целью контроля данных, которые могут храниться в таблице внешнего ключа. Если один или несколько столбцов, в которых находится первичный ключ для одной таблицы, упоминается в одном или нескольких столбцах другой таблицы, то в ссылке внешнего ключа создается связь между двумя таблицами. Этот столбец становится внешним ключом во второй таблице.
Например, таблица имеет ссылку на внешний ключ к Sales.SalesPerson таблице, Sales.SalesOrderHeader так как между заказами на продажу и продавцами существует логическая связь. Столбец SalesPersonID в таблице SalesOrderHeader соответствует столбцу первичного ключа таблицы SalesPerson . Столбец SalesPersonID в таблице SalesOrderHeader является внешним ключом таблицы SalesPerson . Создав эту связь внешнего ключа, невозможно вставить значение SalesPersonID в SalesOrderHeader таблицу, если она еще не существует в SalesPerson таблице.
Максимальное количество таблиц и столбцов, на которые может ссылаться таблица в качестве внешних ключей (исходящих ссылок), равно 253. SQL Server 2016 (13.x) увеличивает ограничение числа других таблиц и столбцов, которые могут ссылаться на столбцы в одной таблице (входящих ссылок), с 253 до 10 000. (Требуется уровень совместимости не менее 130.) Увеличение имеет следующие ограничения:
- Превышение 253 ссылок на внешние ключи поддерживается только для операций DML DELETE. Операции UPDATE и MERGE не поддерживаются.
- Таблица со ссылкой внешнего ключа на саму себя по-прежнему ограничена 253 ссылками на внешние ключи.
- Более 253 ссылок на внешний ключ в настоящее время недоступны для индексов columnstore, оптимизированных для памяти таблиц, Stretch Database или секционированных таблиц внешнего ключа.
Важно! Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Индексы в ограничениях внешнего ключа
В отличие от ограничений первичного ключа, создание ограничения внешнего ключа не автоматически создает соответствующий индекс. Тем не менее, часто возникает необходимость создания индекса для внешнего ключа вручную по следующим причинам:
- Столбцы внешнего ключа часто используются в критериях соединения при совместном применении в запросах данных из связанных таблиц. Это реализуется путем сопоставления столбца или столбцов в ограничении внешнего ключа в одной таблице с одним или несколькими столбцами первичного или уникального ключа в другой таблице. Индекс позволяет ядро СУБД быстро находить связанные данные в таблице внешнего ключа. Однако создание этого индекса не требуется. Данные из двух связанных таблиц можно комбинировать, даже если между таблицами не определены ограничения первичного ключа или внешнего ключа, но связь по внешнему ключу между двумя таблицами показывает, что эти две таблицы оптимизированы для совместного применения в запросе, где ключи используются в качестве критериев.
- С помощью ограничений внешнего ключа в связанных таблицах проверяются изменения ограничений первичного ключа.
Ссылочная целостность
Главная задача ограничения внешнего ключа состоит в управлении данными, которые могут быть сохранены в таблице внешнего ключа, но это ограничение контролирует также изменение данных в таблице первичного ключа. Например, при удалении строки для менеджера по продажам из таблицы Sales.SalesPerson , идентификатор которого используется в заказах на продажу в таблице Sales.SalesOrderHeader , ссылочная целостность двух таблиц будет нарушена. Заказы на продажу удаленного менеджера в таблице SalesOrderHeader станут недействительными без связи с данными в таблице SalesPerson .
Ограничение внешнего ключа предотвращает возникновение этой ситуации. Ограничение обеспечивает целостность ссылок, гарантируя, что изменения нельзя вносить в данные в таблице первичного ключа, если эти изменения недопустимы для ссылки на данные в таблице внешнего ключа. Если предпринята попытка удалить строку в таблице первичного ключа или изменить значение первичного ключа, действие завершается ошибкой, если значение удаленного или измененного первичного ключа соответствует значению в ограничении внешнего ключа другой таблицы. Для успешного изменения или удаления строки с ограничением внешнего ключа необходимо сначала удалить данные внешнего ключа в таблице внешнего ключа либо изменить в таблице внешнего ключа данные, которые связывают внешний ключ с данными другого первичного ключа.
Каскадная ссылочная целостность
С помощью каскадных ограничений целостности можно определить действия, которые выполняет ядро СУБД, когда пользователь пытается удалить или обновить ключ, на который имеется точка внешних ключей. Могут быть определены следующие каскадные действия.
NO ACTION
Ядро СУБД вызывает ошибку, а действие удаления или обновления строки в родительской таблице откатывается.
CASCADE
Соответствующие строки обновляются или удаляются из ссылающейся таблицы, если данная строка обновляется или удаляется из родительской таблицы. КАСКАД нельзя указать, если столбец метки времени является частью внешнего ключа или ключа, на который ссылается ссылка. ON DELETE CASCADE нельзя указать для таблицы с триггером INSTEAD OF DELETE. ON UPDATE CASCADE нельзя указать для таблиц с триггерами INSTEAD OF UPDATE.
SET NULL
Всем значениям, составляющим внешний ключ, присваивается значение NULL, когда обновляется или удаляется соответствующая строка в родительской таблице. Для выполнения этого ограничения внешние ключевые столбцы должны допускать значения NULL. Невозможно указать для таблиц с триггерами INSTEAD OF UPDATE.
SET DEFAULT
Все значения, составляющие внешний ключ, при удалении или обновлении соответствующей строки родительской таблицы устанавливаются в значение по умолчанию. Для выполнения этого ограничения все внешние ключевые столбцы должны иметь определения по умолчанию. Если столбец имеет значение NULL, и нет явного набора значений по умолчанию, NULL становится неявным значением по умолчанию столбца. Невозможно указать для таблиц с триггерами INSTEAD OF UPDATE.
Ключевые слова CASCADE, SET NULL, SET DEFAULT и NO ACTION можно сочетать в таблицах, имеющих взаимные ссылочные связи. Если ядро СУБД обнаруживает NO ACTION, он останавливается и откатывает связанные действия CASCADE, SET NULL и SET DEFAULT. Если инструкция DELETE вызывает сочетание действий CASCADE, SET NULL, SET DEFAULT и NO ACTION, все действия CASCADE, SET NULL и SET DEFAULT применяются перед ядро СУБД проверка для любых действий NO ACTION.
Триггеры и каскадные ссылочные действия
Каскадные ссылочные действия запускают триггеры AFTER UPDATE или AFTER DELETE следующим образом:
- Все каскадные ссылочные действия, прямо вызванные исходными инструкциями DELETE или UPDATE, выполняются первыми.
- Если есть какие-либо триггеры AFTER, определенные для измененных таблиц, эти триггеры запускаются после выполнения всех каскадных действий. Эти триггеры запускаются в порядке, обратном каскадным действиям. Если в одной таблице существует несколько триггеров, они запускаются в случайном порядке, если для таблицы не существует выделенный первый или последний триггер. Этот порядок определяется процедурой sp_settriggerorder.
- Если последовательности каскадных действий происходят из таблицы, которая была непосредственной целью действий DELETE или UPDATE, порядок запуска триггеров этими последовательностями действий не определен. Однако одна последовательность действий всегда запускает все свои триггеры до того, как это начнет делать следующая.
- Триггер AFTER таблицы, являвшейся непосредственной целью действий DELETE или UPDATE, запускается вне зависимости от того, были ли изменены хоть какие-нибудь строки. В этом случае ни на какие другие таблицы каскадирование не влияет.
- Если один из предыдущих триггеров выполняет операции DELETE или UPDATE над другими таблицами, эти операции могут вызывать собственные последовательности каскадных действий. Эти вторичные последовательности действий обрабатываются для каждой операции DELETE или UPDATE после выполнения всех триггеров первичных последовательностей действий. Этот процесс может рекурсивно повторяться для последующих операций DELETE или UPDATE.
- Выполнение операций CREATE, ALTER, DELETE или других операций языка DDL внутри триггеров может привести к запуску триггеров DDL. Это может привести к дальнейшим операциям DELETE или UPDATE, которые начнут дополнительные последовательности каскадных действий и запустят свои триггеры.
- Если в любой конкретной последовательности каскадных ссылочных действий произойдет ошибка, в этой последовательности не будут запущены никакие триггеры AFTER, а для операций DELETE или UPDATE, создаваемых этой последовательностью, будет выполнен откат.
- Таблица с триггером INSTEAD OF не может также содержать предложение REFERENCES, указывающее каскадное действие. Однако триггер AFTER целевой таблицы каскадного действия может выполнить инструкцию INSERT, UPDATE или DELETE для другой таблицы или представления, которое запустит триггер INSTEAD OF для этого объекта.
Следующие шаги
В следующей таблице перечислены общие задачи, связанные с ограничениями первичного ключа и внешнего ключа.
| Задача | Статья |
|---|---|
| Описывает, как создать первичный ключ. | Создание первичных ключей |
| Описывает, как удалить первичный ключ. | Удаление первичных ключей |
| Описывает, как изменить первичный ключ. | Изменение первичных ключей |
| Описывается создание связей внешнего ключа | Создание связей по внешнему ключу |
| Описывает, как изменить связи внешнего ключа. | Изменение связей по внешнему ключу |
| Описывает, как удалить связи внешнего ключа. | Удаление связей по внешнему ключу |
| Описывает, как просматривать свойства внешнего ключа. | Просмотр свойств внешнего ключа |
| Описывает, как отключить ограничения внешнего ключа для репликации. | Отключение ограничений внешнего ключа для репликации |
| Описывает, как отключить ограничения внешнего ключа на время выполнения инструкций INSERT и UPDATE. | Отключение ограничений внешнего ключа для инструкций INSERT и UPDATE |
В таблице может быть несколько первичных ключей?
Недавно где-то прочитал, что первичный ключ может быть только один. Это так?
Заранее выражаю огромную благодарность всем, кто поможет
- Вопрос задан более трёх лет назад
- 5165 просмотров
5 комментариев
Простой 5 комментариев
Выше всё верно сказали — можно сделать ключ составным, т.е. по нескольким столбцам. Например:
constraint FK_Table2 foreign key (id_t1, t1_1, t1_2) references Table1 (id_t1, t1_1, t1_2)

JackShcherbakov @JackShcherbakov Автор вопроса
При ссоздании таблицы если мы укажем в 2-х столбцах PRIMARY KEY, то разве не создастся 2 первичных или что?

JackShcherbakov @JackShcherbakov Автор вопроса
Лентюй, а что произойдёт в этом случае? Что будет первичным ключом и что будет индексом? Я похоже не понимаю что делает PRIMARY KEY и как создать первичный ключ.

JackShcherbakov @JackShcherbakov Автор вопроса
Лентюй, а как явно указать какой из этих всех PRIMARY KEY является первичным?

JackShcherbakov @JackShcherbakov Автор вопроса
Лентюй, Я правильно понимаю что при создании/изменении таблицы я могу указать несколько PRIMARY KEY, в том числе составных. Для них автоматически сделаемся индекс. И мне самому решать какой из них — первичный и я никак явно не говорю MYSQL о том какой ключ является первичным. То есть, грубо говоря, информация о том какой ключ является первичным -своего рода соглашение + MySQL не знает какой именно первичный. Или все таки можна явно указать «первичность» ключа.
Решения вопроса 0
Ответы на вопрос 4

web-программист
Первичный ключ может быть только один.
НО
Первичный ключ может быть по нескольким полям. Это иногда может вводить в заблуждение, что их несколько, но это не так. Он всегда только один.
Ответ написан более трёх лет назад
Нравится 3 3 комментария

JackShcherbakov @JackShcherbakov Автор вопроса
Я правильно понимаю что при создании/изменении таблицы я могу указать несколько PRIMARY KEY, в том числе составных. Для них автоматически сделаемся индекс. И мне самому решать какой из них — первичный и я никак явно не говорю MYSQL о том какой ключ является первичным. То есть, грубо говоря, информация о том какой ключ является первичным -своего рода соглашение + MySQL не знает какой именно первичный. Или все таки можна явно указать «первичность» ключа.

несколько PRIMARY KEY
Первичный ключ может быть только один

JackShcherbakov, Вы путаете PRIMARY KEY, FOREIGN KEY, INDEX.
PRIMARY KEY — данное ограничение позволяет однозначно идентифицировать каждую запись в таблице.
Первичный ключ должен содержать уникальные значения.
Первичный ключ не может содержать NULL значений.
Каждая таблица должна (хоть некоторые субд и разрешают не указывать явно PK) иметь первичный ключ, и каждая таблица может иметь только один первичный ключ.
SQL PRIMARY KEY
Ограничение PRIMARY KEY однозначно идентифицирует каждую запись в таблице.
Первичные ключи должны содержать уникальные значения и не могут содержать нулевые значения.
Таблица может иметь только один первичный ключ, а в таблице этот первичный ключ может состоять из одного или нескольких столбцов (полей).
PRIMARY KEY в CREATE TABLE
Следующий SQL создает первичный ключ о «ID» в столбик, когда таблица «Persons» создается:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Чтобы разрешить именование ограничения первичного ключа и определить ограничение первичного ключа для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Примечание: В приведенном выше примере существует только один первичный ключ (PK_Person). Однако значение первичного ключа состоит из двух столбцов (ID + LastName).
PRIMARY KEY в ALTER TABLE
Чтобы создать ограничение первичного ключа для столбца «ID», когда таблица уже создана, используйте следующий SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Чтобы разрешить именование ограничения первичного ключа и определить ограничение первичного ключа для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Примечание: Если вы используете инструкцию ALTER TABLE для добавления первичного ключа, то столбец(ы) первичного ключа должен(ы) быть уже объявлено, что они не содержат нулевых значений (при первом создании таблицы).
Ограничение PRIMARY KEY с DROP
Чтобы удалить ограничение первичного ключа, используйте следующий SQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
Мы только что запустили
SchoolsW3 видео
курс сегодня!
Сообщить об ошибке
Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:
Ваше предложение:
Спасибо Вам за то, что помогаете!
Ваше сообщение было отправлено в SchoolsW3.
Schoolsw3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
