Лекция на тему: Основы организации баз данных
Вид материала | Лекция |
- Проектирование базы данных, 642.58kb.
- М. К. Аммосова Институт математики и информатики Кафедра информатики и вычислительного, 59.79kb.
- Курс, 1 поток, 5-й семестр лекции (34 часа), экзамен, 52.85kb.
- Лекция 20. Распределенные бд основная задача систем управления распределенными базами, 484.07kb.
- Лекция № Технологии баз данных, 92.24kb.
- Учебное пособие Допущено Министерством образования Российской Федерации в качестве, 2582.59kb.
- Лекция №5 диаграммы «сущность-связь» Диаграммы "сущность-связь" (erd), 130.27kb.
- Программа учебной дисциплины " публикация баз данных в интернете, 81.35kb.
- Лекция на тему «Что такое база данных. Реляционная база данных ms access», 67.11kb.
- Примерная должностная инструкция главного специалиста администратора баз данных автоматизированной, 44.41kb.
Лекция на тему: Основы организации баз данных
База данных (БД) - это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
С понятием базы данных тесно связано понятие системы управления базами данных (СУБД). СУБД - это комплекс программных средств, предназначенных для создания структуры новой базы данных, наполнения ее содержимым, редактирования содержимого и визуализации информации. Под визуализацией информации понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.
Существует множество различных систем управления базами данных, однако большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Рассмотрим эти понятия.
Типы СУБД
По технологии обработки данных базы данных подразделяются на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом компьютерной сети, то возможен доступ к такой базе с других компьютеров, подключенных к сети. Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, которые хранятся на разных компьютерах, подключенных к сети. При этом пользователь базы данных работает с такой базой точно так же, как с централизованной.
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом. При локальном доступе база данных доступна только для пользователя компьютера, на котором хранится база данных. При удаленном доступе база данных доступна с любого компьютера. находящегося в одной компьютерной сети с данным.
Системы централизованных баз данных с удаленным доступом предполагают различные архитектуры подобных систем:
- файл-сервер;
- клиент-сервер.
Архитектура файл-сервер систем БД с сетевым доступом предполагает выделение одного из компьютеров сети в качестве центрального сервера файлов. На такой машине хранится совместно используемая централизованная база данных. Все другие компьютеры сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользователей системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность такой информационной системы падает.
Рис.1. Схема обработки информации в БД по принципу файл-сервер
В
архитектуре клиент-сервер подразумевается, что помимо хранения централизованной базы данных сервер базы данных должен обеспечивать выполнение основного объема обработки данных. Запрос на данные, формируется рабочей станцией и передается на сервер. Процесс обработки и выполнения запроса происходит на сервере. Результат выполнения запроса (извлеченные из базы данные, соответствующие запросу) транспортируется по сети от сервера к клиенту (рабочей станции).
Рис. 2. Схема обработки информации в БД по принципу клиент-сервер
Существует множество различных систем управления базами данных, однако большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Рассмотрим эти понятия.
Информационный объект - это описание некоторой сущности (реального объекта, явления, процесса, события) в виде совокупности логически связанных реквизитов (информационных элементов). Такими сущностями для информационных объектов могут служить: цех, склад, материал, вуз, студент, сдача экзаменов и т.д.
Например, информационный объект СТУДЕНТ может быть представлен в базе данных с помощью следующих реквизитов: Номер зачетной книжки, Фамилия, Имя, Отчество, Год рождения. Это можно записать так:
СТУДЕНТ (номер_зачетки, фамилия, имя, отчество, год_рождения).
Подчеркиванием выделяется реквизит, который однозначно определяет описываемый объект. Так реквизит номер_зачетки однозначно определяет конкретного студента.
Ядром любой базы данных является модель данных. Модель данных - это совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены информационные объекты и взаимосвязи между ними. Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных представляет собой совокупность элементов данных, расположенных в порядке их подчинения и образующих по структуре перевернутое дерево.
К основным понятиям иерархической структуры относятся: уровень, узел и связь. Узел - это совокупность реквизитов данных, описывающих некоторый объект (запись базы данных). Иерархическая структура всегда удовлетворяет следующим требованиям:
- каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне;
- иерархическое дерево имеет только один корневой узел, не подчиненный никакому другому узлу и находящийся на самом верхнем - первом уровне;
- к каждому узлу базы данных существует только один иерархический путь от корневого узла.
Количество деревьев в базе данных определяется числом корневых записей.
Рис.3. Графическое изображение иерархической структуры БД
Пример, представленный на рисунке 4, иллюстрирует использование иерархической модели для построения базы данных «Институт». Информация базы данных структурирована в виде деревьев, количество которых равно количеству специальностей в институте. Корневая запись содержит реквизиты: номер специальности, название специальности, ФИО декана. Записи второго уровня содержат реквизиты: шифр группы, ФИО старосты. Записи третьего уровня содержат реквизиты: номер зачетки, фамилия, имя, отчество.
Для рассматриваемого примера иерархическая структура организации данных правомерна, так как каждый студент учится в определенной (только одной) группе, которая относится к определенной (только одной) специальности.
Р
ис. 4. Пример иерархической структуры БД
Сетевая модель данных основана на тех же основных понятиях (уровень, узел, связь), что и иерархическая модель, но в сетевой модели каждый узел может быть связан с любым другим узлом.
На рисунке 5 изображена сетевая структура организации данных.
Рис. 5. Графическое изображение сетевой структуры
Примером сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС. Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рисунке 6.
Р
ис. 6. Пример сетевой структуры БД
Реляционная модель данных
Реляционная модель использует организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- все столбцы в таблице однородные, т.е. все элементы в одном столбце имеют одинаковый тип (числовой, символьный и т.д.) и максимально допустимый размер;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов в таблице может быть произвольным.
Например, реляционной таблицей можно представить информацию о студентах, обучающихся в вузе (рисунок 7).
-
Номер личного дела
Фамилия
Имя
Отчество
Пол
Дата рождения
Специальность
16493
Сергеев
Петр
Михайлович
м
01.01.86
080104
16593
Петрова
Анна
Владимировна
ж
15.03.85
080102
16693
Анохин
Андрей
Борисович
м
14.04.86
080104
Рис.7. Пример реляционной таблицы
Объектами обработки реляционной БД являются следующие информационные единицы:
Поле - элементарная единица логической организации данных, которая соответствует неделимой единице информации (столбец реляционной таблицы).
Запись - совокупность логически связанных полей, обобщенная строка реляционной таблицы.
Экземпляр записи - отдельная реализация записи, содержащая конкретные значения ее полей (конкретная строка реляционной таблицы).
Таблица – заданная структура полей, состоящая из конечного набора однотипных записей.
Рис. 8. Основные структурные элементы реляционной базы данных
Базы данных могут содержать различные объекты, но основными объектами любой базы данных являются ее таблицы. Простейшая база данных имеет хотя бы одну таблицу.
Даже если в базе данных нет никаких данных (пустая база), то это все равно полноценная база данных. Информация в ней все-таки есть — это структура базы данных. Она определяет методы занесения данных и хранения их в базе. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и, соответственно, получаем новую базу данных.
Таблицы создаются таким образом, чтобы каждая таблица содержала информацию об одном информационном объекте. Не следует сводить в одну таблицу данные, относящиеся к разным информационным объектам. Например, было бы методически неверно хранить в одной таблице данные о студентах и преподавателях.
После создания различных таблиц, содержащих данные, относящиеся к различным информационным объектам базы данных, между этими таблицами должны быть установлены реляционные связи. Установка таких связей делает возможным выполнение одновременной обработки данных из нескольких таблиц. Для установки связей обычно используют ключевые поля таблиц.
Первичный ключ реляционной таблицы – это поле или группа полей, которые позволяют однозначно определить каждую строку в таблице. Первичный ключ должен обладать двумя свойствами:
- однозначная идентификация записи - запись должна однозначно определяться значением ключа;
- отсутствие избыточности - никакое поле нельзя удалить из ключа, не нарушая при этом свойства однозначной идентификации записи.
Если первичный ключ состоит из одного поля, то он называется простым ключом (ключевым полем). Если первичный ключ состоит из нескольких полей, т.е. для того, чтобы однозначно определить конкретную запись таблицы, нужно задать значения нескольких полей, то такая таблица базы данных имеет составной ключ.
В примере, показанном на рис. 7, таблица имеет простой первичный ключ Номер личного дела.
Чтобы связать две реляционные таблицы, необходимо ключ одной связываемой таблицы ввести в состав ключа другой связываемой таблицы (возможно совпадение ключей) или ввести в структуру одной таблицы внешний ключ, т.е. поле, не являющееся ключевым в данной таблице, но являющееся таковым в другой.
Пример. Рассмотрим базу данных «Деканат», состоящую из трех таблиц: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ, имеющих показанную ниже структуру.
Таблица СТУДЕНТ
Номер личного дела | Фамилия | Имя | Отчество | Группа |
120603 | Свиридова | Анна | Алексеевна | ЭТ-101 |
120608 | Голубев | Игорь | Андреевич | ЭТ-102 |
… | … | … | … | … |
В этой таблице ключевым полем является поле Номер личного дела, оно однозначно определяет каждую запись (строку) таблицы, т.к. не существует двух или более одинаковых номеров.
Таблица СЕССИЯ
Номер личного дела | Экзамен 1 | Экзамен 2 | Экзамен 3 | Результат |
120603 | 3 | 4 | 4 | 0 |
120608 | 5 | 5 | 5 | 2 |
120634 | 4 | 5 | 4 | 1 |
… | … | … | … | |
В столбце Результат содержатся числа 0, 1, 2 или 3 в зависимости от того, получает ли студент стипендию по результатам сессии (0 – студент не получает стипендию, 1- обычная стипендия, 2 – повышенная в 1,5 раза стипендия, 3- повышенная в 2 раза стипендия). В этой таблице ключевым полем также является поле Номер личного дела.
Таблица СТИПЕНДИЯ
Результат | Процент |
0 | 0 |
1 | 100 |
2 | 150 |
3 | 200 |
Эта таблица содержит информацию о проценте начисляемой студенту стипендии в зависимости от результата сдачи сессии. В этой таблице ключевым является поле Результат.
Для наглядности представления связей между таблицами перейдем к представлению таблиц в виде структур этих таблиц, т.е. будем указывать только названия полей таблиц. Итак, наша база данных содержит три таблицы:
СТУДЕНТ | | СЕССИЯ | | СТИПЕНДИЯ |
Номер личного дела | | Номер личного дела | | Результат |
Фамилия | | Экзамен 1 | | Процент |
Имя | | Экзамен 2 | | |
Отчество | | Экзамен 3 | | |
Группа | | Результат | | |
Рис. 9. Пример реляционной модели
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие первичные ключи ( Номер личного дела), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер личного дела и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
Будем говорить, что некоторая запись таблицы А связана с некоторой записью таблицы В, если в обе эти записи содержат одно и то же значение в поле, по которому установлена связь между таблицами.
Различают три типа связей (отношений) между таблицами реляционной базы данных:
- отношение «один-к-одному» (1 - 1)
- отношение «один-ко-многим» (1 - М)
- отношение «много-ко-многим» (М - М)
Говорят, что таблицы А и В находятся в отношении «один-к-одному», если каждая запись в таблице А может иметь не более одной связанной с ней записи в таблице В и наоборот, каждая запись в таблице В может иметь не более одной связанной с ней записи в таблице А.
В этом случае для связи используются ключевые поля связываемых таблиц.
Например, рассмотренные ранее таблицы СТУДЕНТ и СЕССИЯ находятся в отношении «один-к-одному» (между таблицами установлена связь типа «один-к-одному»).
-
СТУДЕНТ
СЕССИЯ
Номер личного дела
Номер личного дела
Фамилия
Экзамен 1
Имя
Экзамен 2
Отчество
Экзамен 3
Группа
Результат
Этот тип связи используется достаточно редко, т.к. в этом случае данные двух таблиц могут быть объединены в одну таблицу. Причины разбиения одной таблицы на несколько таблиц, связанных отношением «один-к-одному», следующие:
- разделение очень «широкой» таблицы с целью облегчения работы;
- отделение части таблицы по соображениям защиты ее от несанкционированного доступа.
Говорят, что таблицы А и В находятся в отношении «один-ко-многим», если каждая запись в таблице А может быть связана с несколькими записями таблицы В, но каждая запись в таблице В не может быть связана более чем с одной записью таблицы А. Таблица А в этом случае называется главной таблицей, а таблица В – подчиненной.
В этом случае для связи используется поле, которое является первичным ключом таблицы, находящейся на стороне отношения «один», и являющееся внешним ключом в таблице, находящейся на стороне отношения «многие».
Например, рассмотренные ранее таблицы СТИПЕНДИЯ и СЕССИЯ находятся в отношении «один-ко-многим». При этом на стороне «один» находится таблица СТИПЕНДИЯ, а на стороне «многие» - таблица СЕССИЯ. Связь устанавливается по полю Результат. Каждая запись таблицы СТИПЕНДИЯ может иметь много связанных с ней записей в таблице СЕССИЯ, иначе говоря, в таблице СЕССИЯ может быть много строк с заданным значением в поле Результат (например, со значением 1). В то же время, если взять любую строку в таблице СЕССИЯ, то для нее найдется не более одной строки в таблице СТИПЕНДИЯ с таким же значением в поле Результат.
-
СЕССИЯ
СТИПЕНДИЯ
Номер личного дела
Результат
Экзамен 1
Процент
Экзамен 2
Экзамен 3
Результат
Говорят, что таблицы А и В находятся в отношении «многие-ко-многим», если каждая запись таблицы А может быть связана с несколькими записями в таблице В, и наоборот, каждая запись таблицы В может быть связана с несколькими записями в таблице А.
Такая связь всегда реализуется с помощью третьей (связующей) таблицы. Примером может служить таблицы Читатели и Книги. Связь между ними организуется посредствам таблицы Абонемент.
-
ЧИТАТЕЛИ
1
АБОНЕМЕНТ
КНИГИ
Код читателя
Код выдачи
Код книги
Фамилия
Код читателя
Автор
Имя
Код книги
Название
Отчество
Дата выдачи
Год издания
Адрес
Дата возврата
Залоговая цена
Каждой записи в таблице Читатели могут соответствовать несколько записей в таблице Книги, и наоборот, каждая запись таблицы Книги может иметь более одной соответствующей ей записи в таблице Читатели. Соответствие устанавливается с помощью таблицы абонемент.
При этом если рассмотреть таблицы ЧИТАТЕЛИ и АБОНЕМЕНТ, то между ними установлено отношение «один-ко-многим», в котором таблица ЧИТАТЕЛИ является главной, а таблица АБОНЕМЕНТ – подчиненной. Аналогично между таблицами КНИГИ и АБОНЕМЕНТ установлена связь «один-ко-многим», в которой таблица КНИГИ является главной.
Этапы проектирования реляционной базы данных
При разработке БД можно выделить следующие этапы работы:
1. Анализ предметной области
На этом этапе формируется задание по созданию БД. В нем подробно описывается состав базы, назначение и цели ее создания, а также перечисляется, какие виды работ предполагается осуществлять в этой базе данных (отбор, дополнение, изменение данных, печать или вывод отчета и т. д.).
2. Разработка схемы данных БД. На этом этапе рассматривается, из каких информационных объектов должна состоять БД, какими реквизитами описывается каждый объект. Затем необходимо определить структуру реляционных таблиц БД с указанием свойств полей таблиц и связей между таблицами.
3. Синтез компьютерной модели объекта, предполагающий выполнение некоторых типовых операций:
3.1. Создание файла базы данных.
3.2. Создание исходной таблицы или таблиц
Создавая исходную таблицу, необходимо указать имя и тип каждого поля. Имена полей не должны повторяться внутри одной таблицы. Созданную таблицу необходимо сохранить, дав ей имя, уникальное в пределах создаваемой базы.
3.3. Создание экранных форм
Экранные формы создаются с целью облегчения процедуры ввода, редактирования и просмотра данных таблицы. На основе одной таблицы можно создать несколько форм, которые могут отличаться видом или количеством используемых полей данной таблицы.
3.4. Заполнение таблиц БД
Ввод данных в таблицу может выполняться либо напрямую, либо с использованием экранной формы.
3.5. Работа с созданной базой данных
- сортировка, фильтрация и поиск записей в таблице;
- отбор данных из таблиц в соответствии с заданными критериями отбора;
- выполнение обработки данных (удаление, добавление, изменение данных, выполнение вычислений);
- подготовка отчетов.
Разработка схемы данных
Разработку схемы данных обычно выполняют в следующей последовательности:
- Составляется общий список полей, отражающий реквизиты информационных объектов БД.
- В соответствии с типом данных, размещаемых в каждом поле, определяют наиболее подходящий тип для каждого поля.
- Поля общего списка распределяются по базовым таблицам. Критериями разделения таблиц могут быть различными. Например, сведения о сотрудниках организации могут храниться в одной таблице или могут быть созданы две таблицы, одна из которых хранит информацию служебного назначения (СОТРУДНИКИ), а другая – информацию личного плана (ЛИЧНЫЕ ДАННЫЕ) (рис. 7).
Рис. 7. Пример разделения одной таблицы на две по признаку разделения доступа к данным разных таблиц
Однако чаще критерием выделения таблицы является факт повторения данных в таблице. Например, в таблице СОТРУДНИКИ многократно повторяются названия должностей и оклады. Возможно, было бы целесообразно создать таблицу ДОЛЖНОСТИ, в которой хранить названия и характеристики должностей (рис.8). Тогда данные будут храниться в двух таблицах: например, это могут быть таблицы СОТРУДНИКИ_2 и ДОЛЖНОСТИ. В таблицу СОТРУДНИКИ_2 включен внешний ключ таблицы ДОЛЖНОСТИ – поле Код должности. По этому полю устанавливается связь между таблицами.
Рис. 8. Пример разделения одной таблицы на две по признаку устранения повторяемости данных
- В каждой из таблиц намечают ключевое поле. В качестве ключевого выбирают поле, данные в котором повторяться не могут. Например, для таблицы СОТРУДНИКИ_2 таким полем может быть поле, содержащее уникальный код каждого сотрудника (поле КодСотрудника).
- Определяются связи между таблицами. На рис. 9 показан пример взаимосвязи между группой таблиц, составляющих одну базу данных. Такой чертеж называется схемой данных.
-
ЛИЧНЫЕ ДАННЫЕ
1 1
СОТРУДНИКИ_2
КОМАНДИРОВКИ
КодСотрудника
КодСотрудника
КодКомандировки
ДатаРождения
Фамилия
1
КодСотрудника
Адрес
Имя
м
Город
Телефон
м
Отчество
ДатаОтъезда
Код должности
ДатаПриезда
ДатаНазначения
РазмерСуточных
ДОЛЖНОСТИ
1
Код должности
Название
Разряд
Оклад
Рис. 9. Пример Схемы данных
6. Разработкой схемы данных заканчивается «бумажный» этап работы проектирования базы данных. Далее следует этап компьютерной реализации базы данных.
Основы работы с СУБД Microsoft Access
Объекты БД Microsoft Access
Рассмотрим основные приемы проектирования баз данных и работы с ними на примере СУБД Microsoft Access. Microsoft Access – это СУБД, предлагающая широкий диапазон средств для хранения информации и эффективного управления этой информацией. База Данных в Access – это один файл с расширением .mdb, содержащий таблицы, запросы и другие объекты БД. Рассмотрим эти объекты более подробно.
Таблицы. Это основные объекты любой базы данных. В таблицах хранятся все данные, имеющиеся в базе, кроме того, таблицы хранят и структуру базы (поля, их типы и свойства). На рисунке 10 показан пример таблицы базы данных в режиме просмотра данных.
Рис. 10. Пример таблицы базы данных в режиме просмотра данных
Запросы. Запросы — это специальные средства для отбора и анализа данных, Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют отбор данных, их сортировку и фильтрацию, изменение и удаление данных. Кроме того, запросы позволяют создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
На рисунке 11 показан пример выполнения запроса на выборку данных из таблицы СОТРУДНИКИ согласно критерию отбора Должность=Инженер. В полученной таблице строки отсортированы по полю КодСотрудника, при этом в результирующую таблицу включены не все поля из таблицы СОТРУДНИКИ.
Особенность запросов состоит в том, что они извлекают данные из базовых таблиц и создают на их основе временную результирующую таблицу. При сохранении запроса сохраняется не результирующая таблица, а только алгоритм ее получения. Поэтому при следующем выполнении запроса мы, скорее всего, получим другую результирующую таблицу, отражающую новое состояние базы данных.
Р
ис. 11. Пример выполнения запроса к базе данных
Формы. Формы используются как средство, облегчающее ввод новых данных в таблицы базы данных, а также для просмотра имеющихся данных. В форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и пр.) для автоматизации ввода. На рисунке 12 показана простейшая форма для таблицы СОТРУДНИКИ.
Рис. 12. Пример формы базы данных в режиме просмотра формы
Отчеты. По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены для вывода данных на экран или на печатающее устройство (принтер). В связи с этим отчеты отличаются тем, что в них приняты специальные меры для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, служебная информация о времени создания отчета и т. п.) (рис.13).
Рис. 13. Пример простейшего отчета
Страницы (страницы доступа к данным) служат для обеспечения удаленного доступа к данным, содержащимся в базе данных, через Internet или через корпоративную сеть Intranet. Обычно базы данных имеют очень большие размеры, напрямую передавать их через медленные каналы связи непрактично. В то же время, большинство современных Web-браузеров пока не имеют функций для работы с базами данных, размещенными на серверах. Таким образом, страницы доступа выполняют как бы посредническую функцию. Их нетрудно встроить в любой Web-документ, например, разместить на Web-странице.
От прочих объектов базы данных страницы доступа отличаются тем, что имеют двойную природу. Прочие объекты базы являются внутренними. Мы не можем выделить ни таблицу, ни запрос, ни форму в виде самостоятельного файла. Эти объекты размещаются внутри файла базы данных. С ними работает лишь сама система управления базой данных, но операционная система компьютера работать с ними не может, поскольку это не файлы. Страница же представлена двумя объектами — внутренним объектом базы (его можно редактировать) и внешним объектом — файлом в формате HTML. Запись этого файла происходит при сохранении спроектированной страницы доступа.
Р
ис. 14. Пример простейшей страницы доступа
Макросы. Эти объекты предназначены для автоматизации выполнения повторяющихся операций при работе с системой управления базами данных. Несколько команд управления базой данных могут быть сохранены в виде макроса с тем, чтобы в дальнейшем можно было воспроизводить эти команды, запуская сохраненный макрос.
Модули. Модули создаются средствами языка программирования Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, повысить быстродействие системы управления, а также уровень ее защищенности.
Работа с любыми объектами выполняется в окне База данных (рис. 15). На левой панели данного окна находятся элементы управления для вызова всех семи типов объектов.
Рис. 15. Окно База данных
СУБД Microsoft Access предоставляет несколько средств создания каждого из основных объектов базы. Эти средства можно классифицировать как:
• ручные (разработка объектов в режиме Конструктора);
• автоматизированные (разработка с помощью программ-мастеров);
• автоматические — средства ускоренной разработки простейших объектов.
Ручные средства являются наиболее трудоемкими, но обеспечивают максимальную гибкость. Автоматизированные и автоматические средства являются наиболее производительными, но и наименее гибкими. Для создания разных объектов целесообразно пользоваться разными средствами.
- При разработке таблиц и запросов рекомендуется использовать ручные средства (режим Конструктора), т.к. использование мастеров ускоряет работу, но не способствует освоению понятий и методов.
- При разработке форм, отчетов и страниц доступа, наоборот, лучше пользоваться автоматизированными средствами, предоставляемыми мастерами.
Работа с таблицами базы данных Microsoft Access
Основными объектами базы данных Microsoft Access являются реляционные таблицы, структура которых определяется набором полей таблицы (столбцы), а информация хранится в виде записей (строки).
Поля таблицы базы данных не только определяют структуру таблицы, но также определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены некоторые свойства полей.
- Имя поля — определяет, как следует обращаться к данным этого поля при операциях с базой данных. Однозначно определяет каждое поле в таблице. Одна таблица не может иметь двух полей с одинаковыми именами.
- Тип поля — определяет тип данных, которые могут содержаться в данном поле.
- Размер поля — определяет предельную длину данных, которые могут размещаться в данном поле.
- Формат поля — определяет способ форматирования данных в ячейках, принадлежащих полю.
- Подпись — определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
- Значение по умолчанию — то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
- Условие на значение — ограничение, используемое для проверки правильности ввода данных.
- Обязательное поле — свойство, определяющее обязательность заполнения данного поля при наполнении базы.
Cвойства полей могут различаться в зависимости от типа данных. При работе с Microsoft Access используются следующие типы данных:
- Текстовый — тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
- Поле Мемо — специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится только указатель на него, но это остается скрытым от пользователя.
- Числовой — тип данных для хранения действительных чисел.
- Дата/время — тип данных для хранения календарных дат и текущего времени.
- Денежный — тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных.
- Счетчик — специальный тип данных для уникальных (не повторяющихся в поле) увеличивающихся на 1 натуральных чисел, значения которых вводятся в поле автоматически при создании новой записи. Используется для порядковой нумерации записей.
- Логический — используется для хранения логических данных. Такие данные могут принимать только два значения: Истина или Ложь (Да или Нет).
- Поле объекта OLE — специальный тип данных, предназначенный для хранения объектов OLE (графические, аудио- и видеоданные, фрагменты электронных таблиц и др.). Реально такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (это позволяет существенно ускорить операции с базой данных).
Гиперссылка — специальное поле для хранения адресов URL для Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск программы - браузера (например, Internet Explorer) и воспроизведение объекта в его окне.
Вопросы для самоконтроля
- Что такое база данных (БД), система управления базами данных (СУБД)?
- Что такое информационный объект?
- Что такое модель данных?
- Укажите основные понятия и характеристики иерархической и сетевой моделей данных.
- Укажите характеристики и объекты обработки реляционной модели данных.
- Что такое первичный ключ реляционной таблицы базы данных?
- Что такое внешний ключ реляционной таблицы базы данных?
- Какого типа связи (отношения) могут быть установлены между таблицами реляционной базы данных? Охарактеризуйте каждый тип связи.
- Что такое «схема данных» реляционной базы данных?