Программирование >>  Программирование баз данных 

1 ... 63 64 65 [ 66 ] 67 68 69 ... 346


Резюме

По-видимому, способы организации запросов, описанные в главе 3, охватывают 80% или даже больше ситуаций, связанных с применением запросов, с которыми приходится сталкиваться на практике, но остальные 20% могут оказаться буквально не поддающимися решению с использованием широко известных приемов программирования. Иногда невозможно даже понять, удастся ли правильно сформулировать запрос, который позволил бы получить необходимые данные. А иногда приходится сталкиваться с тем, что применяемый конкретный запрос или хранимая процедура имеет недопустимо низкую производительность. Так или иначе, на практике не всегда удается достичь поставленной цели с помощью простых запросов и соединений. Требуется нечто большее, и мы надеемся, что средства, описанные в настоящей главе, позволят вам приобрести небольшой дополнительный арсенал, позволяющий справляться с такими трудными ситуациями.



Глава 7

Основные сведения о проектировании баз данных

Настоящая глава посвящена изложению наиболее важных тем, касающихся проектирования баз данных. Одной из них является нормализация и степень нормализации. Общеизвестно, что приступать к изучению вопросов нормализации можно только после подробного ознакомления с фундаментальными принципами проектирования реляционных баз данных. Эти сведения главным образом приведены в предыдущих главах данной книги. Поэтому в настоящей главе представлена только дополнительная информация, позволяющая читателю расширить и углубить свои знания о проектировании.

Следует также отметить, что все главы данной книги, за исключением одной или двух, а также почти все рассматриваемые в ней примеры, включают сведения, в основном касающиеся систем OLTP (OnLine Transaction Processing - оперативная обработка транзакций). Тем не менее в настоящей книге в ходе изложения время от времени подчеркиваются некоторые различия между системами OLTP, а также не менее важными, но в большей степени предназначенными для анализа данных системами OLAP (OnLine Analytical Processing- оперативная аналитичес1сая обработка). Одним из наиболее важных различий между системами OLTP и OLAP является то, что их эксплуатация проходит в различных режимах, поэтому в них предъявляются разные требования к проектам таблиц баз данных, в частности, разные требования к нормализации. В связи с этим рассматриваемые в данной книге примеры таблиц баз данных OLTP чаще всего имеют такую организацию, которую принято называть третьей нормальной формой.

Основные сведения о нормальных формах приведены ниже. Для изложения этой темы в настоящей главе отведено очень мало места, после чего происходит стремительный переход к изложению более сложных понятий. Прежде всего при описании нормализации следует указать, что нормализация - это создание на основе существующей структуры данных другой, теоретически обоснованной структуры, исключающей возможность появления повторяющихся данных, которая позволяет легко восстановить все данные в исходном виде. В настоящей главе подробно рассматривается нормализация (процесс преобразования базы данных в нормальную форму), а также исследуются основные характеристики баз данных OLTP и OLAP. Кроме этих важных тем, в этой главе много внимания уделено описанию применения ограничений в нормализованной базе данных и рассмотрению примеров их применения.



Наиболее важные сведения о нормализации

Прежде всего следует отметить, что количество теоретически обоснованных нормальных форм равно шести (хотя дискуссия по вопросу о том, решена ли окончательно проблема обоснования обш;его количества нормальных форм, еще не закончилась). Тем не менее широкое применение на практике находят далеко не все нормальные формы, возможность существования которых установлена теоретически. Многие специалисты-практики рассматривают в качестве полностью нормализованной такую базу данных, нормализация которой проведена вплоть до третьей нормальной формы. И действительно, во многих случаях структура исходных данных такова, что просто невозможно провести нормализацию базы данных свыше третьей нормальной формы (но нельзя забывать, что так бывает не всегда).

Следует отметить, что нормализация относится к числу наиболее часто упоминаемых и вместе с тем неправильно трактуемых понятий в программировании. Каждый разработчик программного обеспечения баз данных считает себя полностью освоившим принципы нормализации, притом что действительно многие разбираются в этом вопросе, по крайней мере теоретически. Но, к сожалению, часто на этом так все и заканчивается. Изучение основных метюдов нормализации становится для некоторых проектировщиков лишь показателем того, что они действительно могут претендовать на звание архитектора базы данных. Однако подобные специалисты тюлько упоминают нормальные формы в своих устных заявлениях, но не иепользуют их на практике На самом деле нужно не рассуждать о необходимости нормализации, а применять ее как один из этапов создания проекта базы данных. Иногда необходимо провести процесс нормализации данных до максимально возможной степени, а в других условиях более оправданным становится решение преднамеренно денормализовать часть данных. К тому же в ходе осуществления самого процесса нормализации частю можно достичь намечентшй цели создания нормализованной базы данных несколькими разными способами.

По мнению автора, нормализацию следует рассматривать не иначе как один из теоретически обоснованных подходов к усовершенствованию структуры базы данных. Решение о том, следует ли применять тот или иной метод нормализации, должно приниматься с учетом возможности создания на основе принципов нормализации такого проекта базы данных, который окажется полностью приемлемым с точки зрения практики. Не нужно слепо верить приведенным в книгах (в то числе и в этой) бесспорным рекомендациям, касающимся того, что следует делать в той или другой ситуации; поступайте так, как диктует ситуация, в которой вы находитесь. Книга позволяет автору лишь донести свои знания до читателя, но не дает возможности показать, как эти знания должны применяться в действительности (во всяком случае, это невозможно показать на бумаге). Вы должны сами достичь глубокого понимания основных понятий нормализации и на этой основе неуклонно добиваться намеченной цели создания наиболее подходящего проекта базы данных.

В предьщущих главах рассматривались способы создания первичных ключей и были приведены некоторые соображения в пользу их применения в таблицах. В частности, первичные ключи позволяют однозначно идентифицировать каждую строку.



1 ... 63 64 65 [ 66 ] 67 68 69 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика