Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы в Acees.rtf
Скачиваний:
22
Добавлен:
31.08.2019
Размер:
3.36 Mб
Скачать

Задание

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

Порядок выполнения работы

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

  • выберите таблицы КАДРЫ и ЗАРПЛАТА,

  • закройте окно выбора.

В выбранных таблицах ключевые поля отмечены жирным шрифтом.

Протяните указатель мыши от поля ТабНом таблицы КАДРЫ в поле ТабельныйНомер таблицы ЗАРПЛАТА. Эти поля соединятся линией – связью. Появится окно свойств этой связи.

Таблица в верхней части окна служит для того, чтобы устанавливать связи одновременно по нескольким полям. Например, если имеются таблицы начислений и удержаний, аналогичные созданной ранее таблице ЗАРПЛАТА, то их требуется связать одновременно и по дате и по табельному номеру. Пока проверьте, что связь установлена между полями табельных номеров двух разных таблиц.

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

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

В рассматриваемом примере потребуется вначале ввести всех работников, а потом – их зарплату. Это логично: вначале работник принимается на работу, а затем ему можно начислять зарплату.

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

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

В данном случае должен установиться тип связи Один ко многим, так как в одной таблице ТабНом – ключевое поле и не может повторяться, а в другой – не ключевое (один сотрудник может получить несколько зарплат). Поле ТабельныйНомер – часть ключа в таблице ЗАРПЛАТА.

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

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

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

Если же установить флажок Каскадное удаление связанных записей, то при удалении сотрудника из таблицы КАДРЫ (например при его увольнении с работы), будут удалены и все записи о его зарплате.

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

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

Внимание. Ввиду тонкости линии связи лучше щелкать по ней левой кнопкой до тех пор, пока она не станет выделенной (при выделении линия становится толще). Потом щелкните по выделенной связи правой кнопкой.

Удаление выделенной связи также производится с помощью контекстного меню или нажатием клавиши Delete.

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

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

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

Закройте окно схемы данных.

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

Для этого выберите две связанные таблицы, выберите поля фамилии, района, суммы зарплаты и месяца начисления.

Задайте порядок сортировки одновременно по месяцам, районам, фамилиям.

Просмотрите результаты созданного запроса.

Введите в запрос условия отбора:

  • выбор сведений по одному месяцу;

  • выбор сведений по одному району.