Управление данными. Громов Ю.Ю - 9 стр.

UptoLike

4. СУБД выполняет необходимые операции над хранимой базой данных.
В качестве примера предположим, что рассматривается выборка определённого экземпляра внеш-
ней записи. В общем случае поля будут использоваться из нескольких экземпляров концептуальных за-
писей, которые, в свою очередь, будут запрашивать поля из нескольких экземпляров хранимых записей.
СУБД должна сначала выбрать все требуемые экземпляры хранимых записей, затем построить требуе-
мые экземпляры концептуальных записей и после этого сформировать экземпляр внешней записи. На
каждом этапе могут требоваться преобразования типов данных или другие преобразования.
В данном случае предполагается, что весь процесс является интерпретируемым, т.е. анализ запроса,
проверка различных схем и другие процедуры осуществляются во время выполнения. Интерпретация, в
свою очередь, обычно имеет низкую производительность, поскольку на её выполнение затрачивается
много времени. На практике, однако, обычно имеется возможность скомпилировать запрос доступа пе-
ред его выполнением. Реальный пример системы, которая применяет такой подход, – СУБД DB2 фирмы
IBM.
Ф у н к ц и и С У Б Д
Определение данных.
СУБД должна допускать определения данных, т.е. внешние схемы, концеп-
туальную схему, внутреннюю схему, а также все связанные отображения, в исходной форме и преобра-
зовывать эти определения в форму соответствующих объектов. Иначе говоря, СУБД должна включать в
себя компонент языкового процессора для различных языков определений данных. СУБД должна также
понимать синтаксис языка определений данных.
Обработка данных.
СУБД должна уметь обрабатывать запросы пользователя на выборку, измене-
ние или удаление существующих данных в базе данных или на добавление новых данных в базу дан-
ных, т.е. СУБД должна включать в себя компонент процессора языка обработки данных.
Запросы языка обработки данных бывают «планируемые» и «непланируемые».
1.
Планируемый запрос
это запрос, необходимость которого предусмотрена заранее. Администра-
тор базы данных, возможно, должен настроить физический проект базы данных таким образом, чтобы
гарантировать достаточное быстродействие для таких запросов.
2.
Непланируемый запрос
это, наоборот, специальный запрос, необходимость которого не была
предусмотрена заранее. Физический проект базы данных может подходить, а может и не подходить для
рассматриваемого специального запроса. В общем, получение наибольшей возможной производитель-
ности для непланируемых запросов представляет собой одну из проблем СУБД.
Планируемые запросы характерны для операционных приложений, а непланируемые для прило-
жений поддержки решений. Более того, планируемые запросы обычно осуществляются из написанных
заранее приложений, а непланируемые запросы по определению производятся интерактивно.
Безопасность и целостность данных.
СУБД должна контролировать пользовательские запросы и
пресекать попытки нарушения правил безопасности и целостности, определённые АБД.
Восстановление данных и дублирование.
СУБД или другой связанный с ней программный ком-
понент, обычно называемый
администратором транзакций
, должны осуществлять необходимый кон-
троль над восстановлением данных и дублированием.
Словарь данных.
СУБД должна обеспечить функцию
словаря данных
. Сам словарь данных можно
по праву считать базой данных, но не пользовательской, а системной. Словарь содержит данные о дан-
ных (иногда называемые метаданными), т.е. определения других объектов системы, а не просто «сырые
данные». В частности, исходная и объектная формы различных схем (внешних, концептуальной и т.д.) и
отображений будут сохранены в словаре. Расширенный словарь будет включать также перекрёстные
ссылки, показывающие, например, какие из программ какую часть базы данных используют, какие от-
чёты требуются тем или иным пользователям, какие терминалы подключены к системе и т.д. Словарь
может и должен быть интегрирован в определяемую им базу данных, а значит, должен содержать опи-
сание самого себя. Конечно, должна быть возможность обращения к словарю, как и к другой базе дан-
ных, например, для того чтобы узнать, какие программы и/или пользователи будут затронуты при пред-
полагаемом внесении изменения в систему.