ОСНОВНЫЕ СВЕДЕНИЯ.

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

MS Access предназначена для работы с реляционными базами данных. Понятие “реляционная” происходит от английского слова relation -отношение, а отношения удобно изображать в виде таблицы. Это означает, что с помощью MS Access можно работать одной или несколькими взаимосвязанными таблицами. Строки таблиц соответствуют кортежам отношения, а столбцы – атрибутам. Ключом отношения называют любую функцию от атрибутов кортежа, которая может служить для идентификации кортежа. Ключ может быть простым или составным. При этом основным требованием является отсутствие повторений ключевых атрибутов в разных кортежах.

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

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

Связь многие - к - одному – зеркальное отражение связи один –ко -многим в зависимости от того, какую таблицу считают главной.

При связи многие – ко - многим одной записи таблицы А может соответствовать несколько записей таблицы В, а одной записи таблицы В может соответствовать несколько записей таблицы А. Такая схема реализуется только с помощью третьей (связующей) таблицы. Ключ такой таблица состоит, по крайней мере, из двух полей, одно из которых является общим с таблицей А, а другое _ общим таблицей В.

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

Разработка базы данных

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

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

 
 

Представим перечень атрибутов каждого из объектов:

Студенты (Код студента, Фамилия, Имя, Отчество, Номер группы, Дата рождения,, Стипендия).

Дисциплины (Код дисциплины, название дисциплины).

Преподаватели (Код преподавателя, Фамилия, Имя, Отчество, Кафедра).

Рассмотрим связь между объектами Дисциплины и Преподаватели. Каждую дисциплину могут вести несколько преподавателей, но каждый преподаватель ведет только одну дисциплину. Поэтому связь между этими объектами один-ко-многим.

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

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

 
 

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

Рисунок 20

Архитектура MS Access

Основными объектами MS Access являются таблицы, запросы, формы, отчеты, макросы и модули. В отличие от других СУБД, где термин БД обычно относится только к файлам, в которых хранятся данные, в Access БД включает в себя все объекты, связанные с хранимыми данными, в том числе и те, которые используются для автоматизации работы с базой данных.

 

Основные объекты СУБД MS Access.

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

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

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

Отчет Объект, предназначенный для форматирования, вычисления итогов и печати выбранных данных.

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

Модуль Объект, содержащий программы на языке Visual Basic для приложений. Модули могут быть независимыми объектами, содержащими процедуры, вызываемые из любого места приложения, или непосредственно привязанными к формам или отчетам для реакции на те или иные события.

В стартовом окне базы данных все перечисленные объекты представлены вкладками. Кроме вкладок окно содержит три командные кнопки: Открыть, Конструктор и Создать.

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

Кнопка Конструктор открывает структуру выбранного объекта и позволяет исправлять ее. Этот режим, как правило, является инструментом разработчика, а не пользователя.

Кнопка Создать служит для создания новых объектов. Этот элемент также предназначен для проектировщиков БД. Создание объектов может быть выполнено разными способами: вручную, автоматически или с помощью Мастера.

КОНТРОЛЬНЫЕ ВОПРОСЫ.

1. С чего начинается проектирование базы данных?

2. Для чего предназначен ключ отношения?

3. Какие виды зависимостей существуют между отношениями?

4. Что означает вид связи многие-ко-многим?

5. Что такое схема данных?

6. Перечислить и кратко охарактеризуйте основные объекты Ms Access.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.

1. Создать базу данных Сессия, выполнив следующие действия:

· загрузить MS Ассеss, в появившемся окне выбрать пункт Новая база данных, затем щелкнуть по кнопке ОК;

· в окне Файл новой базы данных задать имя (пункт Имя файла) и выбрать папку (пункт Папка), в которой база будет храниться. По умолчанию Ассеss предлагает имя базы db1, а тип файла — Базы данных Ассеss. Задать имя Дека­нат, тип файла оставить прежним;

· щелкнуть по кнопке Создать.

2. Создать структуру таблицы Студенты. Для этого:

· в окне базы данных выбрать вкладку Таблицы, а затем щелкнуть по кнопке Создать;

· в окне «Новая таблица» выбрать пункт Конструктор и щелкнуть по кнопке ОК. В результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы;

· определить поля таблицы в соответствии с таблицей 1.


Таблица 1


Имя поля Тип данных Размер поля
Код студента   Числовой   Целое  
Фамилия   Текстовый    
Имя   Текстовый    
Отчество   Текстовый    
Номер группы группы   Текстовый    
Телефон   Текстовый    
Стипендия   Логический   Да/Нет  

Для определения полей таблицы:

· ввести в строку столбца «Имя поля» имя первого поля Код студента;

· в столбце «Тип данных» щелкнуть по кнопке списка и выбрать тип данных Числовой. Поля вкладки Общие оставить такими, как предлагает Ассеss.


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

· в качестве ключевого поля задать «Код студента». Для этого щелкнуть по полю «Код студента» и по кнопке ключевое поле на панели инструментов или выполнить команду Правка/Ключевое ноле.

3. Создать структуру таблицы Дисциплины аналогично п. 2 в соответствии с таблицей 2.

Таблица 2

Имя поля Тип данных Размер поля
Код дисциплины   Числовой   Целое  
Название дисциплины   Текстовый    

· В качестве ключевого поля задать «Код дисциплины».

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

4. Создать структуру таблицы Оценки аналогично п. 2 в соответствии с таблицей 3.

Таблица 3

Имя поля Тип данных Размер поля
Код студента   Числовой   Целое  
Код дисциплины   Числовой   Целое  
Оценки   Числовой   Байт  

· Задать ключ таблицы. В этой таблице ключ составной и состоит из полей “Код студента” и “Код дисциплины”.

· Закрыть таблицу, задав ей имя Оценки.

5. Создать структуру таблицы Преподаватели аналогично п. 2 в соответствии с таблицей 4.

Таблица 4

Имя поля Тип данных Размер поля
Код преподавателя   Счетчик   Длинное целое  
Фамилия     Текстовый
Имя Текстовый
Отчество Текстовый
Дата рождения Дата/Время Краткий
Должность Текстовый
Код дисциплины Числовой   Целое  
Телефон Текстовый

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

· значение по умолчанию: доцент;

· условие на значение: профессор OR доцент OR ассистент;

· сообщение об ошибке: неверно введена должность;

· обязательное поле: да;

· Задать ключ таблицы: “код преподавателя”;

· Закрыть таблицу, присвоив ей имя Преподаватели.

7. Разработать схему данных, т.е. создать связи между таблицами. Для этого:

· щелкнуть по кнопке Схема данных на панели инструментов или выполнить команду Сер­вис/Схема данных. На экране появится окно «Схема данных»;

· щелкнуть по кнопке Добавить таблицу на панели инструментов или выполнить команду Свя­зи/Добавить таблицу;

· в появившемся окне будет выделено название одной таблицы. Щелкнуть по кнопке Добавить;

· перевести выделение на имя следующей таблицы и щелкнуть по кнопке Добавить. Аналогично добавить оставшиеся две таблицы;

· закрыть окно, щелкнув по кнопке 3акрыть;

· создать связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю «Код дисциплины» в таблице Дисциплины, щелкнуть левой кнопкой мыши и, не отпуская ее, перетащить курсор на поле «Код дис­циплины» в таблицу Оценки, а затем отпустить кнопку мыши. На экране откро­ется окно «Связи»;

· установить флажок ("галочку") в свойстве Обеспечение целостности данных, щелкнув по нему;

· установить флажок в свойстве Каскадное обновление связанных полей и Каскад­ное удаление связанных записей,

Примечание. Задание каскадного обновления связанных полей и каскадного удаления связанных записей позволит вам отредактировать записи только в таблице Дисциплины, а в таблице Оценки эти действия будут со связанными за­писями выполняться автоматически. Например, если вы удалить из таблицы Дисциплины один предмет, то в таблице Оценки удалятся все строки, связан­ные с этим предметом.

· щелкнуть по кнопке Создать. Связь будет создана;

· аналогично создать связи между полем Код дисциплины в таблице Дисци­плины и полем Код дисциплины в таблице Преподаватели, а также между полем Код студента в таблице Студенты и полем Код студента в таб­лице Оценки. Результат представлен на рисунке

8. Закрыть окно схемы данных, ответив Да на вопрос о сохранении макета.

ЛАБОРАТОРНАЯ РАБОТА № 15