Лабораторная работа №1
Тема: Создание и работа с учебной БД
Создание БД
Процесс создания базы данных рассмотрим на примере модели базы данных информационной системы "Контингент студентов университета".
В системе Microsoft Access процесс создания базы данных выполняется следующим образом. При запуске системы появляется диалоговое окно для выбора режима работы (рисунок 1), в котором следует выбрать пункт Новая база данных...

Рисунок 1 – Создание файла
После выбора первого пункта появляется окно для задания пути сохранения и имени новой базы.
Выберем папку на диске для сохранения файла базы данных и зададим имя базы - STUDENTS, нажмем на кнопку Создать, после чего откроется окно базы данных.
Выберем пункт Создание таблицы в режиме конструктора (рисунок 2) и опишем структуру главной таблицы базы данных, т.е. зададим имя, тип, размер каждого поля таблицы, а также первичный ключ (если необходимо), индексированные поля и подпись (рисунок 3). Имена полей лучше писать латинскими буквами, в одно короткое слово - для удобства использования их в запросах и программах, работающих с базой данных; задание подписей для полей облегчает разработку экранных форм и отчетов.

Рисунок 2 – Окно базы данных

Рисунок 3 – Описание структуры таблицы в конструкторе
Структура таблицы SPISOK приведена в таблице 3
| 
			 Таблица 3. Структура таблицы SPISOK  | 
	||||
| 
			 Имя поля  | 
		
			 Тип данных  | 
		
			 Размер поля  | 
		
			 Индексированное поле  | 
		
			 Подпись  | 
	
| 
			 NZ  | 
		
			 Текстовый  | 
		
			 8  | 
		
			 Да (Совпадения не допускаются)  | 
		
			 № зачетки  | 
	
| 
			 FIO  | 
		
			 Текстовый  | 
		
			 45  | 
		
			 
  | 
		
			 Фамилия, имя, отчество  | 
	
| 
			 DATA_P  | 
		
			 Дата/время  | 
		
			 Краткий формат даты  | 
		
			 
  | 
		
			 Дата поступления  | 
	
| 
			 N_FCLT  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 Да (Совпадения допускаются)  | 
		
			 Факультет  | 
	
| 
			 N_SPECT  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 Да (Совпадения допускаются)  | 
		
			 Специальность  | 
	
| 
			 KURS  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 
  | 
		
			 Курс  | 
	
| 
			 N_GRUP  | 
		
			 Текстовый  | 
		
			 10  | 
		
			 
  | 
		
			 Группа  | 
	
| 
			 N_PASP  | 
		
			 Текстовый  | 
		
			 10  | 
		
			 
  | 
		
			 Номер паспорта  | 
	
Для поля NZ следует задать свойство "Ключевое поле", т.к. номер зачетки - уникальный для каждого студента и однозначно его идентифицирует в таблице базы. По окончании описания структуры таблицы даем команду Сохранить (на стандартной панели инструментов, в меню - раздел Файл, или при закрытии окна конструктора) и задаем название таблицы - SPISOK.
Аналогичным образом создаем в базе данных справочник факультетов с именем файла FCLT, структура его приведена в таблице 4.
| 
			 Таблица 4. Структура таблицы FCLT  | 
	||||
| 
			 Имя поля  | 
		
			 Тип данных  | 
		
			 Размер поля  | 
		
			 Индексированное поле  | 
		
			 Подпись  | 
	
| 
			 N_FCLT  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 Да (Совпадения не допускаются)  | 
		
			 Номер факультета  | 
	
| 
			 NAME_F  | 
		
			 Текстовый  | 
		
			 120  | 
		
			 
  | 
		
			 Название факультета  | 
	
Аналогичным образом создаем в базе данных таблицы SPECT, OCENKI и PREDMETS, структуры которых приведены в таблицах 5, 6 и 7 соответственно.
| 
			 Таблица 5. Структура таблицы SPECT  | 
	||||
| 
			 Имя поля  | 
		
			 Тип данных  | 
		
			 Размер поля  | 
		
			 Индексированное поле  | 
		
			 Подпись  | 
	
| 
			 N_SPECT  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 Да (Совпадения не допускаются)  | 
		
			 Номер специальности  | 
	
| 
			 NAME_S  | 
		
			 Текстовый  | 
		
			 120  | 
		
			 
  | 
		
			 Название специальности  | 
	
| 
			 Таблица 6. Структура таблицы OCENKI  | 
	||||
| 
			 Имя поля  | 
		
			 Тип данных  | 
		
			 Размер поля  | 
		
			 Индексированное поле  | 
		
			 Подпись  | 
	
| 
			 NZ  | 
		
			 Текстовый  | 
		
			 7  | 
		
			 Да (Совпадения допускаются)  | 
		
			 Номер зачетки  | 
	
| 
			 SEMESTR  | 
		
			 Числовой  | 
		
			 Байт  | 
		
			 
  | 
		
			 Семестр  | 
	
| 
			 N_PREDM  | 
		
			 Числовой  | 
		
			 Целое  | 
		
			 Да (Совпадения допускаются)  | 
		
			 Предмет  | 
	
| 
			 BALL  | 
		
			 Текстовый  | 
		
			 1  | 
		
			 
  | 
		
			 Оценка  | 
	
| 
			 DATA_B  | 
		
			 Дата/время  | 
		
			 Краткий формат  | 
		
			 
  | 
		
			 Дата  | 
	
| 
			 PREPOD  | 
		
			 Текстовый  | 
		
			 45  | 
		
			 
  | 
		
			 Преподаватель  | 
	
| 
			 Таблица 7. Структура таблицы PREDMETS  | 
	||||
| 
			 Имя поля  | 
		
			 Тип данных  | 
		
			 Размер поля  | 
		
			 Индексированное поле  | 
		
			 Подпись  | 
	
| 
			 N_PREDM  | 
		
			 Числовой  | 
		
			 Целое  | 
		
			 Да (Совпадения не допускаются)  | 
		
			 Номер предмета  | 
	
| 
			 NAME_P  | 
		
			 Текстовый  | 
		
			 120  | 
		
			 
  | 
		
			 Название предмета  | 
	
Далее задаем связи Один ко многим между таблицами в базе, открыв окно Схема данных (выбрав эту команду в контекстном меню для окна базы данных) и перетаскивая название поля первичного ключа к аналогичному полю другой таблицы (рисунок 4). При этом задаем в окне Изменение связей (рисунок 5) условия соблюдения ссылочной целостности данных: каскадное обновление связанных полей и каскадное удаление связанных записей.

Рисунок 4 – Схема базы данных

Рисунок 5 – Задание условий соблюдения ссылочной целостности данных
Стандартный режим работы с таблицами
Заполнение базы данных информацией следует начинать со справочников - иначе при заполнении главных таблиц возникнут конфликты сохранения ссылочной целостности базы. Например, если в справочнике факультетов не будет номера факультета, указанного для студента, появится сообщение "Введенное значение не подходит для данного поля" и Вы не сможете сохранить данные, пока не укажете правильное значение.
Для работы с информацией таблицы базы данных (добавление, редактирование и удаление записей) следует выбрать ее в разделе объектов базы данных "Таблицы" (рисунок 6) и двойным щелчком мыши открыть.

Рисунок 6 – База данных
Таблица откроется в стандартном режиме работы с информацией, как показано на рисунок 7

Рисунок 7 – Стандартный режим работы с таблицей базы данных
В таком режиме каждая запись таблицы базы данных представлена как строка, состоящая из столбцов - полей, над которыми показаны подписи полей или, при их отсутствии, имена полей. В нижней части таблицы присутствует пустая запись с символом * в левой колонке - это несуществующая запись, которая добавляется в таблицу, как только в ней появляется какая-либо информация. На нижней рамке окна находятся кнопки для перемещения по таблице, номер текущей записи и информация об общем количестве записей в таблице. Колонка слева с символом + имеется в наличии, если у таблицы есть связь от одной записи данной таблицы ко многим записям связанной с ней таблицы. В данном случае при щелчке мышью на плюсе откроется как подтаблица - список студентов для соответствующего факультета. Настройка подтаблицы присутствует в главном меню в разделе Вставка.
В системе Microsoft Access существуют также дополнительные возможности использования в таблицах режима "Подстановка" для показа и выбора данных из раскрывающихся списков ("тип источника строк" - таблица или запрос, список значений или список полей). Этот режим можно создать с помощью Мастера, если выбрать тип поля "Мастер подстановок" или описать самому на странице "Подстановка". В примере этот режим задан для поля N_FCLT таблицы Spisok (рисунок 8). В дальнейшем для поля с описанными свойствами раздела "Подстановка" на экранной форме будет автоматически создаваться объект типа "Поле со списком".

Рисунок 8 – Параметры страницы "Подстановка" в Конструкторе
Вид таблицы Spisok с использованием поля со списком для поля N_FCLT показан на рисунке 9.

Рисунок 9 – Таблица с использованием режима "Подстановка"
При работе с таблицей можно задать сортировку записей по одному из полей и фильтр для показа данных, соответствующих заданному условию (см. раздел меню Записи).
После окончания добавления, редактирования или удаления данных следует дать команду Сохранить, или при закрытии окна таблицы выбрать в появившемся окне команду, сохранять или нет изменения.
