Cтраница 4
Сначала можно подумать, что все эти ограничения делают библиотеку абсолютно бесполезной. Однако на самом деле это преимущество - они делают библиотеку интересной. Однонаправленные наборы данных без возможности прямого обновления вполне пригодны для формирования отчетов, включая генерацию HTML-страниц, на которых показывается содержимое базы данных. Если же вы намерены построить пользовательский интерфейс, позволяющий модифицировать содержимое базы данных, в составе Delphi присутствуют специально предназначенные для этого компоненты ( а именно ClientDataSet и Provider), которые обеспечивают кэширование и обработку запросов. За счет использования различных компонентов для решения разных задач вы обеспечиваете для вашего приложения dbExpress значительно большую гибкость, чем монолитный механизм работы с базой данных ( такой как BDE), который делает за вас множество вещей, однако зачастую делает это не так, как вам надо. [46]
Символ - является оператором, который выделяет атрибуты. Правила управляются данными и работают на единственной базе данных. Правила имеют вид ( антецедент) - ( консеквент), где антецедент является частичным описанием данных, а консеквент - одно или более действий, которые должны быть выполнены, если антецеденты соответствуют содержимому базы данных. [47]
СУБД обладает большой гибкостью, что позволяет объединить множество файлов и функций обработки. Она упрощает доступ к данным и позволяет хранить и поддерживать значительные объемы информации. Но самое главное состоит в том, что СУБД обеспечивает коллективное использование информационных ресурсов пользователями - специалистами различных категорий. Содержимое базы данных, управляемой СУБД, составляют данные пользователей ( операционные данные), а не метаданные. [48]
Язык системы ДЖИС - язык высокого уровня, ориентированный на непрограммиста. Функции системы по получению справки и модификации содержимого базы данных в значительной степени определяются потребительскими нуждами. Поэтому логика заданий записывается в терминах языка взаимообмена. Функции же создания и обновления базы являются традиционными и в большей степени логически определены. Система может работать в пакетном режиме и режиме сообщений. В первом случае задания вводятся через устройство ввода системы и выполняются в установленном порядке. Начиная от элемента и кончая файлом, данные могут обрабатываться лишь при наличии ключей допуска. [49]
Сначала можно подумать, что все эти ограничения делают библиотеку абсолютно бесполезной. Однако на самом деле это преимущество - они делают библиотеку интересной. Однонаправленные наборы данных без возможности прямого обновления вполне пригодны для формирования отчетов, включая генерацию HTML-страниц, на которых показывается содержимое базы данных. Если же вы намерены построить пользовательский интерфейс, позволяющий модифицировать содержимое базы данных, в составе Delphi присутствуют специально предназначенные для этого компоненты ( а именно ClientDataSet и Provider), которые обеспечивают кэширование и обработку запросов. За счет использования различных компонентов для решения разных задач вы обеспечиваете для вашего приложения dbExpress значительно большую гибкость, чем монолитный механизм работы с базой данных ( такой как BDE), который делает за вас множество вещей, однако зачастую делает это не так, как вам надо. [50]
При поступлении в информационную систему запроса, сформулированного в общем случае на непроцедурном языке, этот запрос анализируется и составляются списки данных, подлежащих извлечению. Каталог базы данных, имеющий вид текстового файла, сравнивается со списком запрашиваемых данных. В результате этого сравнения формируются таблицы адресов значений данных, подлежащих извлечению из базы. Извлечение значений данных происходит в результате последовательного, символ за символом, сравнения содержимого базы данных с адресами, необходимыми для удовлетворения данных запроса. В результате этого формируются таблицы значений данных. После соответствующей алгоритмической обработки этих запросов формируется и в окончательном виде ответ на запрос пользователя. [51]
![]() |
Тупиковая ситуация и способ ее предотвращения. а - образование тупиковой ситуации для Wt и W2. б - один из способов ее предотвращения. [52] |
Другим простым способом обнаружения тупиковой ситуации является обнаружение совокупности логических элементов работы, находящихся в состоянии ожидания дольше определенного промежутка времени. Если при этом обнаруживается тупиковая ситуация, то она устраняется путем рестарта какого-либо из попавших в эту ситуацию логических элементов работы. При этом результат воздействия этого элемента на базу данных должен быть аннулирован. Лучше осуществлять рестарт того логического элемента работы, который к моменту возникновения тупиковой ситуации минимально изменил содержимое базы данных. [53]