Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 57
Текст из файла (страница 57)
Для сохранения запроса необходимо:• щелкнуть мышью по кнопке [:Н1 или выполнить командуФайл, Сохранить;• закрыть окно запроса.3. Для создания отчета следует:• открыть вкладку Отчеты и щелкнуть мышью по кнопке[Создать];• в открывшемся окне выбрать пункт Мастер отчетов;• щелкнуть мышью по значку раскрывающегося списка в нижней части окна;• выбрать из появившегося списка таблицу ПРЕПОДАВАТЕЛИ;• щелкнуть мышью по кнопке [ОК]. В появившемся окне выбрать поля, которые будут присутствовать в форме. Так как в данном примере присутствовать будут все поля из таблицы, надощелкнуть мышью по кнопке §§§;• щелкнуть мышью по кнопке [Далее];• в появившемся окне приведен перечень полей.
Перевестивыделение на поле Должность;301I(I®щелкнуть мышью по кнопке [>~|, задав таким образом группировку данных по должности;» щелкнуть мышью по кнопке [Далее];• так как параметры в появившемся окне оставляем без изменений, надо снова щелкнуть мышью по кнопке [Далее];• в появившемся окне Вид макета для отчета, а также вследующем окне Требуемый стиль выбрать стиль оформления отчета;• щелкнуть мышью по кнопке [Далее];• в появившемся окне ввести название отчета ПРЕПОДАВАТЕЛИ;• щелкнуть мышью по кнопке [Готово], после чего на экранепоявится сформированный отчет;• просмотреть, а затем закрыть отчет.Контрольные вопросы1. Что такое запросы? Какими возможностями они обладают?2.
Перечислить и охарактеризовать основные типы запросов, используемых в СУБД Access.3. Что такое отчеты? Какими возможностями они обладают?4. Кратко описать технологию создания запросов на выборку.5. Описать технологию создания отчетов с группировкой данных (напримере создания отчета по таблице ПРЕПОДАВАТЕЛИ с группировкой данных по должностям).Л А Б О Р А ТО Р Н А Я РАБО ТА № 3Разработкаинформационно-логической модели реляционной базы данныхЦель работыПриобретение специальных навыков работы в СУБД Access поразработке информационно-логической модели и созданию структуры реляционной базы данных.Общие сведенияСлово «реляционная» происходит от английского relation — отношение.
Отношение — математическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблиц, строки которых соответствуют кортежам отношения, а столбцы — атрибутам. Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для его иденти302фикации. Такая функция может быть значением одного из атрибутов (простой ключ) или задаваться алгебраическим выражением,включающим в себя значения нескольких атрибутов (составнойключ).
Несмотря на то что данные в строках каждого из столбцовсоставного ключа могут и повторяться, комбинация данных каждой строки этих столбцов является уникальной. Например, в таблице СТУДЕНТЫ есть столбцы Фамилия и Год рождения. В каждомиз столбцов есть некоторые повторяющиеся данные, т. е. одинаковые фамилии и одинаковые года рождения. Но если студенты,имеющие одинаковые фамилии, имеют разные года рождения,то эти столбцы можно использовать в качестве составного ключа.В Access можно выделить три типа ключевых полей: простойключ, составной ключ и внешний ключ.Одно из важнейших достоинств реляционных баз данных состоит в том, что можно хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяяэти таблицы в единую базу.Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связьмежду таблицами устанавливает отношения между совпадающими значениями в этих полях.
Такая организация позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов. Поясним это на следующем примере.В Access можно задать три типа связей между таблицами: одинко многим, многие ко многим, один к одному.Наиболее часто используемый тип связи между таблицами одинко многим. При такой связи каждой записи в таблице А можетсоответствовать несколько записей в таблице В (поля с этимизаписями называют внешними ключами), а запись в таблице Вне может иметь более одной соответствующей ей записи в таблице А.При связи типа многие ко многим одной записи в таблице Аможет соответствовать несколько записей в таблице В, а однойзаписи в таблице В — несколько записей в таблице А.
Такая схемареализуется только с помощью третьей (связующей) таблицы,ключ которой состоит по крайней мере из двух полей, одно изкоторых является общим с таблицей А, а другое — общим с таблицей В.При связи типа один к одному запись в таблице А может иметьне более одной связанной записи в таблице В, и наоборот. Этоттип связи используется не очень часто, поскольку такие данныеможно поместить в одну таблицу. Связь типа один к одному применяют для разделения очень широких таблиц, отделения частитаблицы в целях ее защиты, а также для сохранения сведений,относящихся к подмножеству записей в главной таблице.303Тип создаваемой связи зависит от полей, для которых определяется эта связь:• связь типа один ко многим задается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.
е. значения в этом поле не повторяются;• связь типа один к одному задается в том случае, когда обасвязываемых поля являются ключевыми или имеют уникальныеиндексы;• связь типа многие ко многим фактически представляет собойдве связи типа один ко многим через третью таблицу, ключ которой состоит по крайней мере из двух полей, общих для двух других таблиц.Целостность данных определяет систему правил, используемыхв СУБД Access для поддержания связей между записями в связанных таблицах (таблицах, объединенных с помощью связи), а также обеспечивает защиту от случайного удаления или изменениясвязанных данных. Контролировать целостность данных можно привыполнении следующих условий:• связанное поле (поле, посредством которого осуществляетсясвязь) одной таблицы является ключевым полем или имеет уникальный индекс;• связанные поля имеют один тип данных. (Здесь существуетисключение: поле счетчика может быть связано с числовым полем, если оно имеет тип Длинное целое.)',• обе таблицы принадлежат одной базе данных Access.Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта.
Для связанных таблиц избаз данных других форматов установить целостность данных невозможно.Задание на лабораторную работу1. Создать базу данных Деканат в соответствии с логическойсхемой, приведенной на рис. П3.1.2. Создать структуру таблицы СТУДЕНТЫ.3. Создать структуру таблицы ДИСЦИПЛИНЫ.4. Изменить структуру таблицы ПРЕПОДАВАТЕЛИ.5. Создать структуру таблицы ОЦЕНКИ.6.
Разработать схему данных, т. е. задать связи между созданными таблицами.7. Создать форму Студенты.8. Заполнить данными таблицу СТУДЕНТЫ, используя формуСтуденты.9. Создать форму Дисциплины.10. Заполнить данными таблицу ДИСЦИПЛИНЫ используяформу Дисциплины.304СТУДЕНТЫОЦЕНКИ1:МКод студентаКод студентаФамилияКоддисциплиныИ мяДИСЦИПЛИНЫКодДисциплиныПРЕПОДАВАТЕЛИ1: МНазваниедисциплиныО ценкиКодДисциплиныКодпреподавателяОтчествоФ амилияНомергруппыИ мяОтчествоДатарожденияДатарожденияСтипендияПреподаваемаядисциплинаТелефонРис.
П3.1. Логическая схема базы данных:1 : М — связь типа один ко многим11. Создать форму Оценки.12. Заполнить данными таблицу ОЦЕНКИ, используя формуОценки.Контрольные вопросы1. Что такое реляционная БД?2. Пояснить, чему соответствуют в таблице строки, столбцы?3. Что такое ключ? Какими бывают ключи?4. Охарактеризовать существующие типы связей между таблицами.5. Пояснить, что такое целостность данных.6. Пояснить построение информационно-логической модели БД напримере БД Деканат.ЛАБОРАТОРНАЯ РАБОТА № 4Использование языка VBAпри работе с основными объектами базы данныхЦель работыО знаком ление с возм ож ностям и я зы к а Visual Basic forApplications (VBA) при создании и работе с базами данных, атакже с основными объектами базы данных — таблицами, полями, формами.305Общие сведенияVBA является полнофункциональным объектно-ориентированным языком программирования, позволяющим создавать приложения пользователя в среде СУБД Access.
VBA — это общее средство программирования для всего семейства Microsoft Office, включая Word, Excel, Access, Outlook, Project.VBA целесообразно использовать для создания нестандартныхпроцедур обработки событий и функций, выполняющих сложныевычисления, которые невозможно записать в виде выражений.Основой программ на VBA являются процедуры, состоящие изинструкций, выполняющих необходимые операции и вычисления.
Процедуры хранятся в модулях, из которых они запрашиваются на выполнение. Собственно модуль не исполняется, а служит для объединения процедур по их функциональному назначению или привязке к форме или отчету.Различают процедуры-подпрограммы и процедуры-функции.Процедуры-подпрограммы (Sub) не возвращают значения вызывающей процедуре.Процедура-подпрограмма может выполнять любые действия,например корректировать данные базы, выполнять вычисления вполях, открывать формы, печатать отчеты.Формат процедуры-подпрограммы имеет следующий вид:[Private!Public] [Static] Sub <Имя процедуры>[([список аргументов>)][<описание переменных>][<инструкции>][Exit Sub][<инструкции>]End SubЗдесь Sub, End — отмечают соответственно начало и конецтела процедуры; Public — указывает, что процедура Sub являетсяобщей, т.е.
доступной для всех других процедур во всех модулях;Private — указывает, что процедура Sub доступна только для процедур того модуля, в котором она описана; Static — указывает,что значения локальных переменных процедуры сохраняются междувызовами этой процедуры; Exit Sub — приводит к немедленномузавершению процедуры Sub.Процедура-функция (Function) возвращает значение, котороеприсваивается ее имени внутри процедуры.Формат процедуры-функции имеет следующий вид:[Private!Public] [Static]ры>[(<список аргументов>)]306Function<Имяпроцеду-[<описание переменных>][<инструкции>][<имя процедуры>=<выражение>][Exit Function][<инструкции>][<имя процедуры>=<выражение>]End FunctionВ теле процедуры-функции (в отличие от процедуры-подпрограммы) присутствует инструкция присваивания имени процедуры значения, вычисляемого выражением. Эта инструкция позволяет возвратить значение из процедуры-функции в место ее вызова.При описании переменных обычно используется инструкцияприсвоения Dim, которая присваивает выражение переменной иликонстанте.