Системы управления базами данных

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

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

ОРГАНИЗАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ БД
Система управления базами данных — это наиболее распространенное и эффективное универсальное программное средство, предназначенное для организации и ведения логически взаимосвязанных данных на машинном носителе, а также обеспечивающее доступ к данным.
Основной составной частью СУБД является ее ядро — управляющая программа для автоматизации всех процессов, связанных с обращением к базам данных. После запуска СУБД ее ядро постоянно находится в основной памяти и организует обработку данных, управляет очередностью выполнения операций, взаимодействует с прикладным программным обеспечением и операционной системой, контролирует завершение операций доступа к БД. Важнейшей функцией ядра является организация параллельного выполнения запросов.
По способу доступа к данным БД различают системы файл—сервер и клиент—сервер.
В системе файл — сервер одна из вычислительных машин служит хранилищем централизованной базы данных, а доступ к базе осуществляется с других машин, которые носят название рабочих станций. Файлы базы данных передаются на рабочие станции, где производится их обработка.
Для этой архитектуры характерен коллективный доступ к общей базе данных на файловом сервере. Запрошенные данные транспортируются с файлового сервера на рабочие станции, где их обработка выполняется средствами СУБД.
В системе клиент — сервер кроме хранения базы данных на центральную машину ложатся и функции обработки данных, а на клиентских машинах выполняется только представление информации.
Запрос на обработку данных выдается клиентом и передается по сети на сервер баз данных, где осуществляется поиск. Обработанные данные транспортируются по сети от сервера к клиенту.
Информационно-логическая (инфологическая) модель является логическим представлением взаимосвязей объектов базы данных. Известны три разновидности инфологических моделей: иерархическая, сетевая и реляционная.
Иерархическая модель данных основана на графическом способе связей данных, и схема взаимосвязей объектов имеет вид перевернутого дерева. Каждому элементу соответствует только одна связь от элемента более высокого уровня. Поиск данных происходит по одной из ветвей дерева. Иерархическую модель организации данных можно представить на примере файловой системы компьютера и реализовать на диске с помощью каталогов и таблиц файлов. Достоинства СУБД иерархической модели — простота, быстродействие. Правда, если структура данных оказывалась сложнее, чем обычная иерархия, то простота структуры иерархической базы становилась ее недостатком. В связи с этим для таких задач, как обработка заказов, была разработана новая сетевая модель данных. Она стала улучшенной иерархической моделью.
В сетевой модели данных каждый элемент может иметь более одного порождающего элемента, а графическое представление модели очень напоминает сеть. Она допускает усложнение «дерева» без ограничения количества связей, входящих в его вершину. К достоинствам сетевых баз данных можно отнести гибкость, стандартизацию и быстродействие.

Но и иерархические, и сетевые базы данных были очень жесткими, наборы отношений и структуру записей приходилось задавать наперед, а изменение структуры базы данных обычно означало перестройку всей базы. Ко всему прочему, они были инструментами программистов. Чтобы получить ответ на вопрос типа:
«Какой товар наиболее часто заказывает компания XX?», программисту приходилось писать программу для навигации по базе данных. Реализация пользовательских запросов часто затягивалась на недели и месяцы, и к моменту появления запрошенной информации она часто уже оказывалась бесполезной.
Недостатки иерархической и сетевой моделей привели к появлению новой реляционной модели, созданной Коддом в 1970 г. и вызвавшей всеобщий интерес. Реляционная модель была попыткой упростить структуру базы данных, и теперь все данные представлялись в виде простых таблиц, разбитых на строки и столбцы. В 1985 г. Кодд написал статью, где сформулировал двенадцать правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. С тех пор двенадцать правил Кодда считаются определением реляционной СУБД.

Можно сформулировать более простое определение. Реляционной называется база данных, в которой все данные, доступные пользователю, организованы в виде простых плоских связанных между собой таблиц, а все операции над данными сводятся к операциям над этими таблицами. В реляционной базе данных информация организована в виде таблиц, разделенных на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется свое уникальное имя, описывающее ее содержание.
Строки реляционной таблицы являются записями и хранят информацию об одном экземпляре объекта данных, представленного в таблице. Одинаковых записей в таблице не должно быть. Основное требование к реляционной базе данных состоит в том, что значения полей (столбцов таблицы) должны быть элементарными и неделимыми информационными единицами, что создает возможность применять в целях обработки информации математический аппарат реляционной алгебры. Наиболее популярны реляционные СУБД — dBase, FoxBase, FoxPro, Clarion, Paradox, Oracle, Access и др.
Примером реляционной базы данных может служить таблица «Сотрудники», где одна строка (запись) — сведения об одном из сотрудников.

Табельный № Фамилия Имя Отчество Дата рожд
1275 Иванов Олег Сергеевич 15.02.1954
2568 Петров Иван Петрович 20.03.1968
3587 Сидоров Петр Борисович 12.06.1990

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

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

ОБОБЩЕННАЯ ТЕХНОЛОГИЯ РАБОТЫ С БД на примере MS Acces
Технология работы с базами данных имеет несколько этапов, а именно: построение инфологической модели БД, создание структуры таблиц базы данных, обработку данных, содержащихся в таблицах, и вывод информации из БД.
На первом этапе создания базы данных строится инфологическая модель.
Для построения инфологической модели необходимо сделать анализ существующей базы данных, определить источник данных, посмотреть решаемые с помощью базы задачи и продумать проблемы, которые следует решать в будущем. Идентифицировав данные и задачи, которые следует решать, необходимо разделить их на группы, которые впоследствии станут таблицами БД.

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

Ввод и редактирование данных могут производиться двумя способами: с помощью специальных форм и непосредственно в таблице без использования форм.
Обработка информации в базе данных производится путем выполнения запросов или в процессе выполнения специально разработанной программы.
Запрос — это команда, формулируемая для СУБД, которая требует представить определенную, указанную в запросе информацию. Язык SQL — это структурированный язык запросов (Structured Query Language). Запросы являются наиболее часто используемым аспектом SQL. Все запросы в SQL конструируются на базе команды SELECT (выбор).

Результатом выполнения запроса является таблица с временным набором данных (динамический набор). Записи динамического набора могут включать поля из одной или нескольких таблиц.
На основе запроса можно построить отчет или форму.
Форма предназначена для:
— представления информации в удобном для пользователя виде;
— ввода в базу данных новой информации;
— редактирования имеющейся в базе данных информации;

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

Макросы и модули предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой.
Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить функциональные нестандартные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.

Особенности MS Access
Назначение этого широко известного программного продукта — решение локальных офисных задач с ограниченным объемом данных и формирование отчетов по результатам работы, при этом отчеты могут быть представлены в стандартном для офисных приложений виде.
Большинство пользователей знают MS Access как компонент MS Office, предназначенный для работы с базами данных. Многие ли знают о его возможностях, достоинствах и недостатках?
А ведь MS Access — феноменальный программный продукт, реализованный по принципу «все в одном». Он одновременно является и средой разработки на двух языках программирования (Visual Basic и сильно усеченный диалект SQL), и CASE-средством, а также мощным и наглядным средством создания отчетов по результатам работы.
Используя только MS Access, можно производить полный цикл работ от проектирования до внедрения готовой программы. Только MS Access позволяет создавать программы, состоящие из одного файла, содержащего как текст программы, так и реляционную базу данных сложной структуры.
Программа позволяет формировать необходимые элементы как в электронном виде, так и в печатном. Кроме всего прочего, MS Access легко интегрируется с другими решениями от Microsoft. Это позволяет использовать программу MS Access как клиентскую часть информационного комплекса в связке с MS SQL Server, выступающей в качестве серверной части.
К недостаткам программы можно отнести ограниченный объем обрабатываемых данных и медлительность, поскольку MS Access является одной из самых медленных СУБД. Это накладывает ограничения на использование программы — не рекомендуется применять MS Access для базы, которая может разрастись свыше 100 Мбайт.
Поэтому ее надо осторожно использовать в проектах, которые с высокой степенью вероятности будут расширяться в дальнейшем. Все рассмотренные СУБД имеют свои достоинства и недостатки, и, чтобы определиться с выбором, надо четко представлять, для каких целей программа будет применяться.
Если требуется разработать систему автоматизации для большого холдинга и при этом необходима обработка данных в реальном масштабе времени, то наилучшим решением будет Oracle. Ведь именно он способен обрабатывать огромные объемы данных и имеет удобные средства администрирования удаленных серверов, раскиданных по всему миру.
В крупной организации, уже имеющей множество разрозненных информационных систем, реализованных на самых разных технологиях, возникает необходимость их объединения в единую систему автоматизации. Такое объединение позволило бы руководству компании анализировать результаты работы предприятия в целом. Удачным выбором в этом случае будет MS SQL Server и ее возможности экспорта и импорта данных в разные форматы. К тому же, следует учитывать возможности этой СУБД в качестве основы для систем поддержки принятия решений.
Для малых предприятий и небольших организаций удачным будет выбор FoxBase, которая поддерживает базы до 1 Гбайт, не требуя выделенного сервера.
Для небольших сайтов, имеющих рекламное назначение, оптимальным решением будет MySQL, поскольку она вряд ли годится для решения более серьезных задач.
MS Access идеальна для решения небольших офисных задач или же для автоматизации в маленьких фирмах с персоналом до 20 сотрудников. Это средство не требует особых затрат на разработку, так как работать с ним может даже человек с небольшими знаниями в области программирования.

Добавить комментарий