О. В. Матюхина информатика программные средства краткий курс лекций

Вид материалаКурс лекций

Содержание


Глава viii. системы управления базами данных
Основные понятия
Модели данных.
Реляционная модель данных
Субд microsoft access.
Ms access.
Подобный материал:
1   2   3   4   5   6   7   8   9   10

ГЛАВА VIII. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ



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

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

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

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

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

Под задачами обработки данных обычно понимается специальный класс решаемых на ЭВМ задач, связанных с вводом, хранением, сортировкой, отбором по заданному условию и группировкой записей данных однородной структуры. Задачи такого типа широко распространены при обработке экономической информации.

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

База данных (БД) – это совокупность взаимосвязанных, хранящихся вместе данных, которые можно обрабатывать различными программами, дополнять, модифицировать и обновлять с помощью специальных СУБД.

Система управления базами данных (СУБД) представляет собой совокупность программного обеспечения, предназначенного для создания на ЭВМ общей базы данных, используемой для решения множества задач.


Модели данных. В представлении данных в БД можно выделить два уровня абстракции:
  • информационная модель;
  • физическая модель данных.

Пользователя БД интересует информационное и смысловое содержание. Подробности организации физического хранения данных его не интересуют.

Информационная модель должна отображать предметную область в терминах, понятных и привычных для пользователя.

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

Структурирование – это введение соглашений о способах представления данных.

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

СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.

Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Например, отношение часть–целая (например, стол состоит из крышки, ножек т.д.); родовитое отношение (столы бывают кухонные, рабочие, ученические); отношение подчиненности (ректор–декан). Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), у которого имеется только одна вершина, не подчиненная никакой другой вершине (эту вершину называют корнем дерева); любая другая вершина графа подчинена лишь только одной другой вершине (рис. 15).




Рис. 15. Иерархическая схема на примере

информационной модели вуза


Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько иерархических уровней. Иерархическую БД образует, например, каталог файлов, хранимых на диске (см. NORTON COMMANDER, проводник MS WINDOWS).

В сетевой структуре каждый элемент связан с любым другим элементом.

Примером сложной сетевой структуры является структура базы данных, содержащая сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС (рис. 16).




Рис. 16. Сетевая структура базы данных


Реляционная модель данных. Концепция реляционной модели базы данных была предложена американским специалистом Е. Коддом в связи с решением задачи обеспечения независимости представления и описания данных от прикладных программ. В основе реляционной модели данных лежит понятие отношения (от англ. Relation).

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

Реляционная модель ориентирована на организацию данных в виде двухмерных таблиц. Каждая реляционная таблица представляет собой двухмерный массив, состоящий из полей (столбцов) и записей (строк). Она обладает следующими свойствами:
  • каждый элемент таблицы – один элемент данных;
  • все таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
  • каждый столбец имеет уникальное имя;
  • одинаковые строки в таблице отсутствуют;
  • порядок следования строк и столбцов может быть произвольным.

Практически все СУБД ПК поддерживают реляционную модель данных.

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

Например, база данных СТУДЕНТ располагается в таблице (рис. 17):


зачетки

ФИО

Дата рожд.

Курс

Специальность

2009

Бекулиев Ж.Ж.

27.06.84

1

Экономика

20034

Ким Н.Н.

11.08.87

2

Психология

20007

Каниметов К.К.

7.09.83

2

Математика

20023

Птицын В.А.

25.10.85

3

Журналистика

20005

Токомбаев А.С.

4.07.83

1

Экология


Рис. 17. Пример реляционной таблицы


Столбцы отношения называют атрибутами (полями) и присваивают им имена. Список имен атрибутов отношения называют схемой отношения. Схема отношения в приведенном примере будет выглядеть – СТУДЕНТ (Номер зачетки, ФИО, Дата рождения, Курс, Специальность).




Рис. 18. Окно MS ACCESS 2003


СУБД MICROSOFT ACCESS. Особым окном в MS ACCESS является окно базы данных (рис. 18), которое позволяет получить доступ ко всем объектам базы данных и выбрать режим работы с одним из них. В окне находится панель объектов – Таблицы, Запросы, Формы, Отчеты, Макросы, Модули, Страницы.

Прежде чем приступить к созданию этих объектов необходимо разработать их проект. Главное назначение проекта заключается не в производстве объемистой документации, а в выработке четкого пути, по которому нужно следовать при его реализации. На рис. 19 показана модифицированная версия этого метода.





Рис. 19. Блок-схема этапов проектирования


Рассмотрим каждый этап проектирования в отдельности.

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

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

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

Проектирование таблиц. Таблицы связываются так (Сервис-Схема данных), чтобы информация одной была доступна для другой. Обычно в системах, созданных в MS ACCESS, существует несколько связанных между собой таблиц и несколько типов связей. Наиболее часто используется тип "один ко многим", позволяющий в одной таблице (родительской) однозначно описать объект, а в другой (дочерней) создать нужное количество записей, ссылающихся на этот объект вместо того, чтобы вносить повторяющуюся информацию несколько раз. Например, база данных АЭРОПОРТ содержит главную таблицу РАСПИСАНИЕ (Номер рейса, Дата вылета, Время вылета, Время прибытия, Пункт назначения, Тип самолета, Количество мест в самолете) и подчиненную ей – ПАССАЖИРЫ (Номер рейса, ФИО пассажира, Паспортные данные, Домашний адрес).

Другой тип связи "один к одному" применяется довольно редко, поскольку такие данные могут быть помещены в одну таблицу. Эту связь используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице. Такой тип связи подходит для сохранения сведений об абитуриентах, участвующих во вступительных экзаменах в университет, АБИТУРИЕНТ – ЛИЧНОЕ ДЕЛО (Регистрационный номер, ФИО студента, Домашний адрес, Наличие золотой медали, Средний балл по аттестату) – ТЕСТИРОВАНИЕ (Регистрационный номер, Оценка по истории, Оценка по английскому языку, Оценка по литературе).

База данных ФИРМА содержит таблицы ШТАТ (Должность, Оклад), СОТРУДНИКИ (Табельный номер, ФИО, Должность, Дата рождения) и ТАБЕЛЬ (Табельный номер, Количество рабочих дней по календарю, Количество отработанных дней), которые связаны связями "один к одному" и "один ко многим" (рис. 20).








Рис. 20. Схема данных с установленными связями

("один к одному", "один ко многим")


Связь "многие ко многим" MS ACCESS не поддерживает. Такая связь реализуется только через дополнительную связующую таблицу. Между основными таблицами и связующей устанавливается связь "один ко многим". Например, между таблицами ЗАКАЗЧИК (Код покупателя, ФИО покупателя, Адрес) и ТОВАРЫ (Код товара, Наименование товара, единицы измерения, Цена) в базе данных СУПЕРМАРКЕТ имеется отношение "многие ко многим", которое определяется путем создания двух связей с отношением "один ко многим" для таблицы ЗАКАЗАНО (Код покупателя, Код товара, Дата покупки, Количество товара).

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

В MS ACCESS можно выбирать любые из основных типов данных предлагаемой таблицы:


Тип данных

Описание

Текстовый

Алфавитно-цифровые символы: до 255 знаков

Поле МЕМО

Алфавитно-цифровые символы: длинные строки до 64000 знаков

Числовой

Числовые значения многих типов и форматов

Дата/время

Данные даты и времени

Денежный

Данные для представления денежных сумм

Счетчик

Автоматически увеличиваемый счетчик

Логический

Логические значения (Да/Нет, Истина/Ложь)

Поле объекта OLE

Рисунки, графики, звук, видео, текстовая обработка, файлы электронной таблицы

Гиперссылка

Поле работает как гиперссылка

Мастер подстановок

Позволяет выбирать значения полей из других таблиц или форм


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

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

Проверка данных становится важной при заполнении базы данных. Существует несколько типов проверки данных. Например, Условие на значение (>= 2 AND <=5).

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

Большинство форм использует в качестве источника данных различные запросы. Запросы позволяют отбирать из таблиц необходимые данные и выполнять вычисления над ними. В основе всех запросов лежат запросы на выборку данных. Запросы на выборку могут быть нескольких видов:
  • простые запросы на выборку;
  • запросы на выборку с условиями на значение;
  • параметрические запросы;
  • итоговые запросы;
  • перекрестные запросы.

Группа запросов, позволяющих обновлять, добавлять и удалять данные из таблиц, называется запросами на изменение.

Проектирование меню. Созданные структуры данных, формы, отчеты связываются с использованием кнопочных и обычных меню (рис. 21). Первые строятся с помощью кнопок с текстом или пиктограммами. Обычными называют меню, расположенные в полосе меню, как в главном окне MS ACCESS. Меню – ключ к хорошей СУБД. Пользователь должен иметь возможность исследовать систему, чтобы понять, как с ней работать. Обычно каждая форма или отчет соответствуют одному из пунктов меню.

Для создания меню используются макросы MS ACCESS. Макросом называется объект, представляющий собой структурированное описание одного или нескольких действий, которые MS ACCESS должен выполнять в ответ на определенное событие.





Рис. 21. Кнопочное и обычное меню

базы данных Отдел кадров


Любые длинные последовательные действия могут быть оформлены как макросы. Применение макросов позволяет автоматизировать процессы заполнения базы, выбора информации и т.д.

При решении достаточно сложных задач пользователь сталкивается с ограничениями технологии построения командных макрокоманд. Для преодоления возникших трудностей можно написать собственную процедуру обработки информации. Такая процедура, написанная на языке VISUAL BASIC for APPLICATIONS, оформляется как модуль.

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