Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
К сожалению, на практике часто случается так, что реализация макета на физическом уровне может оказать существенное обратное влияние на логический макет.
При создании макета данных в не реляционной системе следует, прежде всего, создать реляционный макет, а затем на отдельном следующим этапе отобразить этот реляционный макет на любые не реляционные структуры (например, иерархии), поддерживаемые в СУБД.
В области создания баз данных разработано большое число методологий проектирования. Все они специализированные и предназначены для решения именно той проблемы, которая считалась неразрешимой к моменту создания данной конкретной методики.
Объединяет их то, что база данных проектировалась отдельно от приложений. Независимость от приложения желательна потому, что обычно в момент проектирования базы данных не известны все возможные способы использования данных. То есть, необходимо, чтобы макет базы данных был стабильным.
Следуя этим допущениям лучше создать концептуальную схему, то есть абстрактный логический макет, не зависящий от аппаратного обеспечения, операционной системы, СУБД, языка программирования, пользователя и так далее.
Важным моментом проектирования базы данных является нормализация.
Нормализация – это то, как вы реализуете взаимоотношения и хранимые данные в таблицах вашей базы данных. При нормализации таблицы вы стараетесь ограничить количество повторяющихся в ней данных. Нормализация – это набор критериев, которыми стоит руководствоваться при проектировании реляционных баз данных.
Контрольные вопросы
1. Дайте определение понятию нормализация
2. Как осуществляется поддержание целостности данных на этапе проектирования?
1.9 Нормализация таблиц и ее необходимость
При проектировании структуры базы данных заказчик часто предоставляет разработчику описание используемых форм и бланков, существующих в бумажном виде. При простом переносе бумажных форм в таблицы базы данных неизбежно возникнет ряд проблем. Практически для всех таблиц важны проблемы добавления изменения и удаления данных.
Нормализация таблиц — это формальный аппарат ограничений на формирование таблиц, описывающий разбиение таблиц на две или более частей и обеспечивающий создание лучших методов добавления, изменения и удаления данных. Нормализация позволяет устранить дублирование, обеспечивает непротиворечивость хранимых данных и уменьшает трудозатраты на ввод и изменение данных. Окончательной целью нормализации является получение такого проекта базы данных, в котором любая часть информации хранится лишь в одном месте, то есть, исключается избыточность информации. Это делается не столько с целью экономии места (в некоторых случаях нормализованные таблицы занимают больше места, чем ненормализованные), сколько для исключения возможности противоречий в хранимых данных. Если исходить из структуры данных, то нормализацией называется процесс превращения сетевой или иерархической структуры данных в реляционную модель.
Внешне операции нормализации выглядят достаточно просто, но при практической реализации возникают определенные трудности, так как даже для простых таблиц часто приходится поправлять состав колонок.
Таблица считается нормализованной на определенном уровне, если она удовлетворяет условиям, накладываемым соответствующей формой нормализации. Процесс нормализации представляет собой последовательное изменение структур таблиц до тех пор, пока она не будет удовлетворять требованиям последней формы нормализации. Всего существует шесть форм нормализации:
- первая нормальная форма (First Normal Form — 1NF);
- вторая нормальная форма (Second Normal Form — 2NF);
- третья нормальная форма (Third Normal Form — 3NF);
- нормальная форма Бойса—Кодда (B—Codd Normal Form — BCNF);
- четвертая нормальная форма (Fourth Normal Form — 4NF);
- пятая нормальная форма, или нормальная форма проекции-соединения 5NF, или PJ/NF).
На практике чаще всего используются первые три формы нормализации, обеспечивающие достаточный уровень нормализации и в то же время легко реализуемые на практике. При приведении к последней, пятой нормальной форме таблица считается полностью нормализованной. Использование последних трех форм оправдано только в том случае, если таблица имеет несколько десятков колонок, так как полная нормализация таблиц достаточно затруднительна и требует значительных усилий.
При описании нормальных форм используются несколько понятий:
- функциональной зависимостью между полями А и В называется зависимость, при которой каждому значению А в любой момент времени соответствует единственное значение В из всех возможных;
- полной функциональной зависимостью между составным полем А и полем В называется зависимость, при которой поле В зависит функционально от поля А и не зависит функционально от любого подмножества поля А;
- транзитивная функциональная зависимость между полями А и С наблюдается в том случае, если поле В функционально зависит от поля А и поле С функционально зависит от В. В то же время, обратная зависимость отсутствует;
- несколько полей взаимно независимы, если ни одно из них не является функционально зависимым от другого поля;
- неключевым полем таблицы называется каждое поле, не входящее в состав первичного ключа.
Первая нормальная форма
Таблица находится в первой нормальной форме тогда и только тогда, когда ни одно поле строки не содержит более одного значения и любое ключевое поле не пусто.
Первая нормальная форма является основой реляционной модели данных. Любая таблица в реляционной базе данных автоматически находится в первой нормальной форме, иное просто невозможно по определению. Любой домен, а, следовательно, и колонка состоит из множества атомарных значений, которые не могут быть разложены на более мелкие составляющие.
Таблица, находящаяся в первой нормальной форме, обладает рядом недостатков.
Добавление новых данных требует ввода значений для всех колонок, даже если в таблице уже существуют необходимые данные. Налицо избыточность данных. Рано или поздно при вводе дублирующихся данных будет допущена ошибка, что приведет к возникновению двух различных значений.
Нельзя также добавить информацию ранее, чем она понадобится.
Чтобы избежать проблем, необходимо привести таблицу ко второй или третьей нормальной форме.
Вторая нормальная форма
Таблица находится во второй нормальной форме, если она удовлетворяет требованиям первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Если таблица имеет простой первичный ключ, состоящий только из одной колонки, то она автоматически находится во второй нормальной форме. Если же первичный ключ составной, то таблица необязательно находится во второй нормальной форме и тогда необходимо разделить ее на две или более таблиц таким образом, чтобы первичный ключ однозначно идентифицировал значение любой колонки. Если в таблице имеется хотя бы одно поле, не зависящее от первичного ключа, то в первичный ключ необходимо включить дополнительные колонки. Если таких колонок нет, то необходимо добавить новую колонку.
Простое разбиение таблицы на несколько более мелких таблиц может привести к потере логической целостности данных. Необходимо предусмотреть создание дополнительных колонок, которые могут быть использованы в качестве первичного ключа в каждой таблице. Используя этот ключ, можно будет легко связывать данные, расположенные в разных таблицах.
Приведение таблицы ко второй нормальной форме позволяет избежать повторения одних и тех же данных, появившегося после приведения таблицы к первой нормальной форме.
Третья нормальная форма
Таблица находится в третьей нормальной форме, если она удовлетворяет определению второй нормальной формы и ни одно из ее неключевых полей не зависит функционально от любого другого не ключевого поля.
Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме и каждое не ключевое поле нетранзитивно зависит от первичного ключа. Под «нетранзитивной зависимостью» подразумевается отсутствие какой-либо взаимной зависимости.
Нормальная форма Бойса—Кодда
Таблица находится в нормальной форме Бойса—Кодда только в том случае, если любая функциональная зависимость между ее полями сводится к полнофункциональной зависимости от возможного ключа.
Четвертая нормальная форма
Для определения четвертой нормальной формы необходимо ввести дополнительные определения.
Полной декомпозицией таблицы называют такую совокупность произвольного числа ее проекций, соединение которых полностью совпадает с содержимым таблицы.
Четвертая нормальная форма является частным случаем пятой нормальной формы, когда полная декомпозиция должна быть соединением ровно двух проекций. Очень трудно найти такую таблицу, чтобы она находилась в четвертой нормальной форме, но не удовлетворяла определению пятой нормальной формы.
Пятая нормальная форма
Таблица находится в пятой нормальной форме тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в пятой нормальной форме.
Контрольные вопросы
1. Когда таблица считается нормализованной?
2. Назовите способы приведения таблицы ко 2НФ.
1.10 Краткая характеристика моделей БД
Модель данных включает в себя структуры данных, операции их обработки и ограничения целостности. С помощью модели данных можно наглядно представить структуру объектов и установленные между ними связи. Элемент данных описывает любой набор данных, а правила связывания определяют алгоритмы взаимосвязи элементов данных.
На практике используются три основных модели:
Иерархическая модель данных. Иерархическая модель данных, как следует из названия, имеет иерархическую структуру, то есть каждый из элементов связан только с одним вышестоящим элементом, но в то же время на него могут ссылаться один или несколько нижестоящих элементов. В терминологии иерархической модели используются более конкретные понятия, чем элемент данных и правила связывания, - это «элемент» (узел), «уровень» и «связь». Узел чаще всего представляет собой набор атрибутов, описывающих некоторый объект, хотя, в принципе, это может быть любой набор данных, имеющий какой-то ключевой атрибут. Иерархическая модель схематически изображается в виде графа, где каждый узел является вершиной. Эта модель представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Иерархическое дерево имеет единственную вершину, не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Число вершин первого уровня определяет количество деревьев в базе данных.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |


