- •Работа в субд Access Лабораторная работа 1: Создание новой базы данных. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Приложение к лр №1
- •Лабораторная работа 2: Модификация структуры бд. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 3. Корректировка данных. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 4: Сортировка, индексация, поиск и фильтрация данных. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 5: Импорт, экспорт и присоединение данных Цель работы
- •Общие сведения
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 6: Создание запросов на языке qbe. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 7: Создание экранной формы. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа № 8: Создание отчетов. Цель работ
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа № 9: Создание макросов. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 10: Создание меню приложения. Цель работы
- •Общие сведения.
- •Порядок выполнения работы.
- •Задание для самостоятельной работы.
- •Лабораторная работа 11: Создание приложения. Цель работы
- •Общие сведения
- •Порядок выполнения работы
Порядок выполнения работы.
Запустите Access. Для этого нажмите на кнопку Пуск в левом нижнем углу экрана и из меню Программы выберите строку Microsoft Access. Оказавшись в прикладном окне Access, выберите индикатор Новая база данных и нажмите ОК. В диалоговом окне создания БД выполните следующие действия:
Создайте на своем рабочем диске папку с именем ACS и перейдите в нее.
Замените предложенное системой имя db1.mdb в поле имя файла на имя будущей БД, например teach.mdb.
Щелкните по кнопке Создать.
На экране в рамках окна Access появляется окно БД, имеющее кнопки: Создать, Открыть, Конструктор, а также корешки: таблица, запрос, форма, отчет, макрос, модуль. Корешок таблицы выбран по умолчанию.
Для создания новой таблицы щелкните на кнопке Создатьи выберите режимКонструктор. Access перейдет в режим создания определения таблицы. В этом режиме для каждого поля создаваемой таблицы необходимо указать его имя и тип, можно также прокомментировать назначение поля в третьей колонке.
Создайте таблицу, схема которой имеет вид: PREP(FIO, Categ, Nagr, Contract). Поля FIO и Categ имеют текстовыйтип данных. Это соответственно фамилии и инициалы преподавателей и их категории (профессор, доцент, ассистент, асс.к.н.). Тип поля Nagr -числовой. Это годовая нагрузка преподавателя, которая может изменяться в пределах от 0 до 999 часов. Поле Contract представляет собой дату заключения контракта с преподавателем и имеет типДата/Время. Размеры полей указываются в первой строке области Свойства Поля. Укажите для FIO размер 25 символов, для Categ- 10, для Nagr -целое, для поля Contract размер поля указывать не надо, он устанавливается по умолчанию. Для каждого из полей в относящейся к этому полю области Свойства Поля введите значения элементаПодпись поля, например, для поля FIO введите Ф.И.О., для поля Categ - Категория, для поля Nagr - Нагрузка, а для поля Contract – Дата контракта. Укажите, что все поля, кроме Nagr, должны быть заполнены (свойствоОбязательное поледолжно иметь значениеДа). Для поля FIO задайтеУсловие на значениеLike “* ?.?.”, это означает, что сначала следует ввести несколько символов, представляющих собой фамилию, а затем две буквы с точками после них – инициалы. СвойствуСообщение об ошибкеполя FIO можно, например, присвоить значение «Ввод Ф.И.О. с ошибкой». Текст сообщения об ошибке может быть и другим, но желательно коротким и точно указывающим, при вводе в какое поле произошла ошибка и какая. Для поля Nagr задайтеУсловие на значение>=0 And <=999 иСообщение об ошибке– «Нагрузка должна быть в диапазоне от 0 до 999». Для поля Contract установите выбором из списка формат поля в значениеКраткий формат даты и с помощью построителя маски (кнопка с тремя точками...) Маску ввода -Краткий формат даты. Завершив спецификацию полей таблицы, задайте ее первичный ключ. Для этого щелкните слева от поля FIO, чтобы выделить его, а затем щелкните по пиктограмме ключа или выполните командуПравкаКлючевое поле. Сохраните созданную структуру таблицы, выполнив командуФайлСохранить как, введите имя таблицыPREPи щелкните OK.
Теперь можно заполнять таблицу данными. Для этого перейдите из режима проектирования таблицы в режим ее заполнения, щелкнув по пиктограмме таблицы, или, выполнив командуВидРежим таблицы, и введите следующие данные:
Ф.И.О. |
Категория |
Нагрузка |
Дата_Контракта |
Малышев С.В. |
асс.к.н. |
780 |
25/03/98 |
Никитин Е.В. |
доцент |
650 |
02/01/99 |
Наумов С.А. |
асс.к.н. |
760 |
12/01/02 |
Васильев С.Л. |
профессор |
580 |
17/05/97 |
Матвеев Л.Б. |
доцент |
790 |
09/01/96 |
Андреева А.И. |
ассистент |
800 |
05/01/96 |
Иванов Н.П. |
профессор |
620 |
20/01/96 |
Соколова Н.Н. |
доцент |
720 |
31/08/01 |
Сидоров С.С. |
профессор |
95 |
01.03.97 |
Для перехода к новому полю и к новой строке используйте клавишу ТАВ.
Создайте таблицу PREP1(FIO, FAK, DIS, GR), выполнив копирование таблицы PREP, а затем удалив все поля кроме FIO и добавив поля FAK,DIS и GR. Для этого закройте таблицу, вернитесь в окно БД и выполните:
команду ПравкаКопироватьпо отношению к таблице PREP;
команду Правка Вставитьи в диалоговом окнеВставка Таблицывведите имя таблицы PREP1, параметр вставкиСтруктура и данныеустановлен по умолчанию, можно было бы скопировать только структуру или только данные, но в данном случае нам нужно и то и другое;
щелкните OK.
В списке таблиц БД teach появилась еще одна таблица с именем PREP1. Выберите ее и перейдите в режим Конструктора. В этом режиме удалите все поля таблицы PREP1 кроме FIO. Для этого выделите все ненужные поля (полностью строку)и нажмите Del. Access выведет диалоговое окно с предупреждением, что при удалении полей будет утрачено их содержимое. ЩелкнитеOK, и удаление будет завершено. После удаления ненужных полей добавьте следующие поля:
Поле |
Тип данных |
Описание |
Размер поля |
FAK |
текстовый |
Сокращенное название факультета |
4 |
DIS |
текстовый |
Сокращенное название предмета |
5 |
GR |
текстовый |
номер группы |
4 |
В качестве значений элементов Подпись полявведите соответственно Факультет, Дисциплина, Группа. Для всех полей кроме FIO укажитеДав качестве значения элементаОбязательное поле. Для поля GR задайтеУсловия на значение- Like “#[1-7]#[1-6]”. Это означает, что номер группы состоит из четырех цифр, из которых первая и третья могут быть любыми, вторая не может быть равна 0,8,9, а четвертая не может быть равна 0,7,8,9. СвойствуСообщение об ошибкеприсвойте значение «Неверный номер группы». Снимите установку первичного ключа с поля FIO, щелкнув при выделенном поле по пиктограмме ключа, поскольку запрет повторения фамилии преподавателя в этой таблице является семантически неверным. Каждый преподаватель может вести занятия в нескольких группах и/или читать несколько предметов.
Сохраните созданную структуру таблицы и перейдите в режим ее заполнения. Должны быть введены следующие данные:
Ф.И.О. |
Факультет |
Дисциплина |
Группа |
Малышев С.В. |
ФАВТ |
БДиБЗ |
5341 |
Никитин Е.В. |
ФАВТ |
ТУ |
2351 |
Наумов С.А. |
ФЭТ |
ОП |
3422 |
Васильев С.Л. |
ФЭТ |
ОП |
4441 |
Матвеев Л.Б. |
ФАВТ |
ОП |
2351 |
Андреева А.И. |
ФКЭА |
ОП |
5531 |
Иванов Н.П. |
ФАВТ |
ОСРВ |
2351 |
Соколова Н.Н. |
ФАВТ |
ТУ |
2352 |
Сидоров С.С. |
ФАВТ |
ОП |
3456 |
Никитин Е.В. |
ФЭТ |
ОП |
3421 |
Наумов С.А. |
ФАВТ |
БДиБЗ |
5342 |
Сидоров С.С. |
ФАВТ |
ТУ |
3456 |
Сидоров С.С. |
ФКЭА |
ТУ |
2345 |
Определите связи между таблицами.
Для этого вернитесь в окно БД, закрыв текущее окно таблицы, и выполните команду СервисСхема данных. Откроется пустое окноСхема Данных, а затем диалоговое окноДобавление таблицы. Выбирайте по очереди таблицы PREP и PREP1 и щелкайте по кнопкеДобавить. Затем щелкните по кнопкеЗакрыть. В окнеСхема Данныхпоявятся заголовки обеих таблиц со списками их полей. Таблица PREP должна быть связана с таблицей PREP1 отношением один-ко-многим (устанавливается по умолчанию), так как каждый преподаватель может вести несколько предметов и преподавать в разных группах. Для первичного ключа FIO таблицы PREP существует соответствующий ему внешний ключ FIO в таблице PREP1. Для установки связи щелкните по полю FIO таблицы PREP, перетащите и опустите его на поле FIO таблицы PREP1. В открывшемся диалоговом окнеСвязищелкните по флажкуОбеспечение целостности данныхи по флажкамКаскадное обновление связанных полейиКаскадное удаление связанных записей. Щелкните также по кнопкеОбъединениеи выберите установку 2, чтобы обеспечить возможность найти преподавателя, который ничего не преподает. Для завершения процесса создания связи щелкнитеСоздать. Для удаления связи достаточно щелкнуть по изображающей ее линии и нажатьDel, но не стоит делать это сейчас. Чтобы отредактировать связь, надо щелкнуть по ней дважды. Закройте окноСхема данных. Вы завершили установку связей между таблицами БД и создание БД в целом.
Установить связь между таблицами удается не всегда. Не удастся сделать это в следующих случаях:
таблицы, между которыми устанавливается связь, открыты;
поле связи не является первичным ключом родительской таблицы;
типы или размеры полей, по которым устанавливается связь, не совпадают;
нарушена ссылочная целостность данных, то есть в подчиненной таблице есть значения поля связи, отсутствующие в родительской таблице, например, в таблице Prep1 есть какая – то фамилия и инициалы, отсутствующие в таблице Prep.