Глава 6
ТЕХНОЛОГИИ ИСПОЛЬЗОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
Под базой данных (БД) понимают организованную структуру, предназначенную для хранения информации.
По технологии хранения данных базы делятся на централизованные, размещающиеся в памяти одной вычислительной системы, и распределенные, состоящие из нескольких частей и хранимые на различных компьютерах.
В операционных системах специальных средств для создания и обработки баз данных, как правило, не предусматривается. Поэтому необходим комплекс программ, которые бы обеспечивали автоматизацию всех операций, связанных с решением этих задач. Такой комплекс программ, получивший название системы управления базами данных (СУБД), представляет собой прикладное программное обеспечение, расширяющее возможности операционной системы по обработке баз данных.
6.1. ОРГАНИЗАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ БД
Система управления базами данных — это наиболее распространенное и эффективное универсальное программное средство, предназначенное для организации и ведения логически взаимосвязанных данных на машинном носителе, а также обеспечивающее доступ к данным.
Основной составной частью СУБД является ее ядро —- управляющая программа для автоматизации всех процессов, связанных с обращением к базам данных. После запуска СУБД ее ядро постоянно находится в основной памяти и организует обработку данных, управляет очередностью выполнения операций, взаимодействует с прикладным программным обеспечением и операционной системой, контролирует завершение операций доступа к БД. Важнейшей функцией ядра является организация параллельного выполнения запросов.
По способу доступа к данным БД различают системы файл — сервер и клиент — сервер.
159
В системе файл — сервер одна из вычислительных машин слу-жит хранилищем централизованной базы данных, а доступ к базе осуществляется с других машин, которые носят название рабочих станций. Файлы базы данных передаются на рабочие станции, где производится их обработка.
Для этой архитектуры характерен коллективный доступ к об-! щей базе данных на файловом сервере. Запрошенные данные транспортируются с файлового сервера на рабочие станции, где их обработка выполняется средствами СУБД.
В системе клиент — сервер кроме хранения базы данных на центральную машину ложатся и функции обработки данных, а на клиентских машинах выполняется только представление информации. Запрос на обработку данных выдается клиентом и передается по] сети на сервер баз данных, где осуществляется поиск. Обработанные данные транспортируются по сети от сервера к клиенту.
Информационно-логическая (инфологическая) модель является логическим представлением взаимосвязей объектов базы данных. Известны три разновидности инфологических моделей: иерар-хическая, сетевая и реляционная.
Иерархическая модель данных основана на графическом спосо-бе связей данных, и схема взаимосвязей объектов имеет вид перевернутого дерева. Каждому элементу соответствует только одна связь от элемента более высокого уровня. Поиск данных происходит по одной из ветвей дерева.
Это интересно
Одной из наиболее популярных иерархических СУБД была Information Management System (IMS) фирмы IBM, появившаяся в 1968 г. Она использовалась на больших ЭВМ компании IBM.
Достоинства СУБД иерархической модели — простота, быст-родействие. Правда, если структура данных оказывалась сложнее,] чем обычная иерархия, то простота структуры иерархической базы, становилась ее недостатком.
В связи с этим для таких задач, как обработка заказов, была разработана новая сетевая модель данных. Она стала улучшенной] иерархической моделью.
В сетевой модели данных каждый элемент может иметь более одного порождающего элемента, а графическое представление модели очень напоминает сеть. Она допускает усложнение «дерева» без ограничения количества связей, входящих в его вершину.
Это интересно
В 1971 г. на конференции по языкам систем данных был опубликован официальный стандарт сетевых баз данных, который известен как модель CODASYL. В 70-х гг. независимые производители программного обеспечения реализовали сетевую модель в
таких программных продуктах, как IDMS компании Cullinet, Total компании Cincom и СУБД Adabas, которые были в свое время очень популярны.
К достоинствам сетевых баз данных можно отнести гибкость, стандартизацию и быстродействие.
Но и иерархические, и сетевые базы данных были очень жесткими, наборы отношений и структуру записей приходилось задавать наперед, а изменение структуры базы данных обычно означало перестройку всей базы. Ко всему прочему, они были инструментами программистов. Чтобы получить ответ на вопрос типа: «Какой товар наиболее часто заказывает компания XX?», программисту приходилось писать программу для навигации по базе данных. Реализация пользовательских запросов часто затягивалась на недели и месяцы, и к моменту появления запрошенной информации она часто уже оказывалась бесполезной.
Недостатки иерархической и сетевой моделей привели к появлению новой реляционной модели, созданной Коддом в 1970 г. и вызвавшей всеобщий интерес. Реляционная модель была попыткой упростить структуру базы данных, и теперь все данные представлялись в виде простых таблиц, разбитых на строки и столбцы.
В 1985 г. Кодд написал статью, где сформулировал двенадцать правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. С тех пор двенадцать правил Кодда считаются определением реляционной СУБД (Приложение 2).
Можно сформулировать более простое определение.
Реляционной называется база данных, в которой все данные, доступные пользователю, организованы в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами.
В реляционной базе данных информация организована в виде таблиц, разделенных на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется свое уникальное имя, описывающее ее содержание.
Строки реляционной таблицы являются записями и хранят информацию об одном экземпляре объекта данных, представленного в таблице. Одинаковых записей в таблице не должно быть. Основное требование к реляционной базе данных состоит в том, что значения полей (столбцов таблицы) должны быть элементарными и неделимыми информационными единицами, что создает возможность применять в целях обработки информации математический аппарат реляционной алгебры. Наиболее популярны реляционные СУБД — dBase, FoxBase, FoxPro, Clarion, Paradox, Oracle, Access и др.
Примером реляционной базы данных может служить таблица «Сотрудники» (табл. 6.1), где одна строка (запись) — сведения об одном из сотрудников.
160
161
Таблица 6.1
Табельный № |
Фамилия |
Имя |
Отчество |
Дата рождения |
1278 |
Петров |
Олег |
Сергеевич |
15.02.1954 |
8562 |
Сидоров |
Иван |
Петрович |
23.02.1976 |
4625 |
Панин |
Петр |
Борисович |
07.09.1986 |
Поле (столбец таблицы) — элементарная единица логической организации данных. Каждое поле таблицы имеет уникальное имя, при этом каждое из полей однородно, т. е. данные в нем имеют одинаковые тип и длину. Для описания поля используют имя и тип данных.
Поле, значение которого однозначно определяет соответствующую запись, называется ключевым полем. Если ключевое поле одно, то это — простой ключ, если ключевых полей несколько, то ключ называется составным.
Запись —- это совокупность значений связанных элементов данных. Экземпляр записи — это отдельная строка таблицы, содержащая конкретные значения ее полей.
Таблица базы данных — это совокупность экземпляров записей одной структуры. Описание структуры базы данных содержит пе-речень полей записи и их основные характеристики.
6.2. ОБОБЩЕННАЯ ТЕХНОЛОГИЯ РАБОТЫ С БД
Технология работы с базами данных имеет несколько этапов, а| именно: построение инфологической модели БД, создание струк-туры таблиц базы данных, обработку данных, содержащихся в] таблицах, и вывод информации из БД.
На первом этапе создания базы данных строится инфологиче-ская модель.
Для построения инфологической модели необходимо сделать! анализ существующей базы данных, определить источник дан-ных, посмотреть решаемые с помощью базы задачи и продумать; проблемы, которые следует решать в будущем. Идентифицировав данные и задачи, которые следует решать, необходимо разделить их на группы, которые впоследствии станут таблицами БД.
Создание структуры таблиц базы данных предполагает определение групп и типов данных, которые будут храниться в таблицах, задание размера полей в каждой таблице и определение об-щих элементов таблиц-ключей.
Ввод и редактирование данных могут производиться двумя спо-собами: с помощью специальных форм и непосредственно в таб-лице без использования форм.
Обработка информации в базе данных производится путем выполнения запросов или в процессе выполнения специально разработанной программы.
Запрос — это команда, формулируемая для СУБД, которая требует представить определенную, указанную в запросе информацию. Язык SQL — это структурированный язык запросов (Structured Query Language). Запросы являются наиболее часто используемым аспектом SQL. Все запросы в SQL конструируются на базе команды SELECT (выбор).
Результатом выполнения запроса является таблица с временным набором данных (динамический набор). Записи динамического набора могут включать поля из одной или нескольких таблиц. На основе запроса можно построить отчет или форму.
Для вывода информации из базы данных существует специальное средство — отчеты. Они позволяют:
-
включать в отчет выборочную информацию из таблиц базы данных;
-
добавлять информацию, не содержащуюся в базе;
-
выводить итоговую информацию из базы данных;
-
располагать выводимую информацию в любом удобном виде;
-
включать в отчет информацию из разных таблиц.
6.3. ВЫБОР СУБД ДЛЯ СОЗДАНИЯ СИСТЕМЫ АВТОМАТИЗАЦИИ
Широкий спектр применений программных средств накопления и хранения информации диктует необходимость разработки СУБД, отличающихся друг от друга функциональными возможностями и предназначенных для широкого круга пользователей: от новичка до системного программиста.
Современные базы данных можно разделить на три категории:
1. Программные продукты корпоративного направления — Oracle и MS SQL Server;
-
СУБД, предназначенные для работы с информационными массивами в небольших компаниях, — MS Access и Borland Interbase;
-
СУБД для Web, реализующих создание web-сайтов с небольшими базами данных, — MySQL и опять-таки Borland Interbase.
Какими свойствами должна обладать СУБД в зависимости от этих категорий?
СУБД корпоративного направления должны быть надежными, что обеспечивается резервным копированием; безопасными — иметь защиту от несанкционированного доступа; работать с огромными объемами данных и обладать широкими функциональ-ными возможностями.
162
163
Для небольших компаний программы работы с базами данных должны обладать не только надежностью и функциональностью но и работать без выделенного сервера.
СУБД для Web присуща высокая скорость обработки данных, нетребовательность к ресурсам и удобное удаленное администрирование. •
Сегодня наиболее популярными СУБД являются Oracle, MS SQL Server-2000, Borland InterBase, MySQL и MS Access-2000.