Системы управления базами данных (СУБД). Организации баз данных. Потребность в стандартных и общепринятых средствах сравнительного тестирования СУБД, страница 42

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

ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ

В идеале СУБД должна предоставлять легкий способ объявления правил соблюдения целостности, не прибегая к сложному программированию. Эти правила следует сохранять с базами данных и обеспечить автоматическое их соблюдение на уровене процессора базы данных. Таким образом, целостность гарантируется независимо от того, осуществляется ли доступ к данным интерактивно или с помощью специально составленной программ. Некоторые из описанных в этом обзоре изделий, например Microsoft Access и Paradox for Windows компании Borland, содержат превосходные средства для соблюдения декларативной целостности на уровне базы данных. Другие, как dBASE IV (Borland), Microsoft FoxPro for DOS и FoxPro for Windows, совсем не обладают средствами этого рода, и ввод в программу процедур, обеспечивающих выполнение правил целостности, возлагается на программиста. Эти процедуры затем следует копировать во все программы, которые получат доступ к базе данных, и даже в этом случае в интерактивном режиме пользователь может обойти правила. Некоторые продукты, например Clarion Database Developer или DataFlex компании Data Access Corp., поставляются с генераторами прикладных программ, которые будут автоматически создавать для вас программу. И опять-таки эти пакеты не могут обеспечивать соблюдение правил на уровне базы данных.

ПЕРВИЧНЫЕ КЛЮЧИ

В реляционной базе данных каждая таблица имеет первичный ключ - колонку или комбинацию колонок, которые единственным образом идентифицируют каждую строку в таблице. каждая строка обязана иметь такое поле, и оно должно быть уникальным. Для любой СУБД необходимы средства для назначения первичного ключа, которые будут автоматически включаться в прикладные программы.

Access, Clarion, DataEase, Paradox for DOS, Paradox for Windows и R:BASE содержат встроенные средства обеспечения первичного ключа. Для тех программ, которые такие средств не имеют, вы должны составить программу так, чтобы она гарантировала правильное и уникальное значение первичного ключа каждой строки. В пакете DataEase средства для работы с первичными ключами непосредственно не предусмотрены, но подобную функцию можно реализовать на уровне базы данных путем сочетания атрибутов колонки Unique и Required.

В пакете Access, DataEase и R:BASE имеются средства для работы с типом полей с автоматическим приращением, когда СУБД  самостоятельно присваивает новое, уникальное значение. Это большое удобство при создании первичного ключа таблицы.

ССЫЛОЧНАЯ ЦЕЛОСТНОСТЬ

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

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

О пакетах Access, Paradox for Windows и R:BASE этот подход реализован непосредственно. Иногда его называют пресечением, поскольку выполнение операции пресекается, а иногда ограничением, потому что набор допустимых действий ограничивается такими, которые не пытаются не пытаются нарушить ссылочную целостности.