Реферат: Создание и обработка баз данных в СУБД Access


Создание и обработка баз данных в СУБД Access


Общиесведения

 

Базаданных – этоорганизованная структура, предназначенная для хранения данных и информации.Система управления базой данных (СУБД) – это комплекс программных средств,предназначенных для создания структуры новой базы, наполнения ее содержимым,редактирования содержимого и визуализации информации.

 

Объекты MSAccess

 

Таблица — основной объектлюбой базы данных; в них хранятся все данные, имеющиеся в базе данных; таблицыхранят и структуру базы (поля, их типы и свойства)

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

Формы– объект, служащий для отображения и ввода данных с помощью специальных средствоформления.

Отчеты– объект, предназначенный только для вывода данных на печатающее устройство.

Страницы– специальный объект базы данных, выполненный в коде HTML,размещаемый на Web-странице,осуществляющий интерфейс между клиентом, сервером и базой данных, размещеннойна сервере.

Макросы и модули– эти категории объектов, предназначенные для автоматизации повторяющихсяопераций при работе с СУБД, а также для создания новых функций путемпрограммирования на языке VisualBasic.

Этиобъекты хранятся в одном файле с расширением (.mdb).
Постановка задачи

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

Пустьнеобходимо построить базу данных, содержащую информацию об учебном процессетекущего семестра:

·  Списки студентов групп;

·  Перечень изучаемых предметов;

·  Преподавательский состав кафедр,обеспечивающих учебный процесс;

·  Сведения о лекционных и практическихзанятиях в каждой из групп;

·  Результаты сдачи экзаменов (зачетов)по каждому из проведенных занятий.

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

Послезапуска Microsoft Access одновременно с его окном выводится первое диалоговоеокно, позволяющее начать создание базы данных или открыть существующую базуданных.

Этоокно появляется, если в окне Сервис|Параметры|Вид|Отображать установленфлажок Окно запуска.

Упражнение1

Алгоритмсоздания файла для новой базы данных:

1.  В диалоговом окне выберитепереключатель Новая база данных Создать

5. Сохранить как новое имя базы данных ДЕКАНАТ.

Оставьтев поле Тип файла значение по умолчанию — база данных MicrosoftAccess— (*.mdb).

 Создание таблицы базы данных

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

1 Этап: Создание структуры таблицы

Accessпредоставляет несколько способов создания таблицы:

·  Режим таблицы — создание таблицы в Режиметаблицы;

·  Конструктор — создание таблицы с помощью Конструкторатаблиц;

·  Мастер таблиц — создание таблицы с помощью Мастератаблиц;

·  Импорт таблиц — создание таблицы путемимпортирования данных из внешнего файла или другой базы данных;

·  Связь с таблицами — присоединение внешнего файла илитаблицы другой базы данных.

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

Начните создание таблицы ГРУППА с определенияее структуры в режиме Конструктора таблиц.

1.  В окне Новая таблица выберитестроку Конструктор.

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


Описание свойств полейтаблицы ГРУППАИмя поля

Тип

данных

Ключевое поле Размер, байт Число десятичных знаков Подпись Условие на значение Индексир.поле Обязательное поле Сообщение об ошибке НГ текстовый Да (см. стр.3) 3 Ном группы Да(Сов. не доп) Да кол числовой байт Кол. ст. в группе >=0 AND <=35 нет нет Кол.студентов больше допуст. пбалл числовой  с плавающей точкой (4 байт) 2 Прох.балл

>2 AND <5 OR 0

_______________

Ошибка в оценке

нет нет Формат: Фиксиров

2.  Если структура таблицы была созданаили изменена, ее необходимо сохранить. Для сохранения структуры:

·  Нажмите кнопку Сохранить напанели инструментов или выберите команду Файл|Сохранить

·  В появившемся диалоговом окне введитеимя таблицы (может состоять из 64 символов, кроме точки, восклицательногознака, квадратных скобок, кавычек и пробела в начале, надстрочного символа) ГРУППА

·  Если новая таблица не имеет ключевогополя, для автоматического создания счетчика ключа нажмите Да. В нашемпримере поле НГ является ключевым.

·  Закройте таблицу

2. Этап: Ввод записей

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

Введитезаписи в таблицы в соответствии с их полями.

Данные таблицы ГРУППЫном.группы кол.ст. в группе проходной балл 101 30 4,50 102 32 4,50 103 29 4,80 104 25 4,40 105 24 4,20 201 25 3,90 202 24 4,00 203 23 3,90 204 24 4,70 205 24 4,20

Установка первичногоключа

Дляопределения первичного ключа выделите поле НГ и нажмите на панеликонструктора таблиц кнопку с изображением ключа или выберите команду Ключевоеполе из меню Правка. В Microsoft Accessможно выделить три типа ключевых полей:

счетчик,простой ключ и составной ключ.

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

Простойключ определяется полем, содержащим уникальноезначение.

Ключевоеполе не позволит вводить в таблицу повторяющиеся или пустые значения, посколькуполе первичного ключа содержит однозначный идентификатор для каждой записи.Ключевое поле помогает Microsoft Access наиболееактивно организовать поиск, хранение и объединение данных.

Вслучаях, когда невозможно гарантировать уникальность значений каждого поля,создают составной ключ, состоящий из нескольких полей. Такаяситуация возникает для таблицы, используемой для связывания двух таблиц вотношении «многие-ко-многим».

Внашем примере при определении структуры таблицы СТУДЕНТ в Режимеконструктора выделите поля НГ и НС, щелкая кнопкой мыши наобласти маркировки поля при нажатой кнопке Ctrl. Затем нажмите кнопку панелиинструментов Ключевое поле.

Сохранение данных

В Microsoft Access изменения сохраняются автоматически при следующих действиях:

·  Переход к следующей записи

·  Закрытие режима таблицы или формы

Добавление и удалениезаписей

Длядобавления данных в новую запись:

1.  Перейдите на пустое поле новой записи

2.  Введите новую группу с количествомстудентов и проходным баллом, нажимая TabилиEnter для перехода к следующему полю

Дляудаления записей:

1.  Выделите записи для удаления, щелкнувкурсором на серой кнопке слева от первой удаляемой записи и переместивуказатель вдоль требуемых записей.

2.  Нажмите Del или выберите команду Правка|Удалить записи

Примечание:

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

·  Введите в ключевое поле НГзначение, которое уже было использовано в одной из предыдущих записей, иубедитесь, что нельзя ввести запись с повторяющимся значением ключа. Отменитеввод неверных значений в поля нажатием Esc или командой Правка| Восстановить текущее поле илизапись.

·  Убедитесь, что ключевое поле нельзяоставить пустым

·  Введите в поле КОЛ значение,не соответствующее заданным условиям на значение (например, 40). Access выдаст сообщение, заданное всвойстве Сообщение об ошибке.

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

 

Алгоритмимпортирования таблиц из другой базы данных

 

1.  Файл|Внешние данные|Импорт

2.  В окне Импорт найдите папку Моидокументы и в ней отметьте файл Исходные таблицы

3.  Нажмите Импорт, в открывшемсяокне Импорт объектов нажмите Выделить все|Ok.

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

Вставкав запись рисунка или объекта

Рисунокили объект добавляется из имеющегося файла либо создается в приложении OLE (например, в MS Paint), а затем вставляется в текущую запись.

Рассмотримразмещение объекта OLE на примереполя Фотография заведующего в таблице КАФЕДРА. Фотографиихранятся в формате графического редактора Paint в файлах с расширением .bmp.

1.  В окне базы данных установите курсорна таблице КАФЕДРА и нажмите кнопку Открыть

2.  Заполните строки (записи) открывшейсятаблицы данными в соответствии с названиями столбцов (полей)

3.  Для размещения поля Фотографиязаведующего выполните внедрение объекта OLE в файл базы данных. Установите курсор в соответствующееполе таблицы. Выполните команду меню Вставка|Объект

4.  В окне Вставка объектавыберите тип объекта Paintbrush Picture иустановите флажок Создать из файла

5.  В этом окне можно ввести имя файла,содержащего фотографию.

6.  Для просмотра внедренного объектаустановите курсор в соответствующее поле и дважды щелкните кнопкой мыши

7.  Чтобы вернуться из программы Paint, выполните команду Файл|Выходи возврат к таблицеКАФЕДРА.

Размещениеданных типа МЕМО в таблице

Втаблице ПРЕДМЕТ предусмотрено поле ПРОГР, которое будетсодержать длинный текст – краткую программу курса. Для такого поля выберите типданных ПолеМЕМО.

Откройтетаблицу ПРЕДМЕТ. Выполните ввод данных в поле ПРОГРнепосредственно в таблице либо через область ввода, вызываемую нажатием Shift+F2.

Связываниетаблиц

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

Установление связи между таблицами возможно только приследующих условиях:

·  Связываемые таблицы должны иметь поляс одинаковым типом данных и размером, причем имена полей могут быть различными;

·  Обе таблицы сохраняются в одной базеданных Access.

Отполей, указанных при определении связи, зависит тип создаваемой связи:

1.  Отношение «один-к-одному» создается втом случае, когда оба связываемых поля являются ключевыми

2.  Отношение «один-ко-многим» создаетсяв том случае, когда только одно из полей является ключевым. При таком отношенииглавной таблицей является таблица, которая содержит первичный ключ и составляетчасть «один» в этом отношении. Таблица со стороны «много» является подчиненнойтаблицей. Связывающее поле в ней с таким же типом информации, как в первичномключе главной таблицы, является полем внешнего ключа.

3.  Связь с отношением «многие-ко-многим»фактически представляет две связи с отношением «один-ко-многим» через третьютаблицу, ключ которой состоит из двух и более полей, которые являются полямивнешнего ключа в двух других таблицах.

Еслидля какой-то из таблиц не было определено ключевое поле, то в поле Тип отношенияотображается текст «Не определено».

1.  Откройте окно Схема данных,нажав кнопку на панели инструментов

2.  В диалоговом окне Добавлениетаблицы выберите вкладку Таблицы и, нажимая кнопку Добавить,разместите в окне Схема данных все ранее созданные таблицы базы данных,список которых будет отображен в диалоговом окне. Можно добавить все таблицысразу, выделив 1-ую таблицу и нажав Shift — последнюю таблицу.

3.  Нажмите кнопку Закрыть. Врезультате в окне Схема данных будут представлены все таблицы базыданных ДЕКАНАТ со списками своих полей.

4.  Установите связь между таблицами ГРУППАи СТУДЕНТ по простому ключу НГ. Для этого в окне Схемаданных установите курсор мыши на ключевое поле НГ главной таблицы ГРУППАи перетащите это поле на поле НГ в подчиненной таблице СТУДЕНТДля удаления ошибочной связи в окне Схема данных выделите ненужную связьи нажмите Del.

5.  В открывшемся окне Изменениесвязей в строке Тип отношения установится один-ко-многим. Отметьтедоступный для этого типа отношений параметр Обеспечение целостностиданных.

6.  Установите флажки каскадноеобновление и удаление связанных полей, тогда будет обеспеченаавтоматическая корректировка данных для сохранения целостности вовзаимосвязанных таблицах. НажмитеСоздать. Чтобы линии связи непересекались и были удобны для восприятия, расположите таблицы в окне Схемыданных в соответствии с их относительной подчиненностью, как показано нарисунке.

7.  Установите связи по простому ключудля других пар таблиц:

КАФЕДРА®ПРЕПОДАВАТЕЛЬ (ключ ККАФ),

ПРЕДМЕТ®ИЗУЧЕНИЕ (ключ КП),

ПРЕПОДАВАТЕЛЬ®ИЗУЧЕНИЕ (ключ ТАБН),

ГРУППА®ИЗУЧЕНИЕ (ключ НГ).

8.  Установите связь по составному ключу НГ+НСмежду таблицами СТУДЕНТ®УСПЕВАЕМОСТЬ. Для этого в главной таблице СТУДЕНТвыделите оба этих поля, удерживая клавишу Ctrl, и перетащите оба поля на поле НГ вподчиненной таблице УСПЕВАЕМОСТЬ.

9.  В окне Изменение связи для поляНС и НГ таблицы СТУДЕНТ выберите соответствующие поля таблицыУСПЕВАЕМОСТЬ. В этом же окне установите режим Обеспечениецелостности данных и другие параметры связи.

10. Аналогичнопо составному ключу НГ+КП+ТАБН+ВИДЗ установите связи между парой таблиц ИЗУЧЕНИЕ®УСПЕВАЕМОСТЬ.

Вводи корректировка данных во взаимосвязанных таблицах

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

Еслиустановлен флажок Обеспечение целостности данных, то Access разрешает пользователю:

·  Добавить запись в таблицу, которая неподчинена никакой другой таблице в схеме данных (находится на верхнем уровнеиерархии);

·  Добавить запись в подчиненнуютаблицу, когда в главной имеется запись с вводимым значением ключа связи;

·  Удалить запись в таблице, если нетсвязанных с ней записей в подчиненных таблицах.

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

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

В Access 2000 имеется возможность припросмотре таблицы отображать записи подчиненных таблиц. Поэтому пользователь можетконтролировать корректность связей.

1.  Откройте таблицу КАФЕДРА

2.  Если таблица КАФЕДРА неимеет столбца с плюсами, в режиме таблицы выполните команду Вставка|Подтаблицадля определения связи таблицы с подчиненной таблицей. Эта связь будет внесена всвойства таблицы и даст возможность открывать связанные записи в подчиненномокне.

3.  Откройте таблицу ИЗУЧЕНИЕи выполните команду Вставка|Подтаблица

4.  Выберите в окне Вставка подтаблицыподчиненную таблицуУСПЕВАЕМОСТЬ. В строках Подчиненныеполя и Основные поля отобразится составной ключ связи НГ+КП+ТАБН+ВИДЗ.

5.  Для удаления связи, зафиксированной всвойствах таблицы, откройте таблицу в Режиме таблицы и выполните командуменю Формат|Подтаблица|Удалить.

6.  Перейдите в Режим конструктораи нажмите на панели инструментов кнопку Свойства (или в контекстномменю) и убедитесь, что в качестве значения свойства Имя подтаблицыустановлено Нет, т.е. связь удалена. Для дальнейшей работы восстановитесвязь.

7.  С помощью команды Подтаблицаили свойств таблиц установите связи, которые позволят отобразить содержимоетаблицы ГРУППА, подчиненные записи таблицы СТУДЕНТи в ней подчиненные записи таблицы УСПЕВАЕМОСТЬ.

Дляэтого последовательно в свойствах таблицы ГРУППА в строке Имяподтаблицы укажите Таблица СТУДЕНТ, затем открыв в Режимеконструктора таблицу СТУДЕНТ, укажите в свойствах таблицы УСПЕВАЕМОСТЬ.

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

8.  Создайте несколько записей об успеваемостистудентов, связанных с выбранной записью таблицы ИЗУЧЕНИЕ. Приэтом значение ключа связи НГ+ КП+ ТАБН+ ВИДЗ вводится в поле подчиненнойзаписи автоматически. Таким образом, для создания подчиненной записи достаточноввести только часть ключа НС и полученную оценку.

Чтобыувидеть из таблицы УСПЕВАЕМОСТЬ фамилии студентов, подчините ей записииз таблицы СТУДЕНТ.

Разработка форм

Вводитьинформацию в Access можно двумя способами: в таблицу и вформу.

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

Любаяформа строится на основе Access-таблицыили запроса. Имена полей извлекаются из спецификации таблицы, а поля в формеможно расположить по своему усмотрению. На основе одной таблицы пользовательможет построить несколько форм: одну — для деканата, другую — для отделастратегии, третью- для студентов и т.д.

Формуможно создать тремя способами:

·  С помощью конструктора форм;

·  С помощью мастера форм;

·  Используя автоформу

КаждуюAccess-форму можно представить на экране водном из 3-х режимов:

·  В режиме конструктора

·  В режиме формы (рабочем режиме)

·  В режиме таблицы

Переключениемежду режимами осуществляется с помощью команды Вид.

1.  В окне базы данных ДЕКАНАТвыберите объект Формы и нажмите кнопку Создать.

2.  В окне новая форма выберите вкачестве источника данных таблицу ПРЕДМЕТ и режим создания – Автоформа:в столбец. Обратите внимание, что подписи полей в форме соответствуютзаданным их свойствам при определении структуры таблицы.

3.  При сохранении формы Access спросит об имени формы. Можнооставить по умолчанию ПРЕДМЕТ, который соответствует именитаблицы- источника.

Конструирование формы

Дляконструирования форм в Accessиспользуется Конструктор форм. Форма в этом режиме имеет 3 области:

·  Область данных

·  Заголовок формы

·  Примечание формы,

которыемогут быть образованы по команде Вид/Заголовок/Примечание формы.

 

Редактированиеформы в Режиме конструктора

Рассмотритетехнику редактирования на примере ранее созданной формы

1.  Откройте форму ПРЕДМЕТ

2.  Перейдите в Режим конструктора

3.  Для ввода текста заголовка расширьтеобласть заголовка формы.

4.  Создайте графический элемент Надпись,перетащив кнопку Надпись с панели элементов на поле заголовок форм, еслиих нет на экране, то включите через меню Вид

5.  Введем в рамку созданного элементатекст заголовка ПРОГРАММА КУРСА.

6.  При выделенном элементе откройтедиалоговое окно свойств из контекстного меню и выберите вкладку Макет иустановите шрифт ArialCyr12, выравнивание поцентру, курсивом. Оформление — приподнятое.

7.  Завершите создание элементанажатиемEnter или щелчком вне рамки.

8.  Введите в область заголовка еще однунадпись: Казахский экономический университет им. Т.Рыскулова.

9.  Для сохранения формы под новым именемПРЕДМЕТ-ПРОГРАММА надо выполнить команду Файл/Сохранить

10. Перейдя врежим формы, введите новую запись, установив пустую запись кнопкой перехода►*.Добавленную запись можно проверить в таблице ПРЕДМЕТ

11. Завершитесоздание элементанажатием Enter илищелчком вне рамки.

12. Введите в областьзаголовка еще одну надпись: Казахский экономический университет им.Т.Рыскулова.

13. Для сохраненияформы под новым именем ПРЕДМЕТ-ПРОГРАММА надо выполнить команду Файл/Сохранить

14. Перейдя врежим формы, введите новую запись, установив пустую запись кнопкой перехода►*.Добавленную запись можно проверить в таблице ПРЕДМЕТ

Многотабличные формы

Многотабличнаяформа создается для работы с данными нескольких взаимосвязанных таблиц.Многотабличная форма может состоять из основной части и одной или несколькихподчиненных форм. Подчиненная форма обычно строится на базе подчиненной таблицыотносительно таблицы-источника записей основной части формы. Кроме того, такаяформа позволяет выполнить одновременное редактирование данных, содержащихся вобеих таблицах.

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

1.  В окне базы данных ДЕКАНАТвыберите Формы / Создать

2.  Далее выберите режим Мастер форм итаблицу ГРУППА

3.  Выберите для таблицы ГРУППАв списке Доступные поля — все поля — >>

4.  Выберите далее из списка Таблицы/Запросытаблицу СТУДЕНТ и в списке Доступные поля этой таблицы –тоже все поля. Эта таблица будет источником записей подчиненной формы.

5.  В окне Создание формсхематично отобразится макет формы с перечнем полей в основной части формы и вподчиненной форме, если в рамке Выберите тип представления данныхвыделена таблица-источник записей основной части формы (ГРУППА).

6.  Далее выберите Подчиненные формы

7.  Внешний вид — ленточный

8.  Стиль – Обычный

9.  В последнем окне Создание формозаглавьте главную форму — СПИСОК ГРУППЫ и подчиненную форму — СПИСОКСТУДЕНТОВ. Выберите Открытие формы для просмотра и ввода данныхи нажмите Готово.

10. Дляредактирования созданной формы перейдите в Режим конструктора. Это можновыполнить и в последнем сеансе окна Создание форм, выбрав дальнейшиедействия мастера — Изменить макет форм.

11. Введите в областьзаголовка полное название формы СПИСОК СТУДЕНТОВ ГРУППЫ №, используякнопку Надпись и перетащив со списка полей НГ. (Если окно сосписком полей отсутствует, то — Вид|Список полей.) Появившуюся надпись Номгруппы выделите и нажмите Del.Отформатируйте заголовок по своему усмотрению.

12. Для встраиваниякнопки в нужном месте (рис. на стр. 12) нажмите на панели элементов Кнопка.После переноса кнопки запустится мастер кнопок Создание кнопок.

13. В окне мастеракнопок выберите действие, которое необходимо выполнить при нажатии кнопки.В области Категории выберите Переходы по записям, в области ДействияПредыдущая запись.

14. В следующемсеансе отметьте Рисунок и показать все рисунки. Можете выбрать Стрелкавверх (синяя) и Готово.

15. Аналогичныедействия производятся для встраивания кнопки перехода к последующей записитаблицы. В области Действия — соответственно пункт Следующая записьи рисунок Стрелка вниз (синяя)

16. Добавьте рядом скнопкамипоясняющий текст: Предыдущая и Следующая, с помощьюкнопок Надписи на панели элементов.

17. Для созданиякнопки закрытия формы в области Категории выберите Работа с формой,а в области ДействияЗакрыть Форму.

18. Для ввода данныхв таблицы ГРУППА иСТУДЕНТ можно открыть в режимеформы СПИСОК ГРУППЫ, которая обеспечит одновременную работу сданными двух таблиц.

19. Для перехода кпоследней записи можно использовать кнопку Следующая.

20. Введитедополнительно группу 106, количество студентов – 2, средний балл — 4 и любыедве фамилии с соответствующими данными

21. Закрыть форму

22. Данные проверьтев таблицах ГРУППА и СТУДЕНТ


Проектирование запросов

Запросы предназначены для отбора данных, удовлетворяющихзаданным критериям. Запрос- это объект базы данных, допускающий многократноеиспользование. Результат запроса – набор записей представленных в табличномвиде, который можно изменять, добавлять и удалять. В нем отображаются такжезаписи, добавляемые, удаляемые и изменяемые в исходных таблицах. Сами запросымогут служить, наряду с таблицами, источниками записей для всех объектов базыданных.

Microsoft Access позволяет выполнять следующие типызапросов:

1.  QBE- запросы (Query By Example –Запросы по образцу)

·  Запрос на выборку;

·  Перекрестный запрос;

·  Запрос на создание таблицы;

·  Запрос на обновление;

·  Запрос на добавление записей;

·  Запрос на удаление записей;

·  Параметрический запрос.

2.  Запросы на языке SQL ( Structured Query Language – Структурированный язык запросов). SQL – стандартизованная формасоставления запросов для обработки реляционных базы данных, представляющаясобой последовательность инструкции. При выполнении QBE – запросов они транслируются в соответствующие SQL –запросы.

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

Создайтезапрос, который проверит правильность задания общих часов в таблице ПРЕДМЕТ.По запросу должны отбираться только те записи, в которых значение в поле ЧАСЫне равно значению, получаемому при сложении значений полей ПР и ЛЕК.

1.  Выберите объект Запрос /Создать

2.  В окне Новый запрос выберите Конструктор.В появившемся окне Добавление таблицы выберите таблицу ПРЕДМЕТи нажмите кнопку Добавить. Выбранная таблица будет отображена в области схемыданных запроса.

3.  В окне Конструктора перетащите(или дважды щелкните ) из списка полей таблицы ПРЕДМЕТ поля НП,ЧАСЫ, ЛЕК и ПР в столбцы бланка запроса в строку Поле

4.  Если вы по ошибке перетащили ненужноеполе, то выделите столбец и нажмите Del или выполните команду Правка|Удалить столбец

5.  В строке Вывод на экран отметьтеполя, иначе они не будут включены в запрос

6.  В строке Условие отбора длястолбца ЧАСЫ запишите условие <>[ЛЕК]+[ПР]

7.  Выполните запрос, нажав на панели конструкторазапросов кнопку Запуск или или: Запрос/Запуск. На экранепоявится окно запроса в режиме таблицы с записями из таблицы ПРЕДМЕТ,отвечающими заданным условиям отбора.

8.  Сохраните запрос, нажав кнопку Сохранитьи задав ему имя ПРИМЕР2

9.  Закройте текущий запрос

10. Выполнитесохраненный запрос, нажав кнопку Открыть

Определитефактическое число студентов и подсчитайте средний проходной балл в группе.

1.  Создайте в Режиме конструкторазапрос на выборку для таблицы СТУДЕНТ

2.  Из списка полей таблицы перетащите вбланк запроса НГ, НС и ПБАЛЛ

3.  Нажмите кнопку Групповые операции(Вид/Групповые операции)

4.  Замените слово Группировка встолбце НС на Count, в ПБАЛЛ — на Avg

5.  Замените подпись поля НС на Фактическоечисло студентов, а ПБАЛЛ — на Средний проходной баллгруппы. Для этого из контекстного меню выберите Свойства. В окне Свойстваполя наберите в строке Подпись соответствующие названия.

6.  Для ограничения точности результатадвумя знаками выберите в окне Свойства поля для поля ПБАЛЛ встроке Формат поля – Фиксированный

7.  Сохраните этот запрос под именем ЧИСЛОСТУДЕНТОВ И СРЕДНИЙ БАЛЛ ГРУППЫ

Рассмотритетехнологию конструирования многотабличного запроса.

Пустьнеобходимо получить информацию об оценках, полученных студентами по всемпредметам.

1.  В режиме Конструктор создайтеновый запрос.

2.  В окне Добавление таблицывыберите СТУДЕНТ, УСПЕВАЕМОСТЬ, ПРЕДМЕТ.

3.  Если хотите видеть в бланке запросанаряду с именем поля еще и имя таблицы, выполните команду Вид/Имена таблиц

4.  Перетащите в строку бланка запроса Полеполя:

·  ФИО — из таблицы СТУДЕНТ

·  НП — из таблицы ПРЕДМЕТ

·  ОЦЕНКА – из таблицы УСПЕВАЕМОСТЬ

5.  Если необходимо получить информациюоб успеваемости конкретных студентов, например, Шакиртовой и Бидаралова,введите эти значения в строку Условие отбора записей. Запишите вполе ФИО фамилии студентов в разных строках бланка запроса, т.к.необходимо выбрать записи по логике «или». Поскольку инициалы студентов неизвестны, фамилии задайте с использованием шаблона *. Заметьте, что системасама вставляет оператор Like, определяющий поиск по образцу.

6.  Выполните запрос и сохраните подименем ОЦЕНКИ ПО ПРЕДМЕТАМ

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

1.  Откройте запрос ОЦЕНКИ ПОПРЕДМЕТАМ в Режиме конструктора.

2.  В строке Условие отбора поля ФИОвведите обращение к пользователю в квадратных скобках, например, [Фамилия иинициалы студента]

3.  Для поля НП — второй параметрзапроса [Введите наименование предмета]

4.  Выполните запрос, задав любую фамилиюиз таблицы СТУДЕНТ и любой предмет из таблицы УСПЕВАЕМОСТЬ

Построение запроса на основе другихзапросов

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

1.Создайте запрос на выборку, в котором по таблице ПРЕПОДАВАТЕЛЬ спомощью функции Countподсчитывается число преподавателей на каждой кафедре. Сохраните запрос подименем ЧИСЛО ПРЕПОДАВАТЕЛЕЙ КАФЕДРЫ.

2. Для подсчета общего числа часов занятий, проводимых каждойкафедрой, создайте запрос на базе таблиц ПРЕПОДАВАТЕЛЬ и ИЗУЧЕНИЕ.

3.Сохраните запрос под именем ЧАСЫ КАФЕДРЫ и выполните.

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

5.  Создайте запрос в Режимеконструктора. В окне Добавление таблицы откройте вкладку Таблицыи запросы и выберите таблицу КАФЕДРА и два предыдущих запроса

6.  В строку Поле из таблицы КАФЕДРАперенесите поля ККАФ и НКАФ, а из запросов — соответственно Count_ ТАБН и Sum_ЧАСЫ. Таблица КАФЕДРАвключена в запрос для дополнения кода кафедры ее наименованием.

7.  Для создания вычисляемого поля,рассчитывающего среднюю нагрузку преподавателя, введите выражение [Sum_ЧАСЫ]/[ Count_ ТАБН]. Для этого в строке Полепустого столбца с помощью контекстно-зависимого меню вызовите Построительвыражения, выбрав меню Построить. В левой части окна Построителявыражения в папке Запросы выберите соответствующие запросы. Справаотобразится список полей. Последовательно выбирая нужные поля, нажимая кнопку Вставитьи вставляя знаки операции, сформируйте необходимое выражение в верхней частиокна, Ok.

8.  Для изменения в таблице результатаподписи Выражение1, формируемый по умолчанию, выделите столбец этогополя в бланке запроса и вызовите через контекстное меню Свойства

9.  Задайте в Подпись полязначение Средняя нагрузка преподавателя, в Формат поляФиксированныйи в Число десятичных знаков – 0

10. Сохраните запроспод именем НАГРУЗКА ПО КАФЕДРАМ


Запрос на создание таблицы

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

Сконструируйтезапрос на создание таблицы на запросе ЧИСЛО СТУДЕНТОВ и СРЕДНИЙБАЛЛ ГРУППЫ.

1.  В окне базы данных выделите названныйзапрос и откройте его в режиме Конструктора

2.  Выберите в меню Запрос|Созданиетаблицы

3.  В окне Создание таблиц введитеимя ЧИСЛО СТУДЕНТОВ и отметьте В текущей базе данных

4.  Выполните запрос. В специальном диалоговомокне Access укажет, сколько записей добавляетсяв новую таблицу и потребует подтвердить. Теперь эту таблицу можно видеть всписке таблиц окна базы данных.

Запрос на обновление

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

Рассмотрите технологию формирования на примере обновленияполя КОЛ (количество студентов группы в таблице ГРУППА).

1. Для формирования запросана обновление сначала создайте Запрос на выборку на основе двухтаблиц: обновляемой таблицыГРУППА и таблицы ЧИСЛО СТУДЕНТОВ,содержащей данные для обновления. В подсхеме данных запроса автоматическиустановится связь этих таблиц по полю НГ

2. Преобразуйте запросна выборку в Запрос на обновление, выбрав из меню Запрос|Обновление

3. Заполните бланкзапроса. Перетащите обновляемое поле КОЛ в строку Поле. В строку Обновлениевведите имя поля Count_НС, заключенное в квадратные скобки

4. Просмотритесодержимое поля КОЛ перед обновлением в режиме Таблица

5. Сохраните запроспод именем ОБНОВЛЕНИЕ ТАБЛИЦЫ ГРУППА.

6. Выполните запрос

7. Обратите вниманиена измененные значения содержимого поля КОЛ в таблице ГРУППА

 

Перекрестный запрос

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

Пусть необходимо для каждого преподавателя определить числостудентов, знания которых он оценил. Фамилии преподавателей можно получить изтаблицы ПРЕПОДАВАТЕЛЬ, которая находится в отношенияходин-ко-многим с таблицей УСПЕВАЕМОСТЬ. Поскольку с помощьюмастера невозможно построить перекрестный запрос из нескольких таблиц, тонеобходимо сначала создать запрос на выборку для таблиц УСПЕВАЕМОСТЬи ПРЕПОДАВАТЕЛЬ

1. Создайте спомощью мастера простой запрос. В этом запросе выберите из таблицы ПРЕПОДАВАТЕЛЬполе ФИО, а из таблицы УСПЕВАЕМОСТЬ – поля ВИДЗ и НС.Сохраните запрос с именем ПРЕПОДАВАТЕЛЬ — ЗАПРОС

2. Для созданияследующего запроса нажмите кнопку Создать| Перекрестный запрос

3. В окне мастера выберитезапрос ПРЕПОДАВАТЕЛЬ — ЗАПРОС

4. В следующем окнемастера выберите для заголовков строк поле ФИО. Для выбора используйтекнопку >.

5. Для заголовковстолбцов установлено поле ВИДЗ

6. Для вычислениязначений ячеек выберите поле НС и функцию Число(Count)

В отличие от мастера Конструктор позволяет создатьмноготабличный перекрестный запрос. Рассмотрите создание перекрестного запроса,в котором заголовками строк будут фамилии преподавателей, заголовками столбцов- наименование предметов, а на пересечении строк и столбцов — сумма часов.

1. Начните, какобычно, создание запроса в режиме Конструктора

2. В окне Добавлениетаблицы включите в схему данных таблицы ПРЕДМЕТ, ИЗУЧЕНИЕи ПРЕПОДАВАТЕЛЬ

3. В бланкзапроса перетащите поля ФИО из таблицы ПРЕПОДАВАТЕЛЬ, НП– из таблицы ПРЕДМЕТ, ЧАСЫ – из таблицы ИЗУЧЕНИЕ

4. Выполните командуменю Запрос/Перекрестный. В бланке запроса появятся две дополнительныестроки Групповая операция и Перекрестная таблица

5. В строке Перекрестнаятаблица для поля ФИО выберите из списка значение Заголовки строк,для НПЗаголовки столбцов, для поля ЧАСЫЗначение

6. В строке Групповаяоперация для поля ЧАСЫ выберите Sum, оставив для всех остальных полей – Группировка


Отчеты

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

Рассмотрите создание отчета на примере получения списковстудентов по группам.

1. Определитетребования к макету отчета:

—   Списки студентов каждой группы вотчете должны выводиться последовательно вместе с заголовками

—   Необходимо рассчитать среднийпроходной балл для каждой группы

—   Записи должны выводиться в алфавитномпорядке фамилий

Начните создание отчета с помощью Мастера, а затемоткорректируйте в режиме Конструктора.

2. На вкладке Отчетнажмите на кнопку Создать

3. В окне Новыйотчет откройте список таблиц и выберите СТУДЕНТ, затем — Мастеротчетов

4. Выберите поляНГ, НС, ФИО, ГОДР, ПБАЛЛ

5. Данные в отчетедолжны быть сгруппированы по полю НГ

6. В следующем окнемастера определите способ сортировки (в нашем случае по ФИО). Нажмитекнопку Итоги и выберите для поля ПБАЛЛ функцию Avg

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

8. По умолчаниюотчет примет имя СТУДЕНТ

Для редактирования отчета перейдите в Режим конструктора.

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

2. Из раздела Верхнийколонтитул удалите поле НГ, чтобы оно не повторялось. Для этоговыделите его и Del. Выбрав изпанели элементов Надпись, введите подпись поля: Списокстудентов группы. Установите нужный шрифт в элементах.

3. Аналогичнозамените Подпись поля в разделе Примечание группы НГ на Среднийпроходной балл. В свойствах элемента функции =Avg(ПБАЛЛ) на вкладке Макет в строке Формат полявыберите Фиксированный, ачисло десятичных знаков – 2.

еще рефераты
Еще работы по информатике, программированию