Требования, предъявляемые к БД
Правильно спроектированная БД должна удовлетворять следующим требованиям:
1. Минимальная избыточность. Непротиворечивость.
2. Целостность данных.
3. Независимость данных.
4. Возможность ведения (добавления и удаления) и актуализации (корректировки, модификации) данных.
5. Безопасность и секретность.
6. Высокая производительность. Минимальные затраты.
7. Соблюдение стандартов.
1. Минимальная избыточность означает то, что данные в БД не должны дублироваться. Избыточность данных, если она существует, влечет две опасности:
-неоправданно большой расход памяти и уменьшение времени отклика системы при обработке излишне больших объемов данных.
-нарушение непротиворечивости данных, т.е. возникновение такой ситуации, когда в различных местах машинной памяти хранятся противоречивые данные. Возникновение противоречивости чрезвычайно опасно для БД.
Противоречивость может возникнуть в результате корректировкиизбыточных данных. При внесении изменений в логическую запись может случиться так, что отдельные экземпляры этой записи, хранящиеся в различных местах машинной памяти, окажутся нескорректированы. Программисту приходится проявлять особое внимание к организации процесса корректировки избыточных данных и разрабатывать специальные программы, предотвращающие появление противоречивости.
Противоречивость может возникнуть и при корректировкенеизбыточных данных. Централизованное хранение данных является причиной высокой вероятности того, что двум или более пользователям одновременно понадобятся одни и те же данные. Если один из пользователей обращается к данным, а другой в то же время вносит в них изменения, будут получены противоречивые данные. Объясняется это тем, что процесс обновления данных требует определенного времени, в течение которого одни и те же данные оказываются на разных стадиях обновления. При обращении к таким данным параллельно работающих программ будут получены противоречивые сведения.
В СУБД существуют сложные механизмы блокирования обновляемых данных от доступа к ним других пользователей. Параллельные запросы к одним и тем же данным обычно выполняются последовательно.
В ряде СУБД есть средства, предотвращающие дублирование и возникновение противоречивости данных. В противном случае такие средства разрабатывает системный программист.
2. Целостность данных означает то, что в БД должны храниться только правильные данные, т.е. соблюдаются логические условия, в соответствии с которыми данные считаются правильными. Разрушение и искажение данных возможны в результате неосторожных действий пользователей, в результате ошибок в программах и сбоев оборудования.
Существуют специальные методы и приемы обеспечения целостности.
Для обеспечения целостности на данные, хранящиеся в БД, накладывают ограничения. При этом определяются условия, которым должны соответствовать значения данных. Например, один и тот же служащий не может иметь два различных года рождения и т.п.. Подобные ограничения называются законами БД. Выполнимость законов БД периодически проверяется СУБД.
Для предотвращения возможности ввода неправильных данных разрабатываются средства контроля правильности вводимых данных. Так, например, можно использовать процедуры, проверяющие принадлежность вводимых значений определенному диапазону допустимых значений. Например, количество рабочих дней ограничивается сверху количеством дней в текущем месяце.
Целостность данных может нарушиться при неудачном завершении транзакции. Транзакцией называется некоторая неделимая последовательность операций над данными, выполняемая по одному запросу к БД. Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Здесь необходимо последовательное выполнение нескольких операций. Деньги снимаются с одного счета, данные корректируются, затем деньги добавляются к другому счету и данные вновь корректируются. Если хотя бы одно из действий не выполняется успешно, результат транзакции окажется неверным. СУБД должна отслеживать ход выполнения транзакции от начала до ее завершения. Если по какой-то причине какая-либо из операций не выполнилась, то транзакция отменяется полностью. При этом выполняется "откат" путем отмены всех уже выполненных изменений.
В БД должны быть предусмотрены средства восстановления данных после программных сбоев и сбоев оборудования. Существуют программы создания резервных копий и специальные программы, которые автоматически фиксируют любые внесенные в БД изменения (создается файл корректур). Если текущая версии БД испорчена, то берется предыдущая версия, в нее вносятся изменения, зафиксированные в файле корректур, и текущее (актуальное) состояние БД восстанавливается.
Различные СУБД в той или иной мере располагают средствами обеспечения целостности данных. В противном случае такие средства разрабатываются системным программистом.
3. Независимость данных означает то, что прикладные программы не должны зависеть от хранимых данных, т.е. от способа хранения данных в физической памяти. Это позволяет добавлять в БД новые данные, изменять структуры хранения данных, создавать на БД новые приложения. Ранее созданные программы при этом не должны "чувствовать" эти изменения.
СУБД обычно обеспечивают это требование.
4. Структура БД должна позволять включать новые и удалять устаревшие данные, корректировать хранимые данные без разрушения логических связей, установленных в схеме БД. Для этого схема БД должна быть правильно разработана, а операции ведения БД не должны нарушать схему БД.
5. Безопасность и секретность означает защиту данных от несанкционированного доступа, преднамеренного и непреднамеренного разрушения данных, хищения данных. Система защиты БД призвана решать следующие задачи.
- Идентификация пользователей. Данными, хранящимися в БД должны пользоваться только лица, имеющие на это право и подтвердившие свои полномочия. Наиболее распространенным способом решения этой задачи является система паролей.
- Ограничение доступа к данным. Каждый пользователь должен работать только с теми данными, которые необходимы для решения его задач, остальные данные должны быть для него "невидимыми".
Каждому пользователю предоставляются определенные полномочия (привилегии) для работы с данными. Ему может быть предоставлено право только чтения из БД, право ввода в БД или право обновления и т.п. Все привилегии предоставляются только администратору БД.
-Обеспечение секретности данных. Секретные данные необходимо защищать от доступа системой специальных, достаточно сложных паролей. Сильно уязвимые данные следует шифровать.
Средства защиты и обеспечения безопасности данных содержатся в СУБД или разрабатываются системным программистом.
6. Организация БД и методы доступа к данным должны обеспечивать высокую скорость обработки данных такую, чтобы пользователь мог работать с БД в диалоговом режиме. Стоимость обслуживания пользователей не должна быть высокой.
Возможность выполнения этих требований определяется рядом факторов: объемом хранимых данных, быстродействием техники, способом организации данных в БД и во многом зависит от решений, принимаемых разработчиками на этапе создания БД. Например, можно организовать способ размещения данных на носителе таким образом, что наиболее часто используемые данные хранятся на наиболее доступных участках внешней памяти.
7. Представление данных в БД, сопроводительная документация, способ взаимодействия пользователя с БД должны удовлетворять определенным стандартам. Стандарты могут быть корпоративными, ведомственными, промышленными, национальными и международными. Соблюдение стандартов совершенно необходимо для совместного использования данных и для организации обмена данными между отдельными системами. Например, без принятия определенных стандартов нельзя было бы организовать сеть Internet.
Дата добавления: 2015-06-12; просмотров: 11239;