Лабораторная работа №3 Модификация структуры базы данных

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

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

Таблицы «Группы» и «Предметы» являются справочниками. Справочники предназначены для хранения данных, которые часто используются в базе. Например, чтобы не вводить несколько раз одно и тоже название группы (а соответственно хранить меньше данных) 25 студентам, можно создать запись в справочнике и делать ссылку на эту запись.

Подстановка данных

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

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

Поле подстановки предназначено для замены отображаемого числа, например ID или Код, более понятным значением, таким как имя. Например, вместо отображения идентификатора группы Access может показать наименование группы. Идентификатор контакта является связанным значением. Оно автоматически ищется исходной таблице (Группы) или запросе и заменяется наименованием группы.

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

Сделаем подстановку для таблицы «Анкета» в поле «Группа» из таблицы справочника «Группы».

Откройте таблицу «Анкета» в режиме конструктора. Для поля «Группы» выберите в типе данных значение «Мастер подстановки».

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

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

Поскольку нам необходимо выводить название группы, то переносим в правую сторону поле «Наименование». Далее.

Далее настраивается сортировка данных для подстановки. Выберите поле «Наименование» и выберите сортировку по возрастанию. Далее.

Далее по желанию можно настроить ширину столбцов. Далее.

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

После этого Access предложит сохранить таблицу.

Перейдите в свойства поля «Группа». Перейдите на вкладку «Подстановка».

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

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

Для таблицы «Преподаватели» установим набор значений для поля «Образование». Перейдите аналогично к таблице и для поля выберите «Мастер подстановки».

Выберите значение «Будет введен фиксированный набор значений». Число столбцов – 1. Введите три вида образования: высшее, среднее общее и среднее профессиональное.

Выберите «Далее»». Название поля оставьте неизменным и поставьте галочку напротив ограничения «Ограничиться списком» и нажмите «Готово».

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

Сохраните изменения и перейдите в режим таблицы. Измените значения поля «Образование» для записей.

Дополнительно можно посмотреть информацию здесь

Изменения структуры таблицы. Добавление и удаление строк и столбцов.

В таблице «Анкета» после поля «Отчество» добавьте поле «Пол». Для того, чтобы добавить или удалить поле необходимо нажать ПКМ слева от столбца с именем поля. В открывшемся контекстном меню выбрать «Добавить/Удалить строки».

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

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

Самостоятельно. Аналогично добавьте для таблицы «Преподаватели» поле «Семейное положение» и укажите следующий список значений: «Не замужем/не женат», «Разведен(а)», «Замужем/женат».

Внесите еще три записи в таблицы «Анкета» и «Преподаватели» и дополните у существующих записей значения для созданных полей.

Правило проверки

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

Откройте через конструктор таблицу «Анкета». Для поля «Год рождения» укажем ограничение, что значение должно быть строго больше 1930.

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

Примеры ограничений:

  1. Запрет прошедших дат: >=Date()

  2. Общепринятый формат эл. почты: Is Null OR ((Like "*?@?*.?*") AND (Not Like "*[ ,;]*"))

  3. Число не больше пяти: <=5

  4. Неотрицательное значение в поле валюты: >=0

  5. Ограничения числа знаков в строке: Len([StringFieldName])<100

  6. Проверка того, что дата окончания не предшествует дате начала: [Дата окончания]>=[Дата начала]

  7. Ввод даты назначения, которая должна быть не позднее 30 дней с даты заказа: [Дата назначения]<=[Дата заказа]+30

Самостоятельно. Придумать несколько правил для таблицы «Анкета» и «Преподаватели».

Дополнительную информацию можно посмотреть здесь

Контрольные вопросы

Что такое подстановка данных?

Какие существуют преимущества у подстановки данных?

Какие возможности есть у мастера подстановки?

Как изменится ввод данных после использования подстановки данных?

Что такое правило проверки? Как его добавить?