Этапы разработки базы данных
Целью разработки любой базы данных является хранение и использование информации о какой-либо предметной области. Для реализации этой цели имеются следующие инструменты:
- Реляционная модель данных - удобный способ представления данных предметной области.
- Язык SQL - универсальный способ манипулирования такими данными.
При разработке базы данных обычно выделяется несколько уровней моделирования, при помощи которых происходит переход от предметной области к конкретной реализации базы данных средствами конкретной СУБД. Можно выделить следующие уровни:
- Сама предметная область;
- Модель предметной области (Концептуальная модель);
- Логическая модель данных;
- Физическая модель данных;
- Собственно база данных и приложения.
Критерии оценки качества логической модели данных
- Адекватность базы данных предметной области;
- Легкость разработки и сопровождения базы данных;
- Скорость выполнения операций обновления данных (вставка, обновление, удаление кортежей);
- Скорость выполнения операций выборки данных.
15. Нормальные формы отношений. Первая нормальная форма (1НФ). Аномалии обновления 1НФ.
Существуют критерии, которые являются важными с точки зрения получения качественной базы данных:
- Адекватность базы данных предметной области;
- Легкость разработки и сопровождения базы данных;
- Скорость выполнения операций обновления данных (вставка, обновление, удаление кортежей);
- Скорость выполнения операций выборки данных.
от этих критериев зависит то, в какой форме будет логическая модель.
1НФ (Первая Нормальная Форма)
• Первая нормальная форма (1НФ) - это обычное отношение. Согласно нашему определению отношений, любое отношение автоматически уже находится в 1НФ. Напомним кратко свойства отношений (это и будут свойства 1НФ):
- В отношении нет одинаковых кортежей.
- Кортежи не упорядочены.
- Атрибуты не упорядочены и различаются по наименованию.
- Все значения атрибутов атомарны. (неделимы)
Аномалии есть либо неадекватность модели данных предметной области, либо некоторые дополнительные трудности в реализации ограничений предметной области средствами СУБД.
Т.к. аномалии проявляют себя при выполнении операций, изменяющих состояние базы данных, то различают следующие виды аномалий:
• Аномалии вставки (INSERT) Причина аномалии - хранение в одном отношении разнородной информации
• Аномалии обновления (UPDATE) Причина аномалии - избыточность данных, также порожденная тем, что в одном отношении хранится разнородная информация.
• Аномалии удаления (DELETE) Причина аномалии - хранение в одном отношении разнородной информации
16. Функциональные зависимости. Вторая нормальная форма (2НФ). Аномалии обновления 2НФ.
функциональная зависимость записывается X®Y
Пусть R - отношение. Множество атрибутов Y функционально зависимо от множества атрибутов X тогда и только тогда, когда для любого состояния отношения R для любых кортежей r1,r2ÎR из того, что r1X=r2X следует что r1Y=r2Y. функциональная зависимость - семантическое понятие. Она возникает, когда по значениям одних данных в предметной области можно определить значения других данных.
• Отношение R находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа).
свойства 1НФ:
- В отношении нет одинаковых кортежей.
- Кортежи не упорядочены.
- Атрибуты не упорядочены и различаются по наименованию.
4. Все значения атрибутов атомарны(неделимы)
17. Третья нормальная форма (3НФ). Сравнение нормализованных и ненормализованных моделей данных. OLTP и OLAP- системы.
Отношение R находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого.
• Отношение R находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа).
свойства 1НФ:
1. В отношении нет одинаковых кортежей.
2. Кортежи не упорядочены.
3. Атрибуты не упорядочены и различаются по наименованию.
4. Все значения атрибутов атомарны (неделимы)
более сильно нормализованные отношения оказываются лучше спроектированы. Они больше соответствуют предметной области, легче в разработке, для них быстрее выполняются операции модификации базы данных. Это достигается ценой замедления выполнения операций выборки данных.
У слабо нормализованных отношений единственное преимущество - если к базе данных обращаться только с запросами на выборку данных, то для слабо нормализованных отношений такие запросы выполняются быстрее.
Типичными примерами OLTP-приложений являются системы складского учета, системы заказов билетов, банковские системы, выполняющие операции по переводу денег, и т.п. Основная функция подобных систем заключается в выполнении большого количества коротких транзакций.
Выбор степени нормализации отношений зависит от характера запросов, с которыми чаще всего обращаются к базе данных.
критическим для OLTP-приложений является скорость и надежность выполнения коротких операций обновления данных. Чем выше уровень нормализации данных в OLTP-приложении, тем оно, как правило, быстрее и надежнее.
OLAP-приложения оперируют с большими массивами данных, уже накопленными в OLTP-приложениях, взятыми их электронных таблиц или из других источников данных. Такие системы характеризуются следующими признаками:
• Добавление в систему новых данных происходит относительно редко крупными блоками.
• Данные, добавленные в систему, обычно никогда не удаляются.
• Перед загрузкой данные проходят различные процедуры "очистки", связанные с тем, что в одну систему могут поступать данные из многих источников, имеющих различные форматы представления для одних и тех же понятий, данные могут быть некорректны, ошибочны.
• Запросы к системе являются нерегламентированными и, как правило, достаточно сложными. Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного в результате предыдущего запроса.
• Скорость выполнения запросов важна, но не критична.
18. Нормальная форма Бойса-Кодда (НФБК).
Отношение находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, когда детерминанты всех функциональных зависимостей являются потенциальными ключами. Если отношение находится в НФБК, то оно автоматически находится и в 3НФ. Для того чтобы устранить зависимость от детерминантов, не являющихся потенциальными ключами, необходимо провести декомпозицию, вынося эти детерминанты и зависимые от них части в отдельное отношение.
Отношение R находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого.
• Отношение R находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа).
свойства 1НФ:
1. В отношении нет одинаковых кортежей.
2. Кортежи не упорядочены.
3. Атрибуты не упорядочены и различаются по наименованию.
4. Все значения атрибутов атомарны (неделимы)
19. Многозначная зависимость. Четвертая нормальная форма (4НФ).
Пусть R - отношение, и X, Y, Z - некоторые из его атрибутов (или непересекающиеся множества атрибутов), Тогда атрибуты Y и Z многозначно зависят от X (обозначается X ®® Y | Z ), тогда и только тогда, когда из того, что в отношении R содержатся кортежи r1=(x,y,z1) и r2=(x,y1,z) следует, что в отношении R содержится также и кортеж r3=(x,y,z).
Если в отношении R имеется не менее трех атрибутов X, Y, Z и есть функциональная зависимость X ® Y, то есть и многозначная зависимость X ®® Y|Z. Таким образом, понятие многозначной зависимости является обобщением понятия функциональной зависимости.
Отношение находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость X ®® Y|Z называется нетривиальной многозначной зависимостью, если не существует функциональных зависимостей X ® Y и X ® Z.
Отношение находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, когда детерминанты всех функциональных зависимостей являются потенциальными ключами.
20. Зависимость соединения. Пятая нормальная форма (5НФ).
Пусть R является отношением, а A, B, …, Z- произвольными (возможно пересекающимися) подмножествами множества атрибутов отношения R. Тогда отношение R удовлетворяет зависимости соединения *(A, B, …, Z) тогда и только тогда, когда оно равносильно соединению всех своих проекций с подмножествами атрибутов A, B, …, Z.
Зависимость соединения *(A, B, …, Z) называется нетривиальной зависимостью соединения, если выполняется два условия:
- Одно из множеств атрибутов A, B, …, Z не содержит потенциального ключа отношения R.
- Ни одно из множеств атрибутов не совпадает со всем множеством атрибутов отношения R.
Зависимость соединения *(A, B, …, Z) называется тривиальной зависимостью соединения, если выполняется одно из условий:
- Либо все множества атрибутов A, B, …, Z содержат потенциальный ключ отношения R.
- Либо одно из множеств атрибутов совпадает со всем множеством атрибутов отношения R.
Отношение R находится в пятой нормальной форме (5НФ) тогда и только тогда, когда любая имеющаяся зависимость соединения является тривиальной.
21. Обзор реляционной алгебры. Замкнутость реляционной алгебры. Отношения, совместимые по типу. Оператор переименования атрибутов.
Третья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления.
В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление. Фактическим стандартом доступа к реляционным данным стал язык SQL (StructuredQueryLanguage). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении. Вообще, язык доступа к данным называется реляционно-полным, если он по выразительной силе не уступает реляционной алгебре (или, что то же самое, реляционному исчислению), т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка. Именно таким и является язык SQL.