- •Проектирование логической и физической структуры реляционной базы данных. Нормализация отношений.
- •Методы анализа предметных областей пользователей.
- •4.2. Обеспечение целостности данных
- •Типы распределенных баз данных
- •Методы распределенной обработки (примеры, если он спросит)
- •Организация репликаций и транзакций
- •Проблемы организации и размещения информационных массивов. Интегрированные информационные системы
- •1.Администрирование бд. Управление ролями, привилегиями.
- •2.Методы построения канонической структуры распределённой базы данных.
- •Вопрос 2
- •1.Хранение данных на внешних запоминающих устройствах
- •Вопрос 1!!!!! Организационные основы защиты информации на предприятии Основные направления, принципы и условия организационной защиты информации
- •Основные подходы и требования к организации системы защиты информации.
- •Основные методы, силы и средства, используемые для организации защиты информации
- •8.1. Информационное хранилище и витрина данных
- •8.2. Проектирование оптимальных логических и физических структур локальных баз данных
4.2. Обеспечение целостности данных
Проблема целостности состоит в обеспечении правильности данных в базе в любой момент времени. Это касается защиты данных от непреднамеренных ошибок и их предотвращения. Этим проблема целостности отличается от проблемы безопасности, в остальном эти два вопроса тесно соприкасаются.
Имеются два основных вида ограничения целостности, которые должны поддерживаться СУБД:
структурные ограничения. Эти ограничения во многих случаях задаются функциональными зависимостями и проверяются путем проверки равенства значений соответствующих данных в базе;
ограничения реальных значений данных, хранимых в базе. Обычно такие ограничения требуют, чтобы значения поля принадлежали некоторому диапазону значений, либо выражают некоторое арифметическое соотношение между значениями различных полей.
Существуют и другие ограничения целостности. Например, ограничения на условия выполнения параллельных операций над данными в базе; ограничения типа старый—новый, когда БД переходит в новое состояние.
В общем случае целостность может быть нарушена при сбое оборудования, программной ошибке, ошибке человека-оператора, ошибках в исходных данных и т.п.
Рассмотрим примеры различных типов ограничений целостности.
1. Значения первичного ключа любого отношения (файла) должны быть уникальны.
2. Отношение (файл), кроме первичного ключа, может содержать возможные ключи, значения которых должны быть также уникальными.
Эти два примера соответствуют структурным ограничениям.
3. В заданном отношении для каждого кортежа между значением поля А и значением поля В должно всегда выполняться условие, что первое больше второго. Ограничение специфицируется специальным выражением.
4. Значения, которые принимает некоторый атрибут, должны быть ограничены заданным диапазоном. Ограничение специфицируется специальным выражением.
5. Для некоторого атрибута (или комбинации атрибутов) может существовать конечный (небольшой по размеру) набор допустимых значений (например, по атрибуту ОБРАЗОВАНИЕ могут быть только значения НАЧАЛЬНОЕ, НЕПОЛНОЕ СРЕДНЕЕ, СРЕДНЕЕ, НЕПОЛНОЕ ВЫСШЕЕ, ВЫСШЕЕ). Ограничение специфицируется специальным выражением при описании данных.
6. Значения некоторого атрибута должны удовлетворять определенному формату.
7. Множество значений одного из атрибутов отношения должно удовлетворять некоторому статистическому условию. Например, конкретное значение не должно превышать более чем в два раза среднее значение. Ограничение реализуется СУБД при контроле выполняемых операций.
8. Множество значений некоторого столбца отношения является подмножеством значений другого столбца этого отношения. Ограничение контролируется при выполнении операций.
Рассмотренные примеры 3—8 соответствуют второму виду ограничений — ограничений на значения данных.
9. Требуется ограничить обновление данных в заданном отношении таким образом, чтобы для указанного атрибута имело место в каждом кортеже некоторое соотношение между старым и новым значениями.
Чтобы специфицировать подобное ограничение, в языках должны быть предусмотрены возможности реализации ссылки на старое и новое значения.
10. Если транзакция А (транзакция — это разовый прогон некоторой процедуры) и транзакция В выполняют изменения одних и тех же данных в базе, то в случае их параллельного выполнения может быть нарушена целостность данных в базе. В этом случае СУБД должна реализовать специальный режим выполнения параллельных вычислений. Например, транзакция В не может обратиться к данным, пока с ними не закончится работа в транзакции Л.
11. Если транзакция выполняет несколько изменений в БД которые связаны между собой ограничениями целостности, то в этом случае ограничения целостности можно проверять только после выполнения транзакции. Такие ограничения называют отложенными.
Рассмотренных примеров достаточно, чтобы создать представление о составе задач, подлежащих решению при проектировании средств обеспечения целостности данных в базе.
Основная идея обеспечения ограничений целостности данных заключается в том, чтобы использовать язык ЯМД как средство выражения этих ограничений. Декларация ограничений целостности содержит две части. В первой из них должно быть выражено само ограничение, а во второй — описывается, когда, при каких условиях должна выполняться сама проверка. Языки манипулирования данными реальных систем позволяют в той или иной мере поддерживать если не все, то многие из рассмотренных ограничений целостности.
Обеспечение целостности данных для Access (мало ли он спросит) При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между ними. Причем для связей типов один к одному и один ко многим можно задать параметр, обеспечивающий целостность данных, а также автоматическое каскадное обновление или удаление связанных записей. Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц следующих условий корректировки базы данных:
в подчиненную таблицу не может быть добавлена запись, для которой не существует в главной таблице ключа связи;
в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
В случае если пользователь нарушил эти условия в операциях обновления или удаления данных в связанных таблицах, Access выводит соответствующее сообщение и не допускает выполнения операции. Access автоматически отслеживает целостность данных, если между таблицами в схеме данных установлена связь с параметрами обеспечения целостности. При вводе некорректных данных в связанные таблицы выводится соответствующее сообщение. Access не позволяет создавать связи с параметрами обеспечения целостности в схеме данных, если ранее введенные в таблицы данные не отвечают требованиям целостности. Отметим, что установление между двумя таблицами связи типа один к одному или один ко многим и задание параметров целостности данных возможно только при следующих условиях:
связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
обе таблицы сохраняются в одной базе данных Access;
главная таблица связывается с подчиненной по первичному простому или составному ключу (уникальному индексу) главной таблицы.
Если для выбранной связи обеспечивается поддержание целостности, то можно задать режимы каскадного обновления и удаления связанных записей. В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях. В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.
Структура распределенного банка данных
Банк и база данных, расположенные на одном компьютере, называются локальными, а на нескольких соединенных сетями ПЭВМ называются распределенными. Распределенные банки и базы данных более гибки и адаптивны, менее чувствительны к выходу из строя оборудования.
Назначение распределенных баз и банков данных состоит в предоставлении более гибких форм обслуживания множеству уда ленных пользователей при работе со значительными объемами информации в условиях географической или структурной разобщенности. Распределенные системы баз и банков данных обеспечивают широкие возможности по управлению сложных многоуровневых и многозвенных объектов и процессов.
(тут начинается муть)
В системах обработки распределенных баз данных база данных распределена по множеству компьютеров. На рисунке 1 база данных (или часть ее) хранится на всех n компьютерах. Как показано на рисунке, компьютеры 1, 2 и n обрабатывают и приложения, и базу данных, а компьютер 3 обрабатывает только базу данных.
Пунктирная линия, которой обведены файлы, означает, что база данных включает в себя все сегменты, хранящиеся на всех п компьютерах. Эти компьютеры могут физически размещаться в одном помещении, а могут – в разных концах планеты. Система с совместным использованием файлов, клиент–серверная система и система обработки распределенных баз данных имеют одно важное отличие от системы удаленной обработки данных: у всех них для обработки приложений или СУБД используется более одного компьютера. Следует обратить внимание, однако, что сама база данных является распределенной только в архитектуре на рисунке 1. Ни в клиент-серверной системе, ни в системе с совместным использованием файлов база данных не распределена по множеству компьютеров.