Сборник практических работ Access. Сборник Access. Урок Создание таблиц базы данных Рассмотрим последовательность необходимых действий при создании файла и таблиц базы данных. База данных Учебный процесс будет состоять из семи таблиц, свойства полей которых приведены в конце этой главы в приложении.
Скачать 2.9 Mb.
|
один-ко-многим. Отметим параметр Обеспечение целостности данных. Если таблица ГРУППА и СТУДЕНТ ранее были заполнены корректными данными, между таблицами будет установлена связь, обозначенная на схеме как 1:∞. Это свидетельствует о регистрации связи типа Мс параметром поддержания целостности. В противном случае появится сообщение о невозможности установить этот тип отношения. Для обеспечения автоматической корректировки данных во взаимосвязанных таблицах установим флажок каскадное обновление связанных полей и каскадное удаление связанных записей. Аналогичные действия выполняются для других пар таблиц КАФЕДРА → ПРЕПОДАВАТЕЛЬ (ключ ККАФ), ПРЕДМЕТ → ИЗУЧЕНИЕ (ключ КН, ПРЕПОДАВАТЕЛЬ → ИЗУЧЕНИЕ (ключ ТАБН), ГРУППА → ИЗУЧЕНИЕ ключ НГ). Определение связей по составному ключу. Определим связи между таблицами СТУДЕНТ → УСПЕВАЕМОСТЬ, которые связаны по составному ключу НГ+НС. Для этого в главной таблице СТУДЕНТ выделим оба этих поля, удерживая клавишу Ctrl. Перетащим оба поляна поле НГ в подчиненной таблице УСПЕВАЕМОСТЬ. В окне Изменение связи (рис. 3.3) для ключевого поля НС главной таблицы ТАБЛИЦА/ЗАПРОС выберем соответствующее поле подчиненной таблица СВЯЗАННАЯ ТАБЛИЦА/ЗАПРОС. В этом же окне установим режимы Обеспечение целостности данных и другие параметры связи. Рис. 3.3. Окно выбора параметров Связи Аналогично определяются связи между парой таблиц ИЗУЧЕНИЕ → УСПЕВАЕМОСТЬ (составной ключ связи – НГ+КП+ТАБН+ВИДЗ). 25 После определения связей таблицы могут перемещаться в пределах рабочего пространства окна схемы данных. Перемещения и изменения размеров таблиц осуществляются принятыми в Windows способами. На рис. 3.2 показана схема данных Учебный процесс, где таблицы размещены в соответствии сих относительной подчиненностью. Проверка работоспособности схемы данных, поддержание целостности осуществляется при конструировании форм, запросов, отчетов и их использовании, а также при непосредственной корректировке таблиц. Проверка поддержания целостности в базе данных На рис. 3.2 в созданной схеме данных БД Учебный процесс все связи отмечены символами 1, ∞, что свидетельствует об установлении связей типа М (по простому или составному ключу, для которых будет обеспечиваться целостность данных. Проверим поддержание целостности привнесении изменений в таблицы ГРУППА → СТУДЕНТ, связанные одно-многозначными отношениями. Проверка целостности при изменении значений связанных полей в таблицах. Откроем таблицу ГРУППА в режиме таблицы. Изменим значение ключевого поля НГ (номер группы) водной из записей главной таблицы ГРУППА. Убедимся, что во всех записях подчиненной таблицы СТУДЕНТ, для студентов, обучающихся в этой группе, автоматически также изменится значение поля НГ. Изменение происходит поскольку был установлен параметр каскадное обновление связных полей (см рис. 3.3). Причем это изменение осуществляется мгновенно, как только изменяемая запись перестает быть текущей. Для наблюдений за автоматическими изменениями в подчиненной таблице откроем на экране одновременно таблицы ГРУППА и СТУДЕНТ. Открыв другие подчиненные таблицы, можно убедиться, что каскадное обновление распространяется также на подчиненные таблицы следующих уровней ИЗУЧЕНИЕ и УСПЕВАЕМОСТЬ. Изменим значение ключа связи НГ в подчиненной таблице СТУДЕНТ назначение, несуществующее в записях таблицы ГРУППА, и убедимся, что такое изменение запрещено, т.к. при поддержании целостности не может существовать запись подчиненной таблицы с ключом связи, которого нет в главной таблице. Проверка при добавлении записей в подчиненную таблицу. Убедимся, что вместе с удалением записи в главной таблице ГРУППА удаляются все подчиненные записи, т. к. был установлен параметр каскадное удаление связанных записей. Заметим, если каскадное удаление не разрешено, невозможно удалить запись в главной таблице, если имеются связанные с ней записи в подчиненной. Если выполнение изменений невозможно, появится сообщение (рис. 3.4). Рис Сообщение о невозможности внесения изменений в таблицу СТУДЕНТ Определение технологии загрузки базы данных Рассмотрим технологию загрузки на примере базы данных Учебный процесс, в котором связи между таблицами соответствуют схеме данных, приведенной в этой главе . Документы-источники загрузки этой базы данных перечислены при описании предметной области в главе 2. Таблицы-объекты загрузки Определим объекты загрузки – группы из взаимосвязанных таблиц, подлежащих загрузке из одного документа 1. Таблицы ГРУППА СТУДЕНТ. Загрузка записей этих таблиц будет производиться одновременно из одного документа Список студентов группы, что обеспечивает формирование взаимосвязей записей студентов с соответствующей записью группы. При этом будет обеспечен однократный ввод реквизитов ГРУППЫ и однократный ввод значений НГ для всех студентов группы. 2. Таблицы КАФЕДРА ПРЕПОДАВАТЕЛЬ. Загрузка записей этих таблиц также будет производиться одновременно из одного документа Список преподавателей кафедры, что обеспечивает сразу формирование взаимосвязей записей преподавателей с соответствующей записью кафедры. При этом будет обеспечен однократный ввод реквизитов КАФЕДРЫ и однократный ввод значений ККАФ для всех преподавателей кафедры. 3. Таблица ПРЕДМЕТ. Загрузка этой таблицы может производиться из плана произведения занятий в группах. При этом достаточно ввести составной 27 идентификатор занятия, не вводя наименование предмета и фамилию преподавателя. Таблица ИЗУЧЕНИЕ. Загрузка этой таблицы может производиться из плана проведения занятий в группах. При этом достаточно ввести составной идентификатор занятия, не вводя наименование предмета и фамилию преподавателя. Таблица УСПЕВАЕМОСТЬ. Загрузка этой таблицы может производиться из заполнения экзаменационной ведомости группы. При этом достаточно точно ввести составной идентификатор, не вводя фамилию студента, наименование предмета, фамилию преподавателя. Последовательность загрузки таблиц Загрузка первых трех объектов ГРУППА СТУДЕНТ, КАФЕДРА, ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ может производиться в любой последовательности т.к. эти группы таблиц на схеме данных не находятся в подчиненных отношениях. Загрузка таблицы ИЗУЧЧЕНИЕ должна производиться после загрузки таблиц ГРУППА, ПРЕДМЕТ и ПРЕПОДАВАТНЛЬ, т.к. таблица ИЗУЧЕНИЕ в схеме данных подчинена этим таблицам. Загрузка таблицы УСПЕВАЕМОСТЬ может производиться только после загрузки таблиц СТУДЕНТ и ИЗУЧЕНИЕ, т.к. таблица УСПЕВАЕМОСТЬ в схеме данных подчинена этим таблицам. Технология загрузки базы данных Учебный процесс может быть представлена в виде таблицы и (см. табл. 3.1). Таким образом, в результате определена последовательность этапов загрузки данных Учебный процесса также объекты загрузки на отдельных этапах и соответствующие документы-источники данных. Таблица 3.1. Технология загрузки базы данных Учебный процесс Таблица БД- объекты загрузки Документы- источники Вид информации Этап загрузки Примечание ПРЕДМЕТ Учебный план, программа Справочная | ГРУППА СТУДЕНТ Список студентов группы Справочная | Независимые КАФЕДРА ПРЕПОДАВАТЕЛЬ Список преподавателей кафедры Справочная | Этапы ИЗУЧЕНИЕ План занятий Учетная || 28 группы УСПЕВАЕМОСТЬ Экзаменационная ведомость Учетная ||| Определив этапы загрузки БД можно приступить непосредственно к проектированию форм и их созданию средствами Access. Технология разработки форм на примере базы данных Учебный процесс будет рассмотрена ниже. Урок 4. Однотабличные формы Форма на основе таблицы может быть построена как самостоятельная для загрузки, просмотра и корректировки таблица также как вспомогательная для включения в какую-либо составную форму. Любая форма, с помощью которой можно просматривать, вводить или редактировать записи таблиц БД, должна быть предварительно спроектирована и далее сконструирована средствами Access. Для создания формы могут быть использованы мастера Однако, точное формирование макета формы в соответствии с требованиями, выработанными пользователем в процессе ее проектирования, обеспечивается средствами конструирования форм. Ниже рассматриваются основные понятия и техника конструирования однотабличных форм. Конструирование формы Для конструирования форм в Access используется Конструктор форм. При конструировании однотабличной формы определяется таблица БД, на основе которой создается форма, выбираются поля таблицы, которые должны быть представлены в форме, осуществляется их размещение в макете формы, создаются вычисляемые поля и другие графические элементы кнопки, выключатели, элементы оформления, поясняющий текст, рисунки. Для настройки различных элементов форм используется типовой набор их свойств. Области и элементы формы в режиме конструктора Форма в режиме Конструктора форм имеет три области Область данных Заголовок формы, и Примечание формы, которые могут быть образованы по команде меню Вид |Заголовок/примечание формы. Области формы наполняются различными графическими объектами. Элементы или графические объекты Графические объекты, связанные с записями таблиц и предназначенные для отображения данных некоторого поля, называются элементами управления. Основными типами элементами управления Поле Поле со списком, Список. Тип элемента управления, выбираемый для поля по умолчанию, определяется в свойствах поля таблицы базы данных, с которым связано поле формы. Задается это свойство при определенных типах данных поля в режиме конструктора таблиц на вкладке Подстановка Графические объекты, несвязанные с таблицами или запросами, предназначены прежде всего для создания макета формы и содержат надписиполей пользовательские названия реквизитов. Создание однотабличной формы с помощью инструмента Форма В области переходов щелкните таблицу или запрос сданными, которые должны отображаться в форме. На вкладке Создать в группе Формы нажмите кнопку Форма. см. рис. 4.1) Рис 4.1. Кнопка Форма на вкладке Создать в группе Формы Будет создана новая форма и отображена в режиме макета. В режиме макета можно внести изменения в структуру формы при одновременном отображении данных. Например, можно настроить размер полей в соответствии сданными. Работа команды Форма завершается отображением формы (рис. 4.2). При этом появляется панель инструментов Режим формы. Кнопки этой панели по назначению аналогичны кнопкам панели Таблица в режиме таблицы, рассмотренной в главе 3. Рис 4.2. Результат работы команды Форма по таблице ПРЕДМЕТ 31 Внимание. Подписи полей в форме соответствуют заданным в их свойствах при определении структуры таблицы. Подпись формы соответствует имени таблицы источника, при сохранении формы можно подтвердить это имя или изменить его. Редактирование формы Переход в режим конструктора формы. Для уточнения текста надписей, местоположения, размера, шрифта и других параметров отображения элементов формы необходимо перейти в режим конструктора форм. Приоткрытой форме переход в режим конструктора можно осуществить нажатием в вкладке Режимы кнопки Режим рис 4.3). Кнопка Режим обеспечена списком, развернув который можно выбрать необходимый режим представления формы. Рис. 4.3. Список режимов кнопки Режим Переход в режим конструктора можно осуществить также с помощью Контекстного меню данной формы (рис 4.4) 32 Рис. 4.4 После перехода в режим конструктора созданная форма откроется в окне конструктора форм (рис. 4.5). Рис. 4.5. Режим конструктора формы, полученной командой Форма по таблице ПРЕДМЕТ 33 После выбора режима конструктора в окне Access появляются панель Конструктор форм и Панель элементов. Панель форматирования Формат (Форма Отчет может быть вызвана при активном окне формы по команде меню Вид |Панели инструментов|Формат (Форма/Отчет). Создание заголовка. Для ввода текста заголовка в полученную форму в окне конструктора (рис. 4.6) расширим область заголовка формы, установив курсор мыши на границу области данных и перетаскивая эту границу на нужное расстояние. Рис. 4.6. Форма ПРЕДМЕТ-ПРОГРАММА в режиме конструктора форм Для ввода текста заголовка надо создать графический элемент Надпись. Начинается создание элемента щелчком мыши на кнопке панели элементов Надпись. Теперь на панели форматирования можно выбрать нужный шрифт и другие параметры оформления. Переместим курсор мыши на место начала текста. Нажмем кнопку мыши и, не отпуская ее, растянем рамку текста до нужного размера. Введем текст. Создание элемента Надпись завершается нажатием клавиши НП . Сохранение формы после редактирования. По завершении редактирования формы она может быть сохранена. Если редактируемая форма еще не сохранялась, выполняется команда меню Файл |Сохранить или нажимается кнопка панели инструментов Сохранить. Можно сохранить форму и при ее закрытии командой Файл |Закрыть (File|Close) или нажатием кнопки (Закрыть) окна формы. Далее надо подтвердить необходимость их сохранения, ив диалоговом окне Сохранение ввести название (ПРЕДМЕТ-ПРОГРАММА) в текстовом поле Имя формы (рис. 4.8). Если редактируемая форма была ранее сохранена, то для сохранения измененной формы под новым именем над выполнить команду меню Файл Сохранить как. Окончательный вид отредактированной формы в режиме конструктора представлен на рис 4.6. 35 Рис 4.7. Свойства для поля НП в форме, установленные мастером при создании формы для таблицы ПРЕДМЕТ Рис. 4.8. Ввод имени формы при ее сохранении Работа сданными таблицы в режиме формы Завершив редактирование формы, приступим к работе с таблицей ПРЕДМЕТ через форму. Для перехода в режим формы из режима конструктора нужно нажать в вкладке Режимы кнопки Режим и выбрать Режим формы. Для загрузки , просмотра и корректировки данных таблицы ПРЕДМЕТ через ранее сохраненную форму в окне база данных в группе Объекты надо перейти к строке Формы и выделив в рабочей области название формы ПРЕД- МЕТ-ПРОГРАММА, нажать кнопку Открыть На рис. приводится форма ПРЕДМЕТ-ПРОГРАММА в режиме формы, в которой отображены данные из одной строки таблицы ПРЕДМЕТ. 36 Рис. 4.7. Форма ввода-вывода для работы сданными таблицы ПРЕДМЕТ Данные для загрузки таблицы ПРЕДМЕТ приведены в соответствующей таблице приложения главы 3. Значения, вводимые в поля формы, должны соответствовать типам данных и их свойствам, заданным при определении структуры таблицы. Для завершения создания (редактирования) записи таблицы ПРЕДМЕТ достаточно перейти к другой записи в поле номера записи внизу формы. 37 Урок 5. Формы для загрузки двух таблиц В настоящем разделена примере подробно рассматривается последовательность конкретных действий при разработке составной формы для загрузки двух таблиц, связанных одно-многозначными отношениями. Технология разработки любой многотабличной формы включает проектирование макета формы (см. выше раздел Технология загрузки базы данных с использованием форм) и процесс конструирования средствами Access. В соответствии с разделом Этапы загрузки базы данных и проектирования форм при проектировании составной формы выполним Определение подсхемы данных для разрабатываемой формы Определение общей структуры экранной формы, те. ее макета в соответствии со структурой входного документа и подсхемой данных Определение состава и размещения реквизитов для каждой из частей составной формы На основе результатов проектирования осуществим конструирование экранной формы средствами Access. Ниже рассматривается технология разработки составной формы для одновременной загрузки и работы сданными таблиц ГРУППА и СТУДЕНТ в соответствии с этапами загрузки базы данных Учебный процесс, определенными выше в табл. 3.1. Проектирование форм на основе двух таблиц Осуществим проектирование формы для загрузки данных в таблицу ГРУППА и СТУДЕНТ, просмотра и редактирования этих данных. Документом- источником такой формы является Список студентов группы (см. рис. 2.3). Из этого документа будут загружаться одновременно две таблицы ГРУППА и СТУДЕНТ, которые в совокупности образуют объект загрузки. Определение подсхемы данных для составной формы Поскольку объект загрузки ГРУППА → СТУДЕНТ не подчиняется в схеме данных другим таблицам, подсхема, необходимая для построения формы, не должна включать других таблиц. Такая подсхема приведена на рис. Определение общей структуры составной формы В соответствии с приведенной подсхемой определим общую структуру составной формы, которую назовем СПИСОК ГРУППЫ. Рис Подсхема данных для конструирования формы на базе таблиц ГРУППА → СТУДЕНТ Для того чтобы обеспечить удобный ввод данных с документа, в форме предусмотрим основную часть с реквизитами группы и подчиненную с записями о студентах группы. Подчиненную форму назовем СПИСОК СТУДЕНТОВ. Таким образом, составную форму СПИСОК ГРУППЫ определяют Тип формы – многотабличная Источник записей для основной части формы – таблица ГРУППА Включаемая подчиненная форма – СПИСОК СТУДЕНТОВ Подчиненную форму СПИСОК СТУДЕНТОВ определяют Тип формы – подчиненная, многозаписевая Источник записей – таблица СТУДЕНТ На подсхеме (рис) показано назначение таблиц при создании формы. Размещение реквизитов основной и подчиненной формы Размещение реквизитов в основной части формы и подчиненной форме должно соответствовать входному документу Список студентов группы (см. главу. В основной части составной формы СПИСОК ГРУППЫ вверху разместим реквизиты, соответствующие полям таблицы ГРУППА Номер группы (НГ - ключ) Количество студентов (КОЛ) Средний проходной бал в группе (ПБАЛЛ) В подчиненной форме СПИСОК СТУДЕНТОВ разместим в качестве заголовков столбцов многозаписевой формы названия реквизитов соответствующих полей таблицы СТУДЕНТ 39 Номер студента в группе (НС) Фамилия ИО. (ФИО) Год рождения (ГОДР) Адрес (АДРЕС) Средний балл при поступлении (ПБАЛЛ) Заметим, что ключевое поле НГ не включено в подчиненную форму, т. к. поле связи НГ включено в основную часть формы. Создание формы для двух таблиц с помощью мастера Осуществим средствами Access конструирование формы для одновременной загрузки и корректировки двух таблиц ГРУППА и СТУДЕНТ в базе данных Учебный процесс. Определение таблиц и полей для основной и включаемой частей формы В окне базы данных выбираем в группе Объекты строку Формы и нажимаем кнопку Создать. Рис. 5.2. Выбор полей для формы в окне мастера форм В диалоговом окне Новая форма (New Form) выбираем режим создания Мастер форм (Form Wizard) и таблицу ГРУППА, которая будет служить источником данных для основной части, создаваемой многотабличной формы. В открывшемся окне Создание форм в списке |