Принципы построения баз данных
К современным базам данных, а, следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования:
· Высокое быстродействие (малое время отклика на запрос). Время отклика - промежуток времени от момента запроса к БД до фактического получения данных.
· Простота обновления данных.
· Независимость данных - возможность изменения логической и физической структуры БД без изменения представлений пользователей.
· Совместное использование данных многими пользователями.
· Безопасность данных - защита данных от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения.
· Стандартизация построения и эксплуатации БД (фактически СУБД).
· Адекватность отображения данных соответствующей предметной области.
· Простой интерфейс пользователя.
Важнейшими являются первые два противоречивых требования: повышение быстродействия требует упрощения структуры БД, что, в свою очередь, затрудняет процедуру обновления данных, увеличивает их избыточность.
Безопасность данных включает их целостность и защиту. Целостность данных - устойчивость хранимых данных к разрушению и уничтожению, связанных с неисправностями технических средств, системными ошибками и ошибочными действиями пользователей. Она предполагает:
· отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;
· защиту от ошибок при обновлении БД;
· невозможность удаления (или каскадное удаление) связанных данных разных таблиц;
· неискажение данных при работе в многопользовательском режиме и в распределенных базах данных;
· сохранность данных при сбоях техники (восстановление данных).
Целостность обеспечивается триггерами целостности - специальными приложениями-программами, работающими при определенных условиях. Защита данных от несанкционированного доступа предполагает ограничение доступа к конфиденциальным данным и может достигаться:
· введением системы паролей;
· получением разрешений от администратора базы данных (АБД);
· запретом от АБД на доступ к данным;
· формирование видов - таблиц, производных от исходных и предназначенных конкретным пользователям.
Стандартизация обеспечивает преемственность поколений СУБД, упрощает взаимодействие БД одного поколения СУБД с одинаковыми и различными моделями данных. При этом может быть осуществлен как локальный, так и удаленный доступ к данным (технология клиент/сервер или сетевой вариант).
Проектирование баз данных - процесс решения класса задач, связанных с созданием баз данных.
Основные задачи проектирования баз данных:
· Обеспечение хранения в БД всей необходимой информации.
· Обеспечение возможности получения данных по всем необходимым запросам.
· Сокращение избыточности и дублирования данных.
· Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.
Основные этапы проектирования баз данных:
1)Концептуальное (инфологическое) проектирование – построение формализованной модели предметной области. Такая модель строится с использованием стандартных языковых средств, обычно графических, например ER-диаграмм (диаграмм «Сущность-связь»). Такая модель строится без ориентации на какую-либо конкретную СУБД.
Основные элементы данной модели:
· Описание объектов предметной области и связей между ними.
· Описание информационных потребностей пользователей (описание основных запросов к БД).
· Описание алгоритмических зависимостей между данными.
· Описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
2)Логическое (даталогическое) проектирование – отображение инфологической модели на модель данных, используемую в конкретной СУБД, например на реляционную модель данных. Для реляционных СУБД даталогическая модель – набор таблиц, обычно с указанием ключевых полей, связей между таблицами. Если инфологическая модель построена в виде ER-диаграмм (или других формализованных средств), то даталогическое проектирование представляет собой построение таблиц по определённым формализованным правилам, а также нормализацию этих таблиц. Этот этап может быть в значительной степени автоматизирован.
3)Физическое проектирование – реализация даталогической модели средствами конкретной СУБД, а также выбор решений, связанных с физической средой хранения данных: выбор методов управления дисковой памятью, методов доступа к данным, методов сжатия данных и т.д. – эти задачи решаются в основном средствами СУБД и скрыты от разработчика БД.
На этапе инфологического проектирования в ходе сбора информации о предметной области требуется выяснить:
· основные объекты предметной области (объекты, о которых должна храниться информация в БД);
· атрибуты объектов;
· связи между объектами;
· основные запросы к БД.