Создание базы данных (установка связей между таблицами)
Содержание:
4.2.1. Установка связей между таблицами
Одно из наиболее
мощных средств Access
– возможность устанавливать
связи между таблицами.
Создание связей между таблицами облегчает
выполнение операций над данными,
позволяет контролировать их целостность.
Для реализации этой операции используется
команда Схема
данных в
меню Сервис
или кнопка Схема
данных панели
инструментов
при
работе в диалоговом окне базы данных
(вкладка Таблицы).
В результате выполнения этой операции
открывается диалоговое окно «Схема
данных»
(см. рис.).
Для добавления
таблицы БД в схему используется диалоговое
окно «Добавление
таблицы»,
которое можно
открыть с помощью контекстного меню,
вызванного щелчком правой кнопки мыши
по свободному месту в окне «Схема
данных».
Задание 1.
Выполните команду Схема
данных
и добавьте в схему все таблицы, созданные
в БД (для добавления таблицу или таблицы
следует выделить и щелкнуть по кнопке
Добавить).
После того, как все таблицы будут включены
в схему окно «Добавление
таблицы»
следует закрыть.
Окно схема данных
принимает вид, показанный на рисунке
(таблицы в окне схемы перемещаются с
помощью мыши, можно изменять их размер).
В окне появляются изображения каждой
таблицы БД, добавленной в схему, с
перечнем всех включенных в них полей.
Ключевые поля выделяются жирным шрифтом.
Для удобства ключевые поля лучше ставить
на первое место. Из этого окна можно
вызвать операции над таблицами с помощью
контекстного меню. Для удобства работы
изображения таблиц лучше всего разместить
так:
Для добавления
связи
между таблицами следует воспользоваться
следующим приемом: с помощью мыши
переместить поле (или поля), которое
необходимо связать, из исходной (главной)
таблицы в соответствующее поле (или
поля) второй (подчиненной) таблицы.
Например: установите курсор мыши на
поле «НомерКлиента»
в таблице «Клиенты»,
нажмите левую кнопку мыши и, удерживая
ее нажатой, переместите курсор до его
совмещения со строкой с тем именем
«НомерКлиента»
в таблице «Заказы».
В большинстве случаев ключевое слово
первой таблицы связывается с аналогичным
полем второй.
После
перемещения поля появляется диалоговое
окно «Связи«,
в котором, если это необходимо, можно
изменить имена полей. В этом же окне
(см. рис.) можно установить флажок
«Обеспечение
целостности данных«,
что дает возможность указать вариант
обновления информации в связанных
таблицах при внесении изменений в
исходную таблицу: связанные поля могут
быть каскадно удалены или обновлены,
что сохранит согласованность данных в
различных таблицах БД.
Задание 2.
Создайте связь между таблицей «Клиенты»
(главная таблица) и таблицей «Заказы»
(подчиненная таблица). Для этого выполните
следующие действия:
1.
Установите курсор мыши на поле
«НомерКлиента»
в списке полей таблицы «Клиенты»
в окне «Схема
данных».
Нажмите левую кнопку мыши и, удерживая
кнопку нажатой, переместите курсор в
окне, совместив перемещаемый значок с
названием поля «НомерКлиента»
в таблице «Заказы».
Отпустите кнопку мыши.
2. В открывшемся
диалоговом окне «Связи»
проверьте информацию о создаваемой
связи: таблица «Клиенты»
(поле «НомерКлиента»)
связывается с таблицей «Заказы»
(по полю «НомерКлиента»).
Тип устанавливаемого отношения (связи)
– «один-ко-многим».
Если информация, отображаемая в окне,
не соответствует тому, что показано на
приведенном выше рисунке, следует
исправить ошибку.
3. Включите флажок
«Обеспечение
целостности данных»
и флажки «Каскадное
обновление связанных полей»
и «Каскадное
удаление связанных полей».
4. Щелкните кнопку
Создать,
завершая выполнение операции.
Примечание.
Ошибки при установке связей чаще всего
возникают из-за того, что неверно были
установлены тип данных или свойства
полей при создании структур таблиц. Для
исправления ошибок следует вернуться
к соответствующей таблице в режиме
Конструктор.
Задание 3. Создайте
связи между таблицами «Услуги»
и «Заказы»,
«Исполнители»
и «Заказы»
по полям «КодУслуги»
и «НомерИсполнителя»
соответственно Закройте схему, подтвердив
сохранение изменений.
Вопросы для
самоконтроля:
-
Какие связи могут
существовать между таблицами в СУБД? -
Что обеспечивает
создание связей? -
Как разместить в
схему данных все необходимые связываемые
таблицы? -
Как установить
связь между таблицами? -
Зачем выставляется
флажок Обеспечение
целостности данных? -
Что нужно делать,
если целостность данных при создании
связей не обеспечивается?
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис. 1.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис. 2.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис. 4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис. 5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Рис. 6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис. 7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис. 8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
2.4. Microsoft Access 2007
2.4.4. Заполнение таблиц БД Access 2007
Tables БД Access 2007 необходимо заполнять данными в определенной последовательности. Сначала надо заполнять главные tables, а затем подчиненные. Заполнение таблиц для БД Деканат целесообразно выполнять в такой последовательности: Группы студентов, Студенты, Дисциплины и Успеваемость. В этом случае для заполнения полей вторичных ключей (КодГруппы, КодСтудентов, КодДисциплины) можно использовать раскрывающийся список данных.
Раскрывающийся список данных для вторичных ключей появится только в том случае, если при создании структуры подчиненных таблиц в режиме конструктор для полей вторичных ключей выбран тип данных «Мастер подстановок».
Рассмотрим заполнение таблицы Группы студентов. В окне базы данных Деканат_2007 в области объектов выбираем таблицу Группы студентов, и выполняем на ней двойной щелчок. В окне редактирования появится структура табл. «Группы студентов» в режиме таблицы. Новая table состоит из одной пустой строки.
Заполнение производится по записям (по строкам). Поле счетчика (поле КодСтудента) заполняется автоматически. Переход к следующему полю осуществляется нажатием клавиши ТаЬ. После ввода первой записи курсор смещается на следующую запись. После заполнения table Группы студентов имеет следующий вид (рисунок 1).
Рис. 2.
Аналогичным образом заполняется table Студенты (рис.2). Необходимо отметить, что в табл. Студенты поле КодГруппы заполняется из раскрывающегося списка.
Рис. 2.
Если раскрывающийся список не появляется, то необходимо закрыть таблицу Студенты и открыть окно Схема данных. В этом окне для таблицы Студенты разорвать связи, т.е. удалить отношения. Для этого щелкаем правой кнопкой мыши на одну из связей и из контекстного меню выбираем команду Удалить. Затем удаляем другую связь. Закрываем окно Схема данных. Открываем табл. «Студенты» в режиме Конструктор.
Из списка выбираем тип данных для поля КодГруппы «Мастер подстановок». В процессе назначения типа данных «Мастер подстановок» для поля КодГруппы табл. «Студенты» выбираем следующие данные: на первом шаге Группы студентов, а затем Название и далее щелкаем Готово. Закрываем таблицу Студенты. После этого восстанавливаем связи (отношения) в окне Схема данных. Продолжаем заполнение таблицы Студенты с использованием раскрывающегося списка для поля КодГруппы.
Далее заполняется table Дисциплины (рис. 3).
Рис. 3.
Затем заполняется table Успеваемость (рис. 4).
Рис. 4.
В таблице Успеваемость поля КодДисциплины и КодСтудента заполняются из раскрывающихся списков.
Необходимо отметить, что в базах данных Access 2007 применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопок из области Запись, расположенных внизу таблицы в режиме таблицы; команды Перейти в группе Найти, расположенной на ленте. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.
Поиск данных в таблице большого объема, можно осуществлять командой поиск расположенный внизу таблицы в режиме таблицы или командой Найти в группе Найти, расположенной на ленте. Для замены данных в полях необходимо использовать команду Заменить в группе Найти, расположенной на ленте.
После создания структуры таблиц, их заполнения и установления отношений (логических связей) между таблицами можно приступать к построению запросов.
Далее >>> Раздел: 2.4.5. Создание запросов в базе данных Access 2007
Целостность данных
Референтная целостность — это система правил, которую использует Access, чтобы убедиться, что связи между записями в соответствующих таблицах действительны и что пользователь не удалит или не изменит случайно связанные с ними данные. Вы можете установить целостность данных, когда все следующие условия верны:
- Совпадающие поля из основной таблицы являются первичным ключом или имеет уникальный индекс.
- Связанные поля имеют один и тот же тип данных. Из этого правила есть два исключения: Поле AutoNumber может быть связано с полем Number, которое имеет настройку свойства Long Integer, а поле AutoNumber, которое имеет настройку свойства Replication ID, может быть связано с полем Number, которое имеет настройку свойства Replication ID.
- Обе таблицы относятся к одной и той же базе данных Access. Если таблицы являются связанными таблицами, они должны быть таблицами в формате Access, и необходимо открыть базу данных, в которой они хранятся, чтобы установить целостность данных. Референтная целостность не может быть применена для связанных таблиц из баз данных в других форматах.
При использовании целостности данных применяются следующие правила:
- Невозможно ввести значение во внешнем ключевом поле связанной таблицы, которое не существует в первичном ключе первичной таблицы. Тем не менее, можно ввести значение Null во внешнем ключе. Это указывает на то, что записи не связаны между собой. Например, невозможно иметь заказ, который назначается клиенту, который не существует. Тем не менее, можно иметь заказ, который не назначается никому, введя значение Null в поле CustomerID.
- Вы не можете удалить запись из основной таблицы, если в соответствующей таблице существуют соответствующие записи. Например, вы не можете удалить запись сотрудника из таблицы «Сотрудники», если в таблице «Заказы» есть заказы, назначенные сотруднику.
- Невозможно изменить основное ключевое значение в основной таблице, если эта запись имеет соответствующие записи. Например, вы не можете изменить идентификатор сотрудника в таблице «Сотрудники», если в таблице «Заказы» есть заказы, назначенные этому сотруднику.
Создание отношений между таблицами
В нашем примере отношения между таблицами уже были определены во время создания. Остановимся более подробно на том, как это сделать. Как мы уже знаем, «Отели» содержит поле «Регион», данные для которого берутся из одноименной таблицы. При добавлении столбца «Регион» указывается тип поля «Подстановка и отношение».
Открывается мастер создания поля, в котором мы выбираем вариант получения значения ячеек из другого объекта. На втором шаге мастера выбираем объект, из которого будут подставляться значения. В нашем случае это таблица «Регионы». Из списка доступных для отображения полей нам нужно «Наименование» — в таблице отелей будут показаны названия регионов. При необходимости задаем порядок сортировки наименований и ширину столбца.
На последнем шаге даем имя новому полю и указываем параметр целостности. Подробнее на нем мы остановимся ниже. После нажатия на кнопку «Готово» в таблицу отелей добавлен столбец «Регион», значения для него берутся из указанного объекта.
Связь между таблицами отелей и регионов теперь отображается на схеме.
3.1. Определение связей между таблицами
В созданной базе данных таблицы связаны
друг с другом. Для связанных таблиц
изменение некоторых свойств полей
становится невозможным. В связанную
таблицу нельзя добавить новое поле или
удалить существующее поле, но можно
добавить записи, а также изменить
значения отдельных полей. Если связь
установлена с таблицей Access, то доступна
также операция удаления записей.
После того как в БД созданы основные
таблицы, следует указать, как они связаны
друг с другом. Эти связи Access будет
использовать в запросах, формах и отчетах
при отборе информации из нескольких
таблиц. Задание связей между таблицами
позволяет также обеспечить защиту
целостности данных в БД. Окно связей
вызывается командой Схема данныхменюРабота с базой данных(см. рис.
3.1)
Рис. 3.1.
Связь между двумя таблицами, одна из
которых является главной, а другая
подчиненной, устанавливает соответствие
между записями этих таблиц. Для
установления связи нужно, чтобы в главной
таблице существовало поле или группа
полей, совокупность значений которых
однозначно определяла бы запись (была
уникальной). Обычно в качестве поля
(группы полей) связи выбирается ключевое
поле таблицы, но достаточно, чтобы оно
имело уникальный индекс. В соответствие
ему ставится поле (группа полей)
подчиненной таблицы, называемое внешним
ключом. Связь между записями устанавливается
по совпадению значений в полях связи.
!!! Поля связи могут иметь разные имена,
но они должны иметь один тип данных и
иметь однотипное содержимое.
Исключение из этого правила: поле типа
Счетчик можно связывать с числовым
полем, имеющим в свойстве Размер поля
значение «Длинное целое». Кроме того,
связываемые поля числового типа должны
иметь одинаковые значения свойства
Размер поля. Например, для получения
информации о студентах и полученных
ими оценках следует определить связь
по полям Код Студента в таблицах Студенты
и Сессия. Главной в этой связи будет
таблица Студенты, а подчиненной —
таблица Сессия. Каждой записи в главной
таблице — данным о студенте — соответствует
несколько (или ни одной) записей из
подчиненной таблицы — информация об
его оценках. Поле Код Студента в таблице
Сессия является внешним ключом.
Как определить связи между таблицами
При создании связи между таблицами связанные поля не должны иметь одни и те же имена. Однако связанные поля должны иметь один и тот же тип данных, если только поле первичного ключа не является полем AutoNumber. Вы можете сопоставить поле AutoNumber с полем Number, только если свойство FieldSize обоих совпадающих полей совпадает. Например, можно сопоставить поле AutoNumber и поле Number, если свойство theFieldSizeproperty обоих полей имеет значение Long Integer. Даже если оба совпадающих поля являются числовыми полями, они должны иметь параметр sameFieldSizeproperty.
Как определить связи «один ко многим» или «один к одному»
Чтобы создать связь «один ко многим» или «один к одному», выполните следующие действия.
-
Закройте все таблицы. Нельзя создавать или изменять связи между открытыми таблицами.
-
В Access 2002 и Access 2003 выполните следующие действия.
- Нажмите F11, чтобы переключиться в окно базы данных.
- В меню Инструменты выберите Связи.
В Access 2007, Access 2010 или Access 2013 нажмите Связи в группе Показать/Скрыть на вкладке Инструменты базы данных.
-
Если вы еще не определили какие-либо связи в базе данных, автоматически отобразится диалоговое окно Показать таблицу. Если вы хотите добавить таблицы, которые нужно связать, но диалоговое окно Показать таблицу не отображается, нажмите Показать таблицу в меню Связи.
-
Дважды щелкните названия таблиц, которые вы хотите связать, а затем закройте диалоговое окно Показать таблицу. Чтобы создать связь между одной и той же таблицей, добавьте эту таблицу два раза.
-
Перетащите поле, которое вы хотите связать, из одной таблицы в связанное поле в другой таблице. Чтобы перетащить несколько полей, нажмите Ctrl, нажмите на каждое поле, а затем перетащите их.
В большинстве случаев вы перетаскиваете поле первичного ключа (это поле отображается жирным текстом) из одной таблицы в аналогичное поле (это поле часто имеет одно и то же имя), которое называется внешним ключом в другой таблице.
-
Откроется диалоговое окно Изменение связей. Убедитесь, что имена полей, отображаемые в двух столбцах, верны. Вы можете изменить имена, если это необходимо.
При необходимости установите параметры связей. Если у вас есть информация о конкретном элементе в диалоговом окне Изменение связей, нажмите кнопку со знаком вопроса, а затем нажмите на элемент. (Эти параметры будут подробно описаны ниже в этой статье.)
-
Нажмите кнопку Создать, чтобы создать связь.
-
Повторите шаги с 4 по 7 для каждой пары таблиц, которые вы хотите связать.
При закрытии диалогового окна Изменение связей Access спрашивает, хотите ли вы сохранить макет. Сохраняете ли вы макет или не сохраняете макет, созданные вами связи сохраняются в базе данных.
Примечание
Можно создавать связи не только в таблицах, но и в запросах. Однако целостность данных связывания не обеспечивается с помощью запросов.
Как определить связь «многие ко многим«
Чтобы создать связь «многие ко многим», выполните следующие действия.
-
Создайте две таблицы, которые будут иметь связь «многие ко многим».
-
Создайте третью таблицу. Это стыковочная таблица. В таблице соединения добавьте новые поля, которые имеют те же определения, что и основные ключевые поля из каждой таблицы, созданной в шаге 1. В связующей таблице основные ключевые поля функционируют как внешние ключи. Вы можете добавить другие поля в связующую таблицу, так же, как и в любую другую таблицу.
-
В связующей таблице установите первичный ключ, чтобы включить основные ключевые поля из двух других таблиц. Например, в связующей таблице «TitleAuthors» первичный ключ будет состоять из полей OrderID и ProductID.
Примечание
Чтобы создать первичный ключ, выполните следующие действия:
-
Откройте таблицу в Конструкторе.
-
Выберите поле или поля, которые вы хотите определить в качестве первичного ключа. Чтобы выбрать одно поле, нажмите на селектор строки для нужного поля. Чтобы выбрать несколько полей, удерживайте клавишу Ctrl, а затем нажмите селектор строки для каждого поля.
-
В Access 2002 или в Access 2003 нажмите на Первичный ключ на панели инструментов.
В Access 2007 нажмите на Первичный ключ в группе Инструменты на вкладке Дизайн.
Примечание
Если вы хотите, чтобы порядок полей в первичном ключе с несколькими полями отличался от порядка этих полей в таблице, нажмите Индексы на панели инструментов для отображения диалогового окна Indexes, а затем заново упорядочите имена полей для индекса с именем PrimaryKey.
-
-
Определите связь один-ко-многим между каждой основной и связующей таблицами.
Изменение отношений
Если отношение не добавлено при добавлении столбца в объект, это делается непосредственно в макете схемы данных в Access. Как создать новую связь, покажем на примере. Нажмите кнопку «Изменить связи». В редактировании отношений для создания новой связи нажмите «Новое». В форме «Создание» выбираем таблицы для связи и поля, которые будут соответствовать друг другу.
Для уже созданной связи есть возможность изменять параметры объединения записей в запросах. Для этого вызываем диалоговое окно схемы данных MS Access «Изменение связей» и нажимаем кнопку «Объединение». В форме редактирования параметров предложены варианты объединений:
- В первом случае в результатах запроса отображаются только те строки, в которых поля таблиц «Отели» и «Регионы» совпадают.
- Во втором случае объединяются все строки «Регионов» и только совпадающие «Отелей».
- В третьем ситуация обратна второму – все строки «Отелей» объединяются с совпадающими «Регионов».
Мы оставляем автоматический выбор системы – первый вариант.
Связь вида 1:1
Определение 2
Связь 1:1 создается, если все поля связи основной и дополнительной таблиц – ключевые.
Т.к. значения ключевых полей обеих таблиц не могут повторяться, записи из этих таблиц взаимно-однозначно соотносятся.
Пример 1
Пусть существует основная О и дополнительная Д таблицы. Символом «$*$» обозначим ключевые поля, символом «$+$» обозначим поля, которые используются для связи.
В таблицах совпадают значения в полях связи, поэтому будут связаны запись (а, 10) таблицы О и запись (а, стол) таблицы Д, а также запись (в, 3) и (в, книга).
На практике связь 1:1 используется довольно редко, т.к. информацию, которая хранится в двух таблицах, можно объединить в одну таблицу, которая будет занимать намного меньше места в памяти компьютера.
Пример 2
Например, если объединить запись (а, 10) таблицы О и запись (а, стол) таблицы Д, то получим запись (а, 10, стол) новой псевдотаблицы.
Иногда удобно иметь больше одной таблицы. Например, при необходимости ускорения обработки, повышения удобства работы с общей информацией нескольких пользователей, обеспечения большей степени защиты информации и т.д.
Связь «Один к одному»
Связь один к одному образуется, когда ключевой столбец (идентификатор) присутствует в другой таблице, в которой тоже является ключом либо свойствами столбца задана его уникальность (одно и тоже значение не может повторяться в разных строках).
На практике связь «один к одному» наблюдается не часто. Например, она может возникнуть, когда требуется разделить данных одной таблицы на несколько отдельных таблиц с целью безопасности.
В учебной безе данных нет подходящего примера, но гипотетически могла бы существовать необходимость разделения таблицы сотрудников.
Пример:
Представьте, что базой данных пользуются несколько менеджеров и аналитиков, а таблица «Сотрудники» содержит те же столбцы, что и учебная база. Следовательно, доступ к персональным данным может получить любой из упомянутых работников.
Чтобы устранить возможность утечки конфиденциальной информации, принимается решение о переносе информации паспортных данных в отдельную таблицу, доступ к которой предоставляется ограниченному кругу лиц.