4. Порядок выполнения работы
А. Создание и заполнение базы данных
1. Создать папку для размещения файла базы данных. Запустить Microsoft Access. Создать новую базу данных:
Пуск | Программы | Microsoft Office | Microsoft Office Access 2007 |
ф. Microsoft Access | Новая пустая база данных | Новая база данных |
Панель Новая база данных | Имя файла ← Education;
Поиск расположения для размещения базы данных ← путь к созданной директории;
кн. Создать ► ф. Education: база данных (Access 2007) – Microsoft Access
2. В базе данных с помощью конструктора таблиц создать структуру таблицы Студенты (справочник студентов):
– задать имя таблицы Студенты:
ф. Education: база данных | ф. Таблица1 |
кл. [Ctrl + S] ►ф. Сохранение | Имя таблицы ← Студенты
– перейти в режим конструктора
ф. Education: база данных | ф. Студенты |
вкл. Работа с таблицами ►Режим таблицы (Вид ← Конструктор) ►
ф. Студенты
– задать поле идентификатора студента (счетчик, первичный ключ). Если поле уже задано, пропустить данный пункт:
ст. Имя поля ← Код; Тип данных ← Счетчик;
вкл. Работа с таблицами ►Конструктор | кн. Ключевое поле;
перейти на след. строку
– задать поле номера зачетной книжки (уникальное, 6 цифр):
ст. Имя поля ← ЗачКн; Тип данных ← Текстовый;
ф. Свойства поля | Общие |
Размер поля ← 6; Индексированное поле ← Да
(Совпадения не допускаются); Обязательное поле ← Да;
Маска ввода ← 000000;
перейти на след. строку;
– задать поля фамилии, имени, отчества (строковые):
ст. Имя поля ← Фам; Тип данных ← Текстовый;
ф. Свойства поля | Общие | Размер поля ← 20; Обязательное поле ← Да;
перейти на след. строку;
аналогично – для имени (Имя) и отчества (Отч);
– создать уникальный индекс ФИО из полей фам, имя, отч:
вкл. Работа с таблицами ►Конструктор | кн. Индексы ►
ф. Индексы | кл. на пустую строку | Индекс ← ФИО;
Имя поля ← Фам; в этом же столбце перейти на след. строку | Имя поля ← Им;
в этом же столбце перейти на след. строку | Имя поля ← Отч; закрыть окно);
перейти на след. строку;
– задать поле кода специальности (до 7 русских букв, подстановка из списка):
ст. Имя поля ← Спец; Тип данных ← Текстовый;
ф. Свойства поля | Общие |
Размер поля ← 7; Условие на значение ← Between "А" And "яяяяяяя";
Обязательное поле ← Да; Тип данных ← Мастер подстановок… ►
ф. Создание подстановки |
уст. Будет введен фиксированный набор значений; кн. Далее ►
Число столбцов ← 2; отрегулировать ширину столбцов; кн. Далее ►
Доступные поля ← Столбец1; кн. Далее ► кн. Готово ►;
перейти на след. строку;
ф. Свойства поля | Подстановка |
Источник строк ←АСОИУ; Автоматизированные системы…;
МИЭ; Матметоды в экон… и т.д. для др. специальностей);
перейти на след. строку;
– задать поле курса (одна цифра от 1 до 6):
ст. Имя поля ← Курс; Тип данных ← Текстовый;
ф. Свойства поля | Общие |
Размер поля ← 1; Обязательное поле ← Да;
Условие на значение ← Between “1” And “6”);
перейти на след. строку;
– задать поле номера группы (две цифры):
ст. Имя поля ← Гр; Тип данных ← Текстовый;
ф. Свойства поля | Общие |
Размер поля ← 2; Обязательное поле ← Да; Маска ввода ← 00);
перейти на след. строку;
– задать поле даты рождения:
ст. Имя поля ← ДатаРожд; Тип данных ← Дата/время;
Свойства поля | Общие |
Формат поля ← Краткий формат даты);
перейти на след. строку;
– задать поле биографии (мемо):
Имя поля ← Биогр; Тип данных ← Поле МЕМО;
Свойства поля | Общие |
Формат поля ← @;”Неизвестна”);
перейти на след. строку;
– задать поле фотографии (объект):
Имя поля ← Фото; Тип данных ← Поле объекта OLE;
перейти на след. строку;
– сохранить структуру таблицы одним из трех способов: сочетанием клавиш [Ctrl + S], кн. Office | Сохранить или кн. «Сохранить» на панели инструментов.
3. Аналогичным образом создать структуру таблицы Предметы (справочник предметов) с полями:
– создать новую таблицу базы данных Education
ф. Education: база данных | вкл. Создание ►Таблица
– задать имя таблицы Предметы:
ф. Education: база данных | ф. Таблица1 |
кл. [Ctrl + S] ►ф. Сохранение | Имя таблицы ← Предметы
– перейти в режим конструктора
ф. Education: база данных | ф. Предметы |
вкл. Работа с таблицами ►Режим таблицы (Вид ← Конструктор) ►
ф. Предметы
– задать поле идентификатора предмета (счетчик, первичный ключ). Если поле уже задано, пропустить данный пункт:
ст. Имя поля ← Код; Тип данных ← Счетчик;
вкл. Работа с таблицами ►Конструктор | кн. Ключевое поле;
перейти на след. строку
– аналогичным образом создать остальные поля таблицы:
– Название(название предмета (строковое));
– Цикл(цикл дисциплин, к которым относится предмет (строковое));
– Объем (количество часов (числовое));
– Кафедра(название кафедры, на которой ведется преподавание предмета (строковое)).
– указать первичный ключ таблицы (поле Код);
– для каждого из полей таблицы придумать ограничения на значения.
4. Аналогичным образом создать структуру таблицы Успеваемость (успеваемость студентов по предметам) с полями:
– Код студента (идентификатор студента (тип такой же, как в таблицеСтуденты, но не счетчик));
– Код предмета(идентификатор предмета (тип такой же, как в таблицеПредметы, но не счетчик));
– Оценка(оценка (символ));
– Дата (дата (дата)).
– ввести составной первичный ключ (поля идентификаторов студента и предмета):
ф. конструктора таблицы Успеваемость| кл. на полеКод студента;
Ctrl + кл. на поле Код предмета ►
выделены оба поля; (панель инстр. | кн. Ключевое поле) ► составной ключ готов;
– для каждого из полей таблицы придумать ограничения на значения;
– задать таблицы студентов и предметов в качестве таблиц подстановки для идентификаторов студента и предмета в таблице успеваемости:
ф. конструктора таблицы Успеваемость| кл. на полеКод студента;
Тип данных | Мастер подстановок… ►
ф. Создание подстановки | уст. «Объект "столбец подстановки" будет использовать значения из таблицы или запроса»; кн. Далее ► след. стр. |
кл. Студенты; кн. Далее ► след. стр. | Выбранные поля << все поля, кроме ДатаРожд,Биогр,Фото; кн. Далее ► след. стр. |
Выберите порядок сортировки элементов списка | выбр. Код; кн. Далее ► след. стр. |
отрегулировать ширину столбцов; кн. Далее ► след. стр. | кн. Готово ►
ф. …сохранить таблицу? | кн. Да
– аналогичным образом указать таблицу Предметыв качестве таблицы подстановки для поляКод предмета.
– задать допустимые значения оценок (5, 4 и т. д.) в качестве значений подстановки для поля Оценка.
5. Связать таблицы, сделав таблицы студентов и предметов родительскими, а таблицу успеваемости – дочерней; установить правила ссылочной целостности: каскадное для удаления и изменения:
ф. Education: база данных | вкл. Работа с базами данных | кн. Схема данных ►
(ф. Схема данных ► таблицы на схеме (если на предыдущих этапах все было сделано верно, то на форме будут представлены все три таблицы базы данных
Выбрать связь между таблицами СтудентыиУспеваемость;
дв. кл. на линии связи ); ►
(ф. Изменение связей | уст. Обеспечение целостности; уст. Каскадное обновление;
уст. Каскадное удаление; кн. OK) ► связь на схеме;
– Аналогичным образом изменить свойства связи между таблицами Предметы иУспеваемость.
– Закрыть форму Схеме данных.
6. Наполнить базу данных сведениями о студентах (не менее 5), предметах (не менее 3) и оценках (не менее 10). Освоить доступ к дочерним записям из родительской таблицы. Проверить работоспособность полей и таблиц подстановок. Освоить приемы изменения и удаления полей и записей. Для OLE-полей опробовать различные варианты внедрения и связывания объектов, а также приемы их модификации. Проверить работоспособность ограничений значений полей, уникальности и др., предусмотренные при задании структуры базы данных. Проверить работоспособность ссылочной целостности, удаляя, изменяя и вставляя данные.
Б. Запросы, отчеты и формы
1. Создать запрос для вывода кратких сведений о студентах (идентификатор, номер зачетки, фамилия и инициалы, идентификатор группы):
– создать новый запрос
ф. Education: база данных | вкл. Создание; кн. Конструктор запросов ►
(ф. конструктора запросов (ф. Добавление таблицы | Таблицы | дв. кл. Студенты;
кн. Закрыть) |
(1-я кол | Поле ← Код); (2-я кол | Поле ← ЗачКн); (3-я кол | Поле | Shift + F2 ►
(ф. Область ввода ← ФИО: Trim(Фам)&' '&Left(Trim(Имя);1)&'.'
&Left(Trim(Отч);1)&'.' ; кн. ОК))
(4-я кол | Поле | Shift + F2 ►
(ф. Область ввода ← Группа:Trim(Спец)&'-'&Курс&Гр; кн. ОК))
кл. [Ctrl + S] ►ф. Сохранение | Имя запроса ← Студенты_инфо
– проверить работоспособность запроса
ф. Education: база данных | ф. Все таблицы; дв.кл. Студенты_инфо►
результаты запроса на экране.
2. Аналогичным образом создать запрос для вывода сведений об успеваемости студентов из таблицы Успеваемостьс указанием сведений о студенте из запросаСтуденты_инфои сведений о предмете из таблицыПредметы. Результат должен содержать следующие поля: ФИО студента, Группа, Предмет, Дата, Оценка. Назвать запрос какСтуденты_успев.
3. Построить форму 1-табличного отчета с помощью мастера для таблицы студентов:
ф. Education: база данных | вкл. Создание; гр. Отчеты | кн. Мастер отчетов ►
ф. Создание отчетов | Таблицы и запросы ← выбр. Студенты |
Доступные поля ← кн. [>>] | кн. Далее) ► след. стр. | кн. Далее ►
след. стр. | кн. Далее ► след. стр. | выбр. Макет и Ориентацию | кн. Далее ►
след. стр. | выбр. Стиль | кн. Готово
4. Аналогичным образом построить и проверить отчетную форму для таблицы предметов, выбрав для нее другие параметры функционирования и оформления.
5. Построить форму многотабличного отчета ("один ко многим") с помощью мастера отчетов для таблиц студентов и предметов в качестве родительских и таблицы успеваемости в качестве дочерней:
ф. Education: база данных | вкл. Создание; гр. Отчеты | кн. Мастер отчетов ►
ф. Создание отчетов | Таблицы и запросы ►
выбр. Студенты | Доступные поля ← выбр. ЗачКн, Фам, Имя, Отч, Спец, Гр, Курс
выбр. Предметы | Доступные поля ← выбр. Название
выбр. Успеваемость | Доступные поля ← выбр. Оценка, Дата | кн. Далее) ►
след. стр. | кн. Далее ►след. стр. | кн. Далее ►след. стр. | кн. Далее ►
след. стр. | выбр. Макет и Ориентацию | кн. Далее ►
след. стр. | выбр. Стиль | кн. Далее ►
след. стр. | Задайте имя отчета ← Студенты_успев | кн. Готово.
6. Освоить приемы простейшей модификации созданных отчетов с помощью конструктора отчетов.
7. Освоить создание однотабличной формы с помощью мастера:
ф. Education: база данных | вкл. Создание;
гр. Формы | кн. Другие формы ← выбр. Мастер отчетов ►
ф. Создание форм | Таблицы и запросы ← выбр. Студенты |
Доступные поля ← кн. [>>] | кн. Далее) ►
след. стр. | выбр. Внешний вид формы | кн. Далее ►
след. стр. | выбр. Стиль | кн. Готово
8. Аналогичным образом создать однотабличную форму Предметы и многотабличную форму Успеваемость студентов.
9. Освоить приемы простейшей модификации созданных форм с помощью конструктора форм. Изучить, чем отличается использование режима формы от режима таблицы.
В. Access и Delphi
1. Запустить среду программирования Delphi:
Пуск | Программы | CodeGear RAD Studio 2009 | Delphi 2009 |
2. Создать новый проект и сохранить его под именем Education:
File | New | VCL Forms Application – Delphi ► вкл. Unit1
File | Save Project As… ► ф. Save Unit1 As… | выбр. расположение проекта |
Имя файла ← Form.pas| кн. Сохранить ► ф. Save Project1 As… |
Имя файла ← Education.dproj| кн. Сохранить
3. Найти набор компонентов для работы с базами данных на панели инструментов:
ToolPalette|dbGo
4. Выбрать компонент ADOConnectionдля установления соединения с базой данных:
ToolPalette|dbGo|TADOConnection►выдел. лев. кн. мыши
и перетащить на форму ► на форме появится компонент с именем ADOConnection1
5. Установить параметры соединения
Выделить ADOConnection1 | ф. Object Inspector | выбр. Connection String | кн. […] ►
ф. Form1.ADOConnection1 Connection String | уст. Use Connection String | кн. Build ►
ф. Свойства связи с данными | вкл. Поставщик данных ← выбр. Microsoft Office 12.0 Access Database Engine OLE DB Provider | кн. Далее ►вкл. Подключение | Источник данных ←Полный путь к файлу с базой данных \Education.accdb | кн. Проверить подключение ►если появилось сообщение «Проверка подключения выполнена», то соединение установлено успешно; иначе повторить настройку соединения
ф. Свойства связи с данными | кн. OK ► ф. Form1.ADOConnection1 Connection String | кн. OK
6. Переименовать компонент соединения
Выделить ADOConnection1 | ф. Object Inspector | выбр. Name←Conn
7. Запретить запрос логина и пароля при попытке установления соединения:
Выделить Conn| ф.ObjectInspector| выбр.LoginPrompt←False
8. Активировать соединение:
Выделить Conn| ф.ObjectInspector| выбр.Connected←True
9. Установить компонент ADOTable
ToolPalette|dbGo|TADOTable►выдел. лев. кн. мыши и перетащить на форму ►
на форме появится компонент с именем ADOTable1
10. Установить параметры соединения для объекта ADOTable1 на основе ранее созданного компонентаConn:
Выделить ADOTable1 | ф. Object Inspector | выбр. Connection←Conn
11. Выбрать виртуальную таблицу (запрос) Студенты_успевв качестве источника данных дляADOTable1:
Выделить ADOTable1 | ф. Object Inspector | выбр. TableName← Студенты_успев
12. Переименовать объект ADOTable1
Выделить ADOTable1 | ф.ObjectInspector| выбр.Name←Table
13. Активировать компонент:
Выделить Table| ф.ObjectInspector| выбр.Active←True
14. Установить компонент DataSourceдля задания соответствия между интерфейсными элементами формы и компонентами соединения с базой данных:
ToolPalette|DataAccess|TDataSource►выдел. лев. кн. мыши
и перетащить на форму ► на форме появится компонент с именем DataSource1
15. Определить объект Tableкак источник данных для объектаDataSource1
Выделить DataSource1 | ф.ObjectInspector| выбр.DataSet←Table
16. Переименовать объект DataSource1
Выделить DataSource1 | ф.ObjectInspector| выбр.Name←DataSource
17. Определить на форме таблицу с записями из таблицы Студенты_успев:
ToolPalette|DataControls|TDBGrid►выдел. лев. кн. мыши
и перетащить на форму ► на форме появится компонент с именем DBGrid1
18. Переименовать объект DBGrid1
Выделить DBGrid1 | ф.ObjectInspector| выбр.Name←Grid
19. Указать объект DataSourceв качестве источника данных для таблицы:
Выделить Grid | ф. Object Inspector | выбр. DataSource←DataSource
20. Отрегулировать размеры формы под размеры таблицы.
21. Отредактировать размеры полей таблицы так, чтобы они все поместились на форме:
Выделить Grid | ф. Object Inspector | выбр. Columns | кн. […] ►ф. Editing Grid.Columns | кн. AddAllFields► отобразятся все столбцы; последовательно выбирая каждый столбец, редактировать свойствоWidthвObjectInspector.
22. Задать компонент навигации по записям таблицы:
ToolPalette|DataControls|TDBNavigator►выдел. лев. кн. мыши
и перетащить на форму ► на форме появится компонент с именем DBNavigator1
23. Переименовать объект DBNavigator1
Выделить DBNavigator1 | ф.ObjectInspector| выбр.Name←Navigator
24. Указать объект DataSourceв качестве источника данных для навигатора:
Выделить Navigator | ф. Object Inspector | выбр. DataSource←DataSource
25. Проверить работоспособность приложения с помощью клавиши [F9].