Реляционные системы управления базами данных
Использование указателей было одновременно и сильной и слабой стороной иерархических и сетевых СУБД. Достоинство указателей состоит в том, что они позволяли быстро извлекать данные, связанные определенными отношениями. Недостаток заключался в том, что это отношения должны быть определены до запуска системы. Извлечь данные на основе других отношений было сложно, если вообще возможно.
В 1970 году Е. Кодд (E. Codd) опубликовал статью, в которой он выдвинул идею о том, что данные нужно связывать в соответствии с их внутренними логическими взаимоотношениями, а не физическими указателями. Таким образом, пользователи смогут комбинировать данные из разных источников на основе логических зависимостей между ними. Это открыло новые возможности для информационных систем, поскольку запросы к базам данных перестали быть ограничены физическими указателями.
В своей статье Кодд предложил простую модель данных, согласно которой все данные хранятся в таблицах, состоящих из строк и столбцов. Эти таблицы получили название реляций, а модель данных стала называться соответственно реляционной. Кодд также предложил пользоваться для работы с данными двумя средствами: реляционной алгеброй и реляционным исчислением, которые обеспечивают работу с данными на основе логических характеристик, а не физических указателей.
Еще одна идея Кодда состояла в том, что в реляционных системах баз данных целые файлы могут обрабатываться одной командой, тогда как в ранее существовавших системах за один раз обрабатывалась только одна запись. Это чрезвычайно повысило эффективность программирования.
Публикация работ Кодда в начале семидесятых годов явилась толчком к созданию реляционной системы управления базами данных. Во второй половине семидесятых появились реляционные СУБД, которые поддерживали такие языки, как Structured Query Language (SQL, язык структурированных запросов), Query Language (Quel, язык запросов) и Query-by-Example (QBE, запросы по образцу). С широким распространением персональных компьютеров в восьмидесятые годы появились реляционные СУБД для микрокомпьютеров. Наибольшее распространение в нашей стране получили СУБД семейства xBase (Clipper, dBase, FoxPro).
Введенные новшества существенно расширили возможности СУБД. Сегодня реляционные базы данных рассматриваются как стандарт для современных коммерческих систем для работы с данными. Следует отметить, что файловые, иерархические и сетевые базы данных все еще встречаются на практике, поскольку их применение для решения определенных классов задач оказывается выгодным.
Реляционные СУБД продолжают развиваться, предоставляя пользователю возможность решать все более сложные задачи. Наиболее существенные из таких перемен происходят в области объектно-ориентированных баз данных. Еще одним очень важным направлением является переход к работе с базами данных на технологию клиент/сервер.
Компоненты информационных систем
Информационная система, использующая базы данных, состоит из следующих компонентов: технических средств, программного обеспечения, данных, пользователей и организационного обеспечения.
Технические средства
Технические средства – это набор физических устройств, предназначенных для хранения, отображения, обработки и передачи данных. Они состоят из одного или нескольких компьютеров, накопителей на магнитных диска, мониторов, принтеров, соединительных кабелей и других вспомогательных устройств.
Возможны различные конфигурации технических средств в информационных системах. Например:
· персональный компьютер с отдельной базой данных;
· универсальная ЭВМ или персональный компьютер с доступом через терминалы;
· персональные компьютеры, соединенные в сеть клиент/сервер, имеющие доступ к базе данных на сервере.
Успешная работа информационных систем существенно зависит от выбранных технических средств. Для управления огромным количеством данных, хранящихся в базах данных, требуется большой объем оперативной памяти и дисков. Кроме того, в системе с большим числом пользователей необходимо извлекать за приемлемое время нужную информацию, необходимо быстро выполнять огромное количество обращений к данным. Для этого требуется высокое быстродействие компьютеров, сетей и периферийных устройств. К счастью, за последние годы мощность компьютерного оборудования сильно выросла, а стоимость значительно снизилась. В результате этого стало возможно широкое распространение информационных систем.
Программное обеспечение
Современная информационная система включает в себя два вида программного обеспечения (ПО):
· ПО общего назначения для поддержания базы данных, обычно называемое системой управления базой данных (СУБД);
· прикладное ПО, которое использует средства СУБД для выполнения конкретных прикладных задач (например, выписка приходных и расходных документов, выписка счетов, анализ динамики продаж).
Система управления базами данных (СУБД) – это программное обеспечение, позволяющее создавать базы данных и управлять ими, вести разработку приложений для конечных пользователей. Современные СУБД включают в себя не только языки программирования, реализованные как интерпретаторы или компиляторы, но и набор программ-мастеров, позволяющих автоматизировать создание пользовательских приложений для работы с данными. Обычно СУБД выполняют следующие функции:
· централизованное определение и контроль данных, известное под названием словарь (каталог) данных;
· защита данных и обеспечение их целостности;
· одновременный доступ к данным для нескольких пользователей;
· ориентированные на пользователя возможности запросов, обработки и извлечения данных;
· ориентированные на программиста возможности создания прикладных систем.
Словарь данных. Подсистема словаря данных следит за определением всех элементов базы данных, включая столбцы и строки таблиц. В словаре данных хранятся отношения, существующие между различными группами данных (различными таблицами). Кроме того, он поддерживает индексы, служащие для быстрого обращения к данным, отслеживает установки формата вывода данных, контролирует выполнения правил проверки данных. Словарь данных является частью современной базы данных. Информация в словаре данных называется метаданными, то есть «данными о данных».
Механизмы защиты и поддержания целостности данных. Данные являются ценным ресурсом, нуждающимся в защите. СУБД защищает базу данных от несанкционированного доступа. Полномочия пользователей могут быть различны с точки зрения того, к каким данным им разрешено обращаться, и имеют ли они право обновлять данные. Такой доступ контролируется с помощью паролей и представлений данных. Представление данных – это описание ограниченной части базы данных. Целостность и непротиворечивость базы данных обеспечивается ограничениями на значения элементов данных, а также путем создания резервных копий, делающих возможным восстановление данных.
Одновременный доступ к данным для нескольких пользователей. Одной из основных функций СУБД является поддержание доступа к базе данных, извлечение и обновление данных базы. СУБД обеспечивает механизмы, позволяющие многим пользователям быстро обращаться к большому количеству связанных данных. Это распространяется и на удаленных пользователей, которые обращаются к базе данных через систему телекоммуникаций.
Ориентированные на пользователя запросы и отчеты. Простые языки запросов дают пользователям возможность формулировать запросы и получать отчеты непосредственно из базы данных. Это избавляет программистов от необходимости формулировать эти запросы и писать специальные прикладные программы. С языками запросов связаны генераторы отчетов. Часто язык запросов содержит средства оформления результатов запроса в виде отчета, который может включать в себя не только текст, но и графики. Сам сформулированный запрос часто можно сохранить и в дальнейшем использовать для составления регулярных отчетов. В этом случае язык запросов можно рассматривать как генератор отчетов. Кроме того СУБД могут включать в себя встроенные генераторы (мастера) отчетов, обладающие широкими возможностями, и не требующие высокой квалификации пользователя для получения достаточно сложных отчетов.
Средства создания прикладных программ. Современные СУБД не только включают в себя языковые средства, необходимые для создания прикладных программ, но и широкий набор программ-утилит, ориентированных на автоматизацию процесса проектирования. К числу таких программ относятся мастера и построители экранных форм, меню, отчетов, баз данных, WEB-страниц. Это существенно повышает эффективность процесса проектирования информационных систем.
Данные
На данных, хранящихся в базах данных, основана вся информация, необходимая в работе любой фирмы. Но следует заметить, что данные, из которых состоит база данных, должны быть тщательно и логично организованы. Необходимо проанализировать функции, реализуемые информационной системой, установить и точно определить элементы данных и отношения между ними. После этого в соответствии с определенной структурой в базу можно вносить данные.
Пользователи
Всех пользователей информационной системы можно разделить на две большие группы:
· конечные пользователи – люди, которым требуется информация системы для выполнения прямых служебных обязанностей (руководители фирмы, менеджеры, служащие различных подразделений);
· обслуживающий персонал – люди, ответственные за работу информационной системы и соответствующего прикладного программного обеспечения (администраторы базы данных, аналитики, системные и прикладные программисты, менеджеры информационных систем).