Cтраница 3
Цель данной главы - изложить основные понятия, связанные с алгебрами Халмоша, привести важные примеры и собрать основные сведения, применяемые в третьей части книги, посвященной базам данных. Некоторое внимание уделяется и цилиндрическим алгебрам, которые также используются в алгебраических моделях баз данных. Модель базы данных существенно связана с идеей типа данных. Эта идея приводит к более общему взгляду на алгебры Халмоша и цилиндрические алгебры, развиваемому в следующей главе. Категорный подход также учитывает связь с типами данных и используется в теории баз данных. [31]
База данных может быть организована различным образом. Но важно, что в ней хранятся отдельные информационные записи, образующие некоторую структуру. С помощью модели базы данных система управления ею ( СУБД) имеет гибкий доступ к хранящейся в базе данных информации. Если же входное сообщение системой общения опознано как вопрос или задание на выполнение некоторой работы ( например, задание на решение определенной задачи), то соответствующая информация поступает в логический блок. [32]
Имея в виду привлечение ЭВМ, мы должны предполагать, что рассматриваемые алгебры данных непременно конструктивизируемы. Это дает хорошие возможности для использования теории конструктивных алгебр и моделей, развивавшейся А. И. Мальцевым, Ю. Л. Ершовым и другими исследователями, сочетавшими алгебру с теорией алгоритмов. Что касается конструктивизации модели базы данных в целом, то, как отмечалось, естественно исходить из частичной или локальной конструктивизации. Неявно приводилось также и следующее возможное определение конструктивной базы данных. [33]
Все основные усилия в книге были связаны с выработкой общей концепции базы данных. При этом никак не учитывалось, что реальные базы данных могут быть рассчитаны на огромные массивы информации, подлежащей обработке в реальное время. Это обстоятельство означает, что модель базы данных должна быть дополнена средствами, обеспечивающими реализацию всех основных операций. [34]
При этом гомоморфизм /: U - V может трактоваться как база данных указанной модели. Элементарные сведения о модели можно представлять как запросы о ней и эти запросы являются элементами в U. Таким образом, мы должны различать модель базы данных в целом и модели типа ( 3), Ф, /), являющиеся состояниями указанной большой модели. [35]
Кроме названных выше моделей иногда используется и простейшая логическая организация данных - модель на плоских файлах. Плоскими называются файлы, в которых не предусматриваются ни прямые ( как в ИМД и СМД), ни косвенные ( как в РМД) связи между типами данных. Так, если в структурах на рис. 3.4 и 3.5 убрать все связи, а в таблицах на рис. 3.6 не использовать поля ДОЛЖН в качестве атрибута связи, то указанные модели превратятся в модель базы данных на плоских файлах. [36]
Авторы справедливо отмечают, что в настоящее время computer science находится в долгу перед потребностями практики использования ЭВМ. Однако следует отдать дань несомненным успехам этой науки, а также достижениям смежной с ней дисциплины - исследованиям по искусственному интеллекту. Весьма интенсивно в настоящее время развиваются исследования по алгоритмическим языкам, работы по синтезу программ и по проверке правильности программ, которые проводятся на базе логических исчислений; имеются также некоторые успехи в развитии общей теории информационных систем и моделей баз данных. Ниже мы приводим ( далеко не полный) перечень ссылок на работы, информирующие читателей об упомянутых проблемах. [37]
Авторы справедливо отмечают, что в настоящее время computer science находится в долгу перед потребностями практики использования ЭВМ. Однако следует отдать дань несомненным успехам этой науки, а также достижениям смежной G ней дисциплины - исследованиям по искусственному интеллекту. Весьма интенсивно в настоящее время развиваются исследования по алгоритмическим языкам, работы по синтезу программ и по проверке правильности программ, которые проводятся на базе логических исчислений; имеются также некоторые успехи в развитии общей теории информационных систем и моделей баз данных. Ниже мы приводим ( далеко не полный) перечень ссылок на работы, информирующие читателей об упомянутых проблемах. [38]
Эта проблема возникает, когда несколько пользователей с разных компьютеров начинают изменять одну и ту же базу данных. До тех пор пока база данных открыта только для чтения, особых трудностей не возникает, но как только нескольким пользователям позволяется модифицировать базу, возникают трудно разрешимые конфликты. Эти проблемы преодолеваются в рамках модели базы данных типа клиент-сервер. При реализации этой модели система управления базами данных разделяется на две части: клиент и сервер. Программа клиент размещается на пользовательской машине и позволяет формировать запросы ( как правило, на языке SQL), которые по сети передаются на специализированную машину ( сервер), где работает программа сервер. Таким образом, термин сервер иногда относится к компьютеру, а иногда к программному обеспечению. Программа-сервер обрабатывает запрос, формирует из базы данных требуемую выборку записей и отсылает ее программе-клиенту. [39]
Описываемые в данной книге автоматизированные процедуры проектирования первоначально могут быть использованы конечным пользователем при разработке функциональных спецификаций. Несмотря на то, что функциональные спецификации считаются, как правило, полностью определенными до начала процесса проектирования, они обычно изменяются в процессе разработки системы по мере того, как пользователи, реализуя свои первоначально определенные требования, убеждаются, что результат не совсем соответствует тому, что им действительно нужно. Предоставляя пользователю конкретные форматы выходных данных в виде документов или справок на экранах дисплеев, оператор автоматизированной системы может помочь конечному пользователю лучше понять, как предполагаемые документы будут согласовываться с его реальными информационными потребностями. Режим обработки диалоговых запросов, адресуемых к модели базы данных, может помочь конечному пользователю определить свои требования к обработке данных. Имея такое вспомогательное средство, конечный пользователь уже на этапе определения требований в состоянии оценить, что же он может получить от системы. Опыт показывает, что использование такого подхода приводит к тому, что требования к данным изменяются в процессе проектирования незначительно. Рассмотрим для примера завершающий этап определения функциональных спецификаций и требований к данным и проиллюстрируем с помощью приводимого ниже диалога совместную работу проектировщика баз данных и конечного пользователя, использующих автоматизированную систему проектирования. [40]
Понятие модель БД, с одной стороны, служит для организации процесса разработки базы данных, с другой - оно означает конкретное строение и состав, структурный план, в соответствии с которым построена база данных. Часто наряду с термином модель БД применяется термин схема БД. Различают общую, генеральную БД ( схему БД) и прикладную ( подсхему) модели; последняя отражает представление о структуре базы данных с точки зрения отдельного пользователя. В процессе проектирования базы данных последовательно разрабатывают: 1) понятийную модель предметной области; 2) понятийную модель базы данных, 3) логическую модель БД; 4) физическую модель организации БД. [41]
С самого начала здесь вопросы программирования стоят на первом месте, и часто теорию баз данных рассматривают как часть теории программирования. К настоящему времени теория баз данных формируется в новую большую прикладную науку, связанную с разнообразной хорошей математикой. В идеале модели баз данных должны рассматриваться в сочетании с возможностями программирования. Такое сочетание проявляется, в частности, в том, что заданные ограничения программных средств требуют корректировки соответствующих моделей. [42]
В этой главе различные понятия и конструкции теории множеств переносятся в теорию категорий. Одновременно определяется специальный класс категорий - топосы, объединяющий различные категории, близкие категории множеств. Объекты топо-сов - это множества, которые, вообще говоря, не обязательно характеризуются своими элементами. В частности, понятие нечеткого множества дается с позиций теории категорий. Все это позволяет рассматривать модели баз данных в условиях неполной или нечеткой информации ( см. гл. [43]
Отметим, что если стрелки между вершинами элементов данных и вершиной пользователя образуют замкнутый контур, то существует возможность нарушения защиты. Например, стрелка запроса, направленная от вершины пользователя к вершине элемента данных /) 4, стрелка отношения по направлению от D4 к D5 и стрелка выполнения запроса по направлению от D5 к вершине пользователя образуют контур. Таким образом, опираясь на теорию графов, можно сказать, что наличие контура сигнализирует о возможности нарушения защиты. Так как в рассматриваемой модели базы данных есть три контура, то существует опасность нарушения защиты тремя разными путями. Система управления базами данных, способная определять замкнутые контуры в модели базы данных, сможет обнаруживать возможные пути нарушения защиты. [44]
Начинается первая часть с главы, посвященной исходным понятиям универсальной алгебры. Вторая глава, как уже отмечалось, посвящена рассмотрению классических структур. Лишь немногое из этой главы в базах данных непосредственно не применяется. Третья глава посвящена категориям, а в четвертой рассматриваются категории специального вида - топосы. Топосы дают естественный подход к изучению нечетких структур, и понятно, что это важно в приложениях. Пятая глава посвящена многообразиям и другим классам алгебр. Понятие многообразия непосредственно используется в определении модели базы данных. Наконец, шестая глава посвящена элементам категорной алгебры и категорному взгляду на алгебры и алгебраические теории. Этот материал также необходим в базах данных. [45]