Сборник практических работ Access. Сборник Access. Урок Создание таблиц базы данных Рассмотрим последовательность необходимых действий при создании файла и таблиц базы данных. База данных Учебный процесс будет состоять из семи таблиц, свойства полей которых приведены в конце этой главы в приложении.
Скачать 2.9 Mb.
|
Содержание Урок 1. Создание таблиц базы данных. Урок 2. Ввод данных в таблицы. Урок 3. Логическая структура базы данных. Урок 4. Однотабличные формы ............................................................................ Урок 5. Формы для загрузки двух таблиц. Урок 6. Многотабличные формы .......................................................................... Урок 7. Запросы ...................................................................................................... Урок 8. Отчет по одной таблице ........................................................................... Урок 9. Отчеты по двум таблицам. Урок 10. Многотабличные отчеты. Урок 11. Разработка отчета на основе запроса. Урок 12. Управление приложением пользователя. 126 Урок 1. Создание таблиц базы данных Рассмотрим последовательность необходимых действий при создании файла и таблиц базы данных. База данных Учебный процесс будет состоять из семи таблиц, свойства полей которых приведены в конце этой главы в приложении. Для создания файлы базы данных выполним команду меню Файл|Создать. В окне Создание выберем Новая база данных рис 1.1). Рис. 1.1. Создание файла базы данных. Именуем базу данных, определим папку, в которой будет размещен этот файл и щелкаем кнопкой мыши на значке Создать рис 1.2). Рис. Именование базы данных. 3 Создание структуры таблицы ГРУППА Начнем создание таблицы ГРУППА с определения ее структуры в режиме конструктора таблиц. Основные параметры структуры таблицы ГРУППА, представлены в табл. 1.1. Таблица 1.1. Основные параметры структуры таблицы ГРУППА Имя поля Ключевое поле Уникальное Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля Условие назначение Сообщение об ошибке НГ Да Да Да Текстовый Ном. группы КОЛ Нет Числовой Байт Кол. ст. в группе >=0 And <=35 Кол. студентов больше допустимого ПБАЛ Л Нет Числовой Одинарное сплаваю- щей точкой байта) 2 Прох. балл Ошибка в оценке В окне базы данных выберем вкладку Создание и нажмем кнопку Конструктор таблиц рис. 1.3). Рис 1.3. Вызов конструктора таблиц. В соответствии с приведенными в табл. 3.1 проектными параметрами структуры для таблицы ГРУППА в окне конструктора Таблица1:таблица (рис. 1.4) нужно y В столбец Имя поля ввести в нужной последовательности имена полей НГ, КОЛ, ПБАЛЛ y В столбце Тип данных выбрать нужный тип данных для каждого поля, использовав кнопку списка y На вкладке Общие задать свойства полей (рис. 1.5): o Размер поля, нажав в нем кнопку списка o для текстового поля НГ зададим размер поля 3 o для числового поля КОЛ выберем значение Байт, определяющее длину целого числа, достаточную для размещения максимального значения поля (40 студентов в группе) (см. рис) o для числового поля ПБАЛЛ выберем Одинарное с плавающей точкой o Формат поля для поля ПБАЛЛ – Фиксированный o Число десятичных знаков для поля ПБАЛЛ – 2 o Подпись, Условие назначение, Сообщение об ошибке для каждого из полей выберем, как указано в табл. 3.1 Рис 1.4. Окно конструктора таблиц. 5 Рис. 1.5. Вкладка Общие Рис. 1.6. Выбор размера для поля КОЛ (количество студентов в группе) в окне конструктора таблиц Условие назначение, которое заносится в бланк запроса, является выражением, которое может быть сформировано с помощью построителя выражений рис. 1.8). Построитель вызывается при нажатии кнопки справа от строки Условие назначение, в которую выражение должно быть введено (см. рис. 1.7). 6 Рис. 1.7. Определение свойств поля ПБАЛЛ (средний проходной балл в группе) Внимание Для ввода операторов больше равно и меньше равно существуют специальные знаки. Не допускайте пробелов при вводе выражения. Нужные пробелы построитель введет сам. Рис. 1.8. Окно построителя выражений с выведенным списком всех операторов 7 После ввода выражения в окно построителя и нажатии клавиши Таблица ГРУППА появится в списке объектов Таблицы в окне Все объекты Access рис. 1.10). Рис. 1.0. Таблица ГРУППА. 8 При сохранении таблицы происходит обновление файла базы данных Учебный процесс Упражнение Создайте структуру таблиц КАФЕДРА, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ, СТУДЕНТ. При создании таблиц используйте проектные параметры их структуры, которые представлены в приложении A. Рассмотрим некоторые особенности в создании структуры таблиц КАФЕДРА, ПРЕДМЕТ, ПРЕПОДАВАТЕЛЬ СТУДЕНТ базы данных Учебный процесс. Использование данных типа Поле объекта OLE(OLE Object) В таблице КАФЕДРА предусмотрено поле ФОТО, которое должно содержать фотографию заведующего, хранящуюся в формате графического редактора Paint в файле с расширением .bmp. Тип данных такого поля должен быть определен как Поле объекта OLE (OLE Object). Размещение этого объекта в поле производится на этапе заполнения полей таблицы. Объект может быть внедренным или связанным. Замечание. OLE (Object Linking and Embedding – связывание и внедрение объекта) – это метод передачи информации в виде объектов между приложениями. Поле объекта OLE является средством, позволяющим установить связь с объектами другого приложения или внедрить объект в базу данных. Объектами могут быть тексты простые и форматированные, рисунки, диаграммы, файлы звукозаписи (.WAV), музыка в формате MIDI (музыкально инструментальный цифровой интерфейс, файлы анимации .FLI, .MMM), видеоклипы, электронные таблицы из других приложений, поддерживающих это средство. Access, поддерживая OLE, полностью интегрирован с другими приложениями пакета Microsoft Office. Внедренный объект сохраняется в файле базы данных и всегда является доступным. Двойным щелчком мыши на ячейке, содержащей внедренный объект, открывается возможность редактирования объекта средствами приложения, в котором объект был создан. Связанный объект сохраняется в файле объекта. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. При работе с базой данных также можно просматривать и редактировать объект. Отредактированный связанный объект будет сохраняться в файле объекта, а не в файле базы данных. Связывание объекта удобно при работе с большими объектами, которые нежелательно включать в файл БД, а также с объектами, используемыми в нескольких формах и отчетах. Если связанный файл объекта перемещен, необходимо повторно установить связь. Замечание. Для отображения объекта OLE в форме или отчете необходимо создать элемент управления Присоединенная рамка объекта. Использование данных типа Поле MEMO В таблице ПРЕДМЕТ предусмотрено поле ПРОГР, которое будет содержать текстовое данное большой длины – краткую программу курса. Для такого поля выбирается тип данного – Поле MEMO (Memo). Ввод данных в это поле можно выполнить непосредственно в таблице, либо через область ввода, вызываемую нажатием клавиш НГ и НС. Для определения этого в режиме конструктора таблиц надо выделить оба эти поля, щелкая кнопкой мыши на области маркировки при нажатой клавише Приложение А. Описание свойств полей таблиц БД Учебный процесс Таблица A.1. Описание свойств полей таблицы СТУДЕНТ Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля НГ Да Да Текстовый Группа НС Да Да Текстовый Номер студента в группе ФИО Да Текстовый ФИО ГОДР Нет Числовой Целое Год рождения АДРЕС Нет Текстовый ПБАЛ Л Нет Числовой Сплав. точкой 4 байта 2 Проходной балл Таблица A.2. Описание свойств полей таблицы ГРУППА Имя поля Ключевое уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля Условие назначение Сообщение об ошибке НГ Да Да Текстовый Ном. группы КОЛ Нет Числовой Байт Кол. ст. в гр. >=0 And <=35 Кол. студ. больше доп. ПБАЛ Л Нет Числовой Сплав. точкой 4 байта Прох. балл >2 And <5 Or 0 Ошибка в оценке Таблица A.3. Описание свойств полей таблицы КАФЕДРА Имя поля Ключевое поле Уникальное поле Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля ККАФ Да Да Да Текстовый Код НКА Ф Нет Текстовый Название ТЕЛ Нет Текстовый ЗАВ Нет Текстовый ФИО зав. каф. ФОТО Нет Поле объекта OLE Фотография заведующего Таблица A.4. Описание свойств полей таблицы ПРЕПОДАВАТЕЛЬ Имя поля Ключевое поле Уникальное Обязательное поле Тип данных Размер Подпись поля ТАБН Да Да 1 Да Текстовый 4 Таб. номер ФИО Да Текстовый 30 ФИО пре- под. СТ Нет Текстовый 15 Уч. степень ЗВ Нет Текстовый 10 Уч. звание ККАФ Да Текстовый 2 Код кафедры 13 о- Таблица A.5. Описание свойств полей таблицы ПРЕДМЕТ Имя поля Ключевое поле Уникальное Обязательное поле Тип данных Размер Подпись поля Усл вие назначение Сообщение об ошибке КП Да Да 1 Да стовый 2 дме- та Тек- Код пре НП Нет стовый 15 а- дме- та СЫ Нет о- вой Целое часов <=300 е 300 ЛЕК Нет о- вой Целое Лекции ПР Нет о- вой Целое Практика ЧС Нет о- вой Целое ст- ров ОГ Р MEMO грамма Тек- Назв ние пре ЧА- Числ Всего >0 And Число часов должно быть не боле Числ Числ Числ Семе ПР Поле Про Совпадения не допускаются Таблица A.6. Описание свойств полей таблицы ИЗУЧЕНИЕ Имя поля Ключевое поле Уникальное Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля НГ Да Да Текстовый Ном. группы КП Да Да Текстовый Код. предмета ТАБН Да Да Текстовый Таб. н. преп. ВИДЗ Да Да Текстовый Вид занятий ЧАСЫ Нет Числовой Целое 0 Ср. балл по предм. СБАЛЛ . ГР Нет Числовой С пл. точкой 4 байта Таблица A.7. Описание свойств полей таблицы УСПЕВАЕМОСТЬ Имя поля Ключевое поле Уникальное Обязательное поле Тип данных Размер Число десятичных знаков Подпись поля НГ Да Да Текстовый Номер группы НС Да Да Текстовый Ном. студента КП Да Да Текстовый Код предм. ТАБН Да Да Текстовый Таб. н. препод. 15 ВИДЗ Да Да Текстовый Вид занятия ОЦЕНКА Нет Числовой Целое 0 Урок 2. Ввод данных в таблицы Ввод записей в режиме таблицы В окне Области навигации установим курсор на таблице КАФЕДРА, щёлк- нем правой кнопкой мыши на таблице и выберем в контекстном меню пункт Открыть. Таблица откроется в режиме таблицы. Заполним строки (записи) открывшейся таблицы в соответствии с названиями столбцов (полей. Введем несколько записей в таблицу КАФЕДРА, данные для которых представлены в табл. 2.1. Таблица 2.1. Данные таблицы КАФЕДРА Код Название ТЕЛ. ФИО завкафедрой ИНФОРМАТИКИ 310-47-74 Игнатьева В. В. 02 МАТЕМАТИКИ 310-47-15 Иванов И. И. 03 ИСТОРИИ 310-47-16 Смирнова ИВ ИНОСТРАННОГО ЯЗ. 310-47-17 Жданова А.Е. 05 ФИЗКУЛЬТУРЫ 310-47-67 Плетнев В.А. 06 ФИЛОСОФИИ 310-47-18 Бондаренко В.В. Корректность вводимых данных (соответствие заданному типу поля, размеру и условию назначение, которые определены в свойствах полей в режиме конструктора) проверяется автоматически при их вводе. Отслеживается уникальность значений ключевых полей. Отменить ввод значения в поле до перехода к другому полю можно, нажав клавишу , тогда щелкнем правой кнопкой мыши на Ленте ив контекстном меню выберем пункт Настройка панели быстрого доступа, в открывшемся окне Параметры Ac- cess выберем вкладку Панель быстрого доступа. В списке найдем команду Отменить, щелкнем на ней и далее нажмем кнопки Добавить и ОК, после чего на Панели быстрого доступа появиться нужная нам команда. Для отмены изменений ив поле, ив записи нажмите клавишу Завершение ввода новых значений записи, те. редактирования, осуществляется при переходе к любой другой записи (при смене текущей записи. После перехода к другой записи можно отменить ввод (редактирование) всей записи, нажав Команда занимает одну позицию, нов зависимости от контекста приобретает различный смысла всплывающая подсказка сообщает о текущем ее назначении. По этой команде может быть отменено только одно последнее действие. Размещение объекта OLE Рассмотрим размещение объекта OLE напримере поля Фотография заведующего в таблице КАФЕДРА. Пусть фотографии хранятся в формате графического редактора Paint в файлах с расширением .bmp. Рассмотрим вариант внедрения объекта в файл базы данных. Установим курсор в соответствующее поле таблицы. Щёлкнем правой кнопкой мыши на поле таблицы и выберем в контекстном меню пункт Вставка объекта.В окне Вставка объекта (рис. 2.1) надо отметить переключатель Создать из файл. ОкноВставка объекта примет вид (рис. 2.1), который позволяет ввести имя файла с фотографией. Для поиска файла можно воспользоваться кнопкой Об- зор, по которой выведется диалоговое окно, позволяющее просмотреть диски папки и выбрать необходимый файл. Рис. 2.1. Окно для выбора вставляемого объекта из файла 17 Флажок Связь по умолчанию не отмечен и, следовательно, содержимое файла будет введено в поле как внедренный объект. Увидеть содержимое поля можно через форму или отчет. Дальнейшие изменения файла не будут отражаться на встроенном объекте. Для введения в поле связанного объекта надо установить флажок Связь. Это сэкономит место в базе данных и даст возможность отображать все изменения, вносимые в файл. В результате заполнения таблицы в соответствующем поле будет указан вид объекта "Точечный рисунок. Для просмотра внедренного объекта необходимо в соответствующем поле установить курсор и дважды щелкнуть кнопкой мыши. Для отображения содержимого поля в виде значка, представляющего файл с документом, надо в окне Вставка объекта установить флажок В виде значка. Значок может быть использован для представления связанного объекта. Ввод логически связанных записей Введем несколько логически взаимосвязанных записей в таблицы ГРУППА и СТУДЕНТ. Объекты ГРУППА и СТУДЕНТ связаны одно-многозначными отношениями, но пока не создана схема данных и связи между таблицами не установлены, система не может контролировать логическую взаимосвязь вводимых данных. Поэтому для получения целостной базы, в которой все записи подчиненной таблицы имеют логически связанную с ней главную запись, пользователю необходимо самому отслеживать логические связи записей. При вводе подчиненных записей необходимо проверять наличие записи в главной таблице, значение ключа которой совпадает со значением поля связи внешнего ключа) вводимой подчиненной записи. При непосредственном вводе в таблицу записей, логически связанных с записями другой таблицей, полезно отобразить на экране обе таблицы (рис. 2.2). Рис. 2.2. Таблицы ГРУППА и СТУДЕНТ при вводе логически связанных записей Для одновременного отображения открытых таблиц можно воспользоваться командой Сверху вниз, Слева направо или Каскадом на Ленте во вкладке Главная, в группе Окно. Очевидно, что в базе данных сложной структуры при вводе данных непосредственно в таблицы не гарантируется надежное и корректное обслуживание данных. В рассматриваемом примере базы данных "Учебный процесс" при вводе данных в таблицы нижних уровней надо отслеживаться несколько вышестоящих. Ниже будут рассмотрены средства Access, позволяющие автоматизировать контроль связной целостности и сделать загрузку базы данных простой и удобной процедурой. К таким средствам в первую очередь относятся Схема данных и Форма. Кроме того, в Access 2010 может быть использовано такое простое средство, как отображение в главной таблице записей подчиненных таблиц нескольких уровней. 19 Приложение B. Данные таблиц БД Учебный процесс Таблица B.1. Данные таблицы СТУДЕНТ Группа Номер студента в группе ФИО Год рождения Проходной балл 101 01 Аристов Р.П. 1979 4,25 101 02 Бондаренко С.А. 1978 4,50 101 03 Борисова Е.И. 1979 4,25 101 04 Макова Н.В. 1977 4.75 102 01 Боярская Н.П. 1977 4,50 102 02 Федоров Д. К. 1977 4,25 102 03 Сидоров И. Р. 1977 4,50 103 01 Андреев ГМ. 1978 4,25 103 02 Петров O.K. 1979 4.75 104 01 Иванов К. К. 1977 4,50 Таблица B.2. Данные таблицы ГРУППА Номер группы Количество студентов в группе Проходной балл 101 30 4,50 102 32 4,50 103 29 4,80 104 35 4,40 105 35 4,80 201 35 3,90 202 30 4,00 203 28 4,70 204 25 4,00 Таблица B.3. Данные таблицы КАФЕДРА Код Название ТЕЛ. ФИО завкафедрой ИНФОРМАТИКИ 310-47-74 Игнатьева В. В. 02 МАТЕМАТИКИ 310-47-15 Иванов И. И. 03 ИСТОРИИ 310-47-16 Смирнова ИВ ИНОСТРАННОГО ЯЗ. 310-47-17 Жданова А.Е. 05 ФИЗКУЛЬТУРЫ 310-47-67 Плетнев В.А. 06 ФИЛОСОФИИ 310-47-18 Бондаренко В.В. Таблица B.4. Данные таблицы ПРЕПОДОВАТЕЛЬ Таб. номер ФИО преподавателя Уч. степень Уч. звание Код каф. 101 Андреев А. П. др техн. наук профессор 01 102 Апухтин И. С. канд. техн. наук доцент 01 103 Глухое ИЛ. канд. техн. наук доцент 01 104 Сеченов Ю.Б. канд. техн. наук доцент 01 105 Чернов Л. К. канд. техн. наук доцент 01 201 Блюмкина И. П. др физмат. наук профессор 02 202 Львова ПР. ассистент 02 203 Шапошников СИ. др техн. наук профессор 02 204 Новиков П.Н. ассистент 02 301 Ильясов И. Т. канд. фил. наук доцент 03 302 Пустынцев А.П. канд. ист. наук доцент 03 303 Романов Р.А. канд. ист. наук доцент 03 304 Цветков АИ. канд. ист. наук доцент 03 401 Сорокина М.Ф. канд. фил. наук. доцент 04 402 Богомолов ПР. канд. фил. наук. доцент 04 403 Лысова МИ. канд. фил. наук. доцент 04 404 Шаповалова М.Ф. канд. фил. наук. доцент 04 405 Кудряшова ГМ. ассистент 04 501 Жигарева ПР. канд. пед. наук доцент 05 502 Егорова Т. Ист. преп. 05 503 Ермолин Е.Н. ассистент 05 601 Логинов A.M. канд. фил. наук доцент 06 602 Яковлев П. П. канд. фил. наук доцент 06 603 Раков А.В. канд. фил. наук доцент 06 604 Соловьёв СИ. ассистент 06 Таблица B.5. Данные таблицы ПРЕДМЕТ Код предмета Название предмета Всего часов Лекции Практика Семестров 01 Информатика 200 80 120 4 02 Математика 200 100 100 4 03 История 140 90 50 3 04 Иностранный яз. 200 0 200 4 05 Философия 100 40 60 2 06 Физкультура 100 0 100 2 21 Таблица B.6. Данные таблицы ИЗУЧЕНИЕ Номер группы Код предмета Таб. номер преподавателя Вид занятий Часы 101 01 101 лек 40 101 01 102 пр 60 101 02 201 лек 50 101 02 202 пр 50 101 03 301 лек 48 101 03 302 пр 20 101 04 401 пр 50 101 05 501 лек 50 101 05 502 пр 50 101 06 601 лек 100 102 01 101 лек 100 102 01 103 пр 180 102 04 401 лек 100 105 01 101 лек 100 201 01 102 пр 180 201 02 201 пр 70 202 04 403 пр 100 203 01 101 лек 100 204 05 503 пр 100 Таблица B.7. Данные таблицы УСПЕВАЕМОСТЬ Номер группы Номер студента Код предмета Таб. номер преподавателя Вид занятий Оценка 101 01 01 101 лек 5 101 01 03 302 пр 0 101 02 01 101 лек 5 101 02 03 302 пр 0 101 03 01 101 лек 4 101 03 03 302 пр 0 101 04 01 101 лек 3 101 04 03 302 пр 0 Урок 3. Логическая структура базы данных Логическая структура базы данных Учебный процесс приведена на рис. Она является адекватным отображением информационно-логической модели. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей. Связи между объектами модели данных реализуются одинаковыми реквизитами ключами связи в соответствующих таблицах. При этом ключом связи всегда является уникальный ключ главной таблицы. Ключом связи в подчиненной таблице является либо некоторая часть уникального ключа в ней, либо полене входящее в состав первичного ключа (например, код кафедры в таблице ПРЕПОДАВАТЕЛЬ. Ключ связи в подчиненной таблице называется внешним ключом. На этой схеме прямоугольники отображают таблицы БД с полным списком их полей, а связи показывают, по каким полям осуществляется взаимосвязь таблиц. Имена ключевых полей для наглядности выделены и находятся в верхней части полного списка полей каждой таблицы. связь по НГ НС НГ КП ТАБН ВИДЗ ОЦЕНКА УСПЕВАМОСТЬ НГ НС ФИО ГОДР АДРЕС ПБАЛЛ СТУДЕНТ НГ КОЛ ПБАЛЛ ГРУППА КП НП ЧАСЫ ЛЕК ПР ПРЕМЕТ ККАФ НКАФ ТЕЛ ЗАВ КАФЕРА ТАБН ФИО СТ ЗВ ККА Ф П РЕПОДАВАТЕЛЬ НГ КП ТАБН ВИД З ЧАСЫ ИЗУЧЕНИЕ связь но НГ связь по КП связь по составному ключу связь по составному ключу связь по ТАБН связь по ККАФ Рис. 3.1. Логическая структура реляционной базы данных Учебный процесс Включение таблиц в схему данных Рассмотрим процесс создания схемы данных в соответствии с логической структурой БД Учебный процесс. При активном окне Учебный процесс База данных нажмем на вкладку Работа с базами данных. В открывшемся меню нажмем Схема данных. Нажмем левой кнопкой мыши на свободном участке и выберем Добавить таблицу, выберем вкладку Таблицы и, нажимая кнопку Добавить, разместим в окне Схема данных все ранее созданные таблицы базы данных, которые отображены в окне Добавление таблицы. Затем нажмем кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных Учебный процесс со списками своих полей (см. рис. 3.2). 24 связь типа М по составному ключу Рис. 3.2. Схема данных БД Учебный процесс Определение связей между таблицами схемы данных Определение связей по простому ключу Установим связь между таблицами ГРУППА и СТУДЕНТ по простому ключу НГ. Для этого в окне Схемы данных установим курсор мыши на ключевом поле НГ главной таблицы ГРУППА и перетащим его на поле НГ в подчиненной таблице СТУДЕНТ. В открывшемся окне Изменение связей в строке Тип отношения установится значение 5> |