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