Тема 1. Функциональные зависимости атрибутов. Первичный ключ. Схема данных

Создание многотабличной базы данных в СУБД MS Access

1. Постановка задачи:учет результатов экзаменационных испытаний, которые показали студенты по дисциплинам учебного плана по семестрам. Требуется автоматизировать ввод, хранение и обработку накопленной информации.

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

База данных ДЕКАНАТ – табличная реализация отношения

ИтогиСессии = {<КодДисциплины, НаимДисциплины, ЧислоАудЧасовВНеделю, Семестр, НомерЗачКнижки, ФИО, ДатаЭкзамена, ЧислоБаллов >},

В отношении ИтогиСессии определены функциональные зависимости атрибутов:

F: <КодДисциплины, НомерЗачКнижки, ДатаЭкзамена > ® ЧислоБаллов
КодДисциплины ® НаимДисциплины, ЧислоАудЧасовВНеделю, Семестр
НомерЗачКнижки ® ФИО, Группа

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

Дисциплина = {<КодДисциплины, НаимДисциплины, ЧислоАудЧасовВНеделю, Семестр>}

F: КодДисциплины ® НаимДисциплины, ЧислоАудЧасовВНеделю, Семестр

Студент = {<НомерЗачКнижки, ФИО, Группа>}

F: НомерЗачКнижки ® ФИО, Группа

Сессия ={<КодДисциплины, НомерЗачКнижки, ДатаЭкзамена, ЧислоБаллов>}

F: <КодДисциплины, НомерЗачКнижки, ДатаЭкзамена > ® ЧислоБаллов

 

2. Создать базу данных в СУБД ACCESS, для этого:

Вызвать MS ACCESS, выбрать команду MS Office. Затем выбрать опцию меню Создать Þ В диалоговом окне параметров файла определить местоположение и имя файла.

В нашем примере имя файла – ДЕКАНАТ, файл расположен на жестком диске D в каталоге Documents and Settings в папке Students. Выбрать команду Создать (рис. 1).

Расширение файла «.accdb» устанавливается автоматически.

Рис. 1. Создание новой базы данных

 


3. Многотабличная база данных ДЕКАНАТ состоит из трех связанных таблиц: Дисциплина,Студент и Сессия. Первичный ключ каждой таблицы определяют функциональные зависимости атрибутов, Основные этапыпроцесса создания каждой таблицы и определения схемы данных:

3.1. Создание таблицы Дисциплина.

3.1.1. Для создания таблицы перейти на линейке управления на закладку Создание, в группе Таблицы выбрать команду Таблица. Þ Выбрать режим Конструктор. Þ В открывшемся окне определить имя таблицы – Дисциплина.
  3.1.2. Определить имена полей таблицы, тип данных для каждого поля, в нижней части панели конструктора определить тип данных и свойства каждого поля (рис.2): КодДисциплины –– числовой, размер поля - целое, НаимДисциплины - текстовый, размер –30 символов, поле обязательное, ЧислоАудЧасовВНеделю – числовой, размер – длинное целое, Семестр – числовой, размер – байт.   Рис. 2. Таблица Дисциплина в режиме конструктора  
     

3.1.3. В таблице Дисциплина первичный ключ состоит из одного атрибута (простой первичный ключ) – КодДисциплины.

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

  3.2. Таблицу Студент создать по такой же схеме (рис. 2). Структура таблицы: НомЗачКнижки - текстовый, длина 15 символов, ФИО- текстовый, размер – 30 символов, поле обязательное, Группа–текстовый, размер 5 символов. Атрибут НомЗачКнижки является первичным ключом таблицы Студент. Закрыть вкладку работы с таблицей Студент, сохранить проведенные изменения.   Рис. 3. Таблица Студент в режиме конструктора  

 

3.3. Создать таблицу Сессия.

3.3.1. Структура таблицы:

КодДисциплины – тип поля – числовой, размер поля - целое,

НомЗачКнижки – тип поля – текстовый, длина 15 символов,

ДатаЭкзамена - тип поля - дата/время, формат поля -краткий формат даты, поле обязательное, ЧислоБаллов – тип поля – числовой, размер поля – одинарное с плавающей точкой, число десятичных знаков – 1.

3.3.2. В таблице Сессия первичный ключ состоит из трех атрибутов (составной первичный ключ): КодДисциплины, НомЗачКнижки, ДатаЭкзамена.

Для определения ключевых атрибутов выделить строки структуры с атрибутами КодДисциплины, НомЗачКнижки, ДатаЭкзамена, затем выбрать команду Ключевое поле на линейке управления не закладке Конструктор в группе Сервис (рис.4).

3.3.3. Закрыть вкладку работы с таблицей Студент, сохранить проведенные изменения.

Рис. 4. Команда определения ключевого поля таблицы

4. Для упрощения ввода данных в таблицу Сессия определить для атрибутов КодДисциплиныиНомЗачКнижкиавтоподстановку значений. Открыть таблицу Сессияв режиме Конструктора.

Рис. 5. Вызов Мастера подстановок для поля КодДисциплины

 

4.1. Для поля КодДисциплины в колонке Тип данных выбрать значение Мастер подстановок… (рис. 5). Выбрать параметр ¤ Объект «столбец подстановки» будет использовать значения из таблицы или запроса. Þ Далее Þ Выбрать таблицу Дисциплина Þ Далее Þ

Клавиша на предложенной панели ">" формирует список выбранных полей. Из списка полей таблицы Дисциплина выбрать поля КодДисциплины, НаименованиеДисциплины и Семестр. Þ

Далее Þ Далее Þ þСкрыть ключевой столбец Þ Далее Þ Готово.

 

В диалоговом окне Создание подстановки на вопрос: «Перед созданием связи необходимо сохранить таблицу. Выполнить это сейчас?» ответить Да.

 

4.2. Для поля НомЗачКнижки таблицы Сессия установить автоподстановку значений по таблице Студент:

Для поля НомЗачКнижки в колонке Тип данных выбрать значение Мастер подстановок… Þ Выбрать параметр

¤ Объект «столбец подстановки» будет использовать значения из таблицы или запроса. Þ

Далее Þ Выбрать таблицу Студент. Þ Далее Þ

Из списка предложенных полей выбрать поля НомЗачКнижки, ФИО и Группа