Обратите внимание, в отношениях, полученных после приведения к 4НФ, первичный ключ (ПК) состоит из всех атрибутов отношения.Примечание. Есть ещё т.н. третья усиленная форма (НФБК - нормальная форма Бойса-Кодда) и 5НФ. Описание этих форм можно найти в [1].Нормализация сокращает дублирование данных, но появление новых отношений усложняет схему базы данных. 8.9.8. Денормализация отношенийИногда после нормализации отношений проводят их денормализацию. Обоснованием денормализации может служить требование обеспечения определённой производительности для критических запросов. В нормализованной БД одна сущность ПО разбивается на несколько отношений, и для получения исходного отношения требуется выполнить операцию соединения. Эта операция занимает много времени, поэтому нормализация может привести к падению производительности БД. Денормализация бывает нескольких видов:56. ВосходящаяПодразумевает перенос некоторой информации из подчинённого отноше-ния в родительское. Например, для схемы ЗАКАЗЫ <- >> СТРОКИ ЗАКАЗОВ обычно нужно знать общую сумму заказа, которая является вычисляемой величиной. Если эти вычисления производятся часто, то для повышения эффективности можно добавить в отношениеЗАКАЗЫ поле Общая сумма. При этом возникает проблема обеспечения актуальности значения этого поля: пересчёт общей суммы при добавлении новой строки заказа, при удалении и при модификации позиций заказа. Обычно эта проблема решается программно (в приложении) или с помощью триггеров БД.57. НисходящаяВ этом случае информация переносится из родительского отношения в подчинённое. Например, в схеме ДОЛЖНОСТИ <- >> СОТРУДНИКИ можно в качестве внешнего ключа использовать поле Название должности, а не идентификатор. Для этого название в отношении ДОЛЖНОСТИ должно быть определено как unique. Это позволяет избежать соединения отношений при запросе должности сотрудника. Разбиение одного отношения на два.
В одно отношение помещаются все атрибуты сущности, которые связаны с экземпляром сущности как 1:1. Но бывает так, что запись имеет большую длину за счёт наличия атрибутов большого объёма (графические данные, текстовые описания и проч.). Если данные этих атрибутов редко используются, то можно выделить в отдельное отношение атрибуты большого объёма. Для связи с исходным отношением вводится уникальный внешний ключ. А для получения исходного отношения создаётся представление (view), которое является соединением двух полученных отношений.После нормализации/денормализации получается окончательная концептуальная схема БД, на основе которой проводится физическое проектирование. Пример проектирования БД с использованием метода "сущность-связь" и нормализации отношений приведён в [2]."Решенные проблемы исчезают в прошлое. Поставленные рожда-ют будущее. В особенности принципиально неразрешимые проблемы. Они вечны. Человек вообще начинается со стремления сделать невоз-можное".«Зияющие высоты», Александр Зиновьев, советский философ, логик, социолог, публицист ПЕРСПЕКТИВЫ РАЗВИТИЯ ТЕХНОЛОГИИ БАЗ ДАННЫХ
Вот уже более 30-и лет базы данных являются одной из одной из наиболее широко востребованных информационных технологий. Некоторые авторы утверждают [1], что появление баз данных стало самым важным достижением в области программного обеспечения.Системы баз данных коренным образом изменили работу многих организаций, и практически нет такой области деятельности, которую они не затронули. Ежегодный рост объёмов продаж СУБД и вспомогательного программного обеспечения с 1995 г. составляет около 20%.К числу наиболее важных и перспективных направлений развития БД следует отнести следующие: Хранилища данных и OLAP-обработка. Хранилище данных - это пред-метно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений. Хранилище данных позволяют сохранять исторические данные с целью анализа и прогнозирования развития ситуаций. При правильном проектировании хранилище данных даёт высокую отдачу за счёт более качественного управления работой организации (предприятия). Данные в хранилище данных обрабатываются с помощью OLAP (online analytical processing) - инструментов оперативной аналитической обработки данных. OLAP позволяет быстро производить расчёты над огромными объёмами данных, в том числе, с целью выявления динамики изменения различных параметров (параметры задаются аналитиком).
Работа с неточными данными. Информация в базах данных часто содержит ошибки или является неполной. Результаты запроса по такой БД могут сильно отличаться от реального положения дел. Процессор запросов, работающий с вероятностями, коэффициентами доверия, коэффициентами полноты и т.д. позволил бы учитывать степень достоверности данных при принятии решений на основе этих данных.
Новые пользовательские интерфейсы. Это одно из наиболее актуальных направлений современных информационных технологий. Конечные пользователи не знают язык запросов (SQL), и для получения информации из БД вынуждены пользоваться интерфейсами, которые для них создают программисты. В приложения обычно включают некоторый набор готовых запросов и возможность сформулировать произвольный запрос с помощью некоего конструктора. Но для того, чтобы воспользоваться конструктором, пользователь должен знать структуру базы данных и хорошо разбираться в предложенном ему формализме ПО.
Наиболее естественным видом является запрос к БД, сформулированный на естественном языке (ЕЯ). Но для таких запросов характерны неточности и неоднозначность. Решение этой задачи невозможно без использования знаний о предметной области и о структуре языка.Одним из вариантов решения этой проблемы являются онтологии. Под онтологией понимается определённым образом формализованная система знаний о предметной области, описывающая, классифицирующая и увязывающая между собой понятия этой ПО. Интеграция онтологий и баз данных позволит пользователям задавать запросы в собственной терминологии с использованием ограниченного естественного языка. Это упростит создание и сопровождение приложений и повысит эффективность использования БД. Проблемы оптимизации запросов. Помимо остающейся актуальной задачи поиска новых способов оптимизации, можно выделить ещё две серьёзные проблемы оптимизации: обработка неструктурированных запросов (возможно, на ограниченном естественном языке), и оптимизация группы запросов. Работа с неструктурированными запросами особенно актуальна в свете использования баз данных в поисковых системах (в том числе, при поиске в Internet). А оптимизация группы одновременно выполняющихся запросов позволит улучшить характеристики СУБД с точки зрения быстродействия.
Интеграция разнородных и слабо формализованных данных. Изначально базы данных предназначались для хранения и обработки фактографических хорошо структурированных данных. Но огромное количество данных представлено в различных графических и мультимедийных форматах. Включение в СУБД способов обработки подобных данных позволяет использовать технологии баз данных в таких сферах, как, например, ГИС (геоинформационные системы), издательские системы (с поддержкой вёрстки номеров издания), САПР (системы автоматизации проектирования) и т.д.
Организация доступа к базам данных через Internet. Многие web-сайты содержат динамическую информацию, например, о товарах и ценах в Internet-магазинах. В локальных системах такая информация традиционно хранится в базах данных. Интеграция СУБД в web-среду позволяет сохра-нить все преимущества баз данных для использования в web-приложениях. Основными задачами здесь являются:
организация эффективного интерфейса, рассчитанного на неподготов-ленного пользователя;
оптимизация запросов, направленная на уменьшение сетевого трафика;
повышение производительности СУБД в многопользовательском режиме работы.
Самоадаптация. Современные СУБД имеют широкие возможности по на-стройке баз данных под конкретную предметную область и аппаратные средства. Но использование этих возможностей - достаточно сложная задача, которая требует
наличия высококвалифицированного администратора БД. Для упрощения настройки и сопровождения БД СУБД должна брать на себя большинство функций настройки и выполнять их в автоматическом или автоматизированном режиме. Использование GRID. GRID - это концепция объединения вычислитель-ных ресурсов в единую сеть. В качестве аналогии здесь можно привести электрические сети: при возникновении потребности пользователь просто подключается к сети и получает электричество. Точно так же при возникновении потребности в вычислениях пользователь должен просто подключаться к GRID и получать вычислительные ресурсы. Преимущества этого подхода очевидны: возможность решать более ресурсоёмкие задачи и перераспределять нагрузку на узлы сети. Но и нерешённых проблем здесь тоже достаточно, поэтому это задача будущего.
Тем не менее, первые промышленные GRID-системы уже существуют, но поддерживают они только базы данных: это системы Oracle 10G и Oracle 11G (G - это сокращение от GRID). Они динамически выделяют ре-сурсы для выполнения задач пользователя по доступу к БД Oracle и пере-распределяют нагрузку на узлы сети с целью оптимизации использования вычислительных ресурсов и повышения общей производительности систе-мы. Сохранность данных. Количество накопленных цифровых данных в мире огромно. Но со временем устаревают и форматы хранения данных, и средства доступа к ним. Происходит также старение носителей: размагничиваются магнитные ленты и диски, изменяются оптические и физические свойства носителя. Поэтому даже архивированные данные могут стать недоступными, особенно если нет устройства для чтения устаревшего носителя или отсутствует возможность запустить приложение, которое может читать устаревший формат. Решить эту проблему могут средства, обеспечивающие миграцию данных в новые форматы с сохранением их описания (т.е. метаданных).
Технологии разработки данных и знаний (data mining и knowledge mining). Технологии разработки данных предназначены для поиска неоче-видных тенденций и скрытых закономерностей в больших объёмах дан-ных. A knowledge mining - это извлечение знаний из баз данных (или из хранилища данных). Здесь используются как формальные методы (регрессионный, корреляционный и другие виды статистического анализа), так и методы интеллектуальной обработки данных, основанные на моделировании познавательных механизмов - индукции, дедукции, абдукции.
Более подробно с этими направлениями развития технологии БД можноознакомиться в [1] и на сайте citforum.ru/database. Список используемых сокращений
DCL data control language, язык контроля данныхDDL data definition language, язык определения данныхDML data manipulation language, язык модификации данныхRBS rollback segment, сегмент откатаАИС автоматизированная информационная системаБД база данныхИМД иерархическая модель данныхИПС информационно-поисковая системаКБД ключ базы данныхОП оперативная памятьОС операционная системаПО предметная областьППО прикладное программное обеспечениеРК резервная копияРМД реляционная модель данныхРСУБД реляционная система управления базами данныхСМД сетевая модель данныхСОД системы обработки данныхСПО системное программное обеспечениеСУБД система управления базами данных Библиографический список
Коннолли Т., Бегг К. Базы данных: проектирование, реализация, сопровождение. Теория и практика, 3-е изд. : Пер. с англ. : Уч. пос.
М.: Изд. дом "Вильямс", 2003. - 1440 с.
Проектирование реляционной базы данных: Метод. указания к курсовому проек-тированию по курсу "Базы данных" / Московский государственный институт элек-троники и математики; Сост.: Карпова И.П. - М., 2003. - 28 с.
Изучение основ языка SQL: Метод. указания к лабораторным работам по курсу "Базы данных" / Московский государственный институт электроники и математики; Сост.: И. П. Карпова. М., 2009.
Манифест "Системы баз данных третьего поколения". - Журнал «СУБД»/1995, № 2. - с. 143-159. http://rema.44.ru/resurs/study/ddb/manifest.html
Манифест «Системы объектно-ориентированных баз данных». - Журнал «СУБД»/1995, № 4. - с. 142-155. http://rema.44.ru/resurs/study/ddb/manif_oo.html
ГОСТ 20886-85. Организация данных в системах обработки данных. Термины и определения.
ГОСТ 34.320-96. Информационные технологии. Система стандартов по базам дан-ных. Концепции и терминология для концептуальной схемы и информационной базы. - Межгосударственный стандарт. Дата введения 01.07.2001.
Clegg, Dai and Richard Barker, Case Method Fast-Track. A PAD Approach, Addison-Wesley, 1994.
Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. -
http://www. citforum.ru/database/case/index.shtml. |