Что такое универсальное отношение баз данных

Универсальные отношения

Дата добавления: 2013-12-23 ; просмотров: 3066 ; Нарушение авторских прав

Отношение, которое включает в себя все атрибуты и содержащее все данные, предполагаемые хранить в БД, называется универсальным отношением.

Для небольших БД универсальное отношение может использоваться в качестве основного пункта при проектировании БД.

Предположим, что требуется разработать БД для начальника отдела.

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

Сном номер сотрудника (целое значение, уникальное),

Сфам фамилия сотрудника (строковое значение),

Лном номер лаборатории, в которой трудится данный сотрудник,

Тном рабочий телефон сотрудника,

Проект номер проекта, в разработке которого участвует сотрудник,

Квартал период времени, в течение которого сотрудник участвовал в разработке проекта,

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

Второй шаг – составление таблицы по предварительно записанному набору атрибутов.

СномСфамТномЛномПроектКварталВклад
Иванов5-1725АПРКТ141990.3
Зенит1990.3
ВКТ141990.4
ВТА21990.4
Николаев8-294КТВКТ141990.3
ВТА81990.4
ВКТ141990.4
Андреев5-1725АМЗенит1990.3
ОТР61990.4
ВКТ141990.4
Зайцев4-8514ММОВ771990.3

Хотя данные связаны в таблицу 6.11, она не может быть использована в реляционных базах данных, т.к. строки её содержат вектора значений атрибутов, что недопустимо для отношений. Такую таблицу, однако, очень легко преобразовать в отношение путем декомпозиции.

СномСфамТномЛномПроектКварталВклад
Иванов5-1725АПРКТ141990.3
Иванов5-1725АПЗенит1990.3
Иванов5-1725АПВКТ141990.4
Иванов5-1725АПВТА21990.4
Николаев8-294КТВКТ141990.3
Николаев8-294КТВТА81990.4
Николаев8-294КТВКТ141990.4
Андреев5-1725АПЗенит1990.3
Андреев5-1725АПОТР61990.4
Андреев5-1725АПВКТ141990.4
Зайцев4-8514ММОВ771990.3

В таблице 6.12 первичным ключом является значение трех полей Сном-Проект-Квартал. Полученная таблица – экземпляр правильного отношения.

Источник

Универсальное отношение

Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных

Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных

Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных

Рассмотрим задачу проектирования БД на базе следующей таблицы:

Таблица «Сессия»

ФИО студентаСеместрДисциплинаФорма отчетностиОценкаКоличество часовФИО преподавателяДолжность
Иванов В.П.Английский языкЗачетЦветкова А.Ю.Доцент
Математический анализЗачетРыбин К.К.Ст. преп.
Математический анализЭкзаменРаков И.И.Проф.
ПрограммированиеЗачетНезабудкина З.П.Преп.
ПрограммированиеЭкзаменЗайчиков А.А.Доцент
Линейная алгебраЗачетВолков Г.И.Преп.
Линейная алгебраЭкзаменВолков Г.И.Преп.

ФИО студентаСеместрДисциплинаФорма отчетностиОценкаКоличество часовФИО преподавателяДолжность
Петрова А.П.Английский языкЗачетЦветкова А.Ю.Доцент
Математический анализЗачетРыбин К.К.Ст. преп.
Математический анализЭкзаменРаков И.И.Проф.
ПрограммированиеЗачетНезабудкина З.П.Преп.
ПрограммированиеЭкзаменЗайчиков А.А.Доцент
Линейная алгебраЗачетВолков Г.И.Преп.
Линейная алгебраЭкзаменВолков Г.И.Преп.

Шкала оценок: 0 – незачет, 1 – зачет, 2, 3, 4, 5 – оценки.

Этот вариант таблицы «Сессия» не является отношением, т.к. большинство ее столбцов не атомарны. Значение любого атрибута реляционной таблицы является атомарным, если само это значение, в свою очередь, не является реляционной таблицей (отношением). Атомарными являются значения столбцов ФИО СТУДЕНТА, СЕМЕСТР. Остальные столбцы таблицы – множественные.

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

Для преобразования данных в отношение необходимо реконструировать таблицу, например, с помощью процесса вставки. Результат имеет вид:

Универсальное отношение «СЕССИЯ»

ФИО студентаСеместрДисциплинаФорма отчетностиОценкаКоличество часовФИО преподавателяДолжность
Иванов В.П.Английский языкЗачетЦветкова А.Ю.Доцент
Иванов В.П.Математический анализЗачетРыбин К.К.Ст. преп.
Иванов В.П.Математический анализЭкзаменРаков И.И.Проф.
Иванов В.П.ПрограммированиеЗачетНезабудкина З.П.Преп.
Иванов В.П.ПрограммированиеЭкзаменЗайчиков А.А.Доцент
Иванов В.П.Линейная алгебраЗачетВолков Г.И.Преп.
Иванов В.П.Линейная алгебраЭкзаменВолков Г.И.Преп.
Петрова А.П.Английский языкЗачетЦветкова А.Ю.Доцент
Петрова А.П.Математический анализЗачетРыбин К.К.Ст. преп.
Петрова А.П.Математический анализЭкзаменРаков И.И.Проф.
Петрова А.П.ПрограммированиеЗачетНезабудкина З.П.Преп.
Петрова А.П.ПрограммированиеЭкзаменЗайчиков А.А.Доцент
Петрова А.П.Линейная алгебраЗачетВолков Г.И.Преп.
Петрова А.П.Линейная алгебраЭкзаменВолков Г.И.Преп.

Такое преобразование приводит к возникновению большого объема избыточных данных. Но полученную таблицу называют универсальным отношением проектируемой БД. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД. При проектировании БД универсальное отношение используется в качестве отправной точки.

Однако при использовании универсального отношения возникают следующие проблемы:

1. Избыточность данных. Значения столбцов таблицы многократно повторяются. Повторяются также и некоторые наборы значений столбцов, например, данные о дисциплине.

2. Потенциальная противоречивость. Если при вводе данных, например, количества часов для дисциплины АНГЛИЙСКИЙ ЯЗЫК, была допущена ошибка, то для ее исправления необходимо найти все строки, содержащие сведения об этой дисциплине, и во всех этих строках произвести изменения. Также при заполнении такой таблицы могут быть использованы различные формы записи одного и того же значения, например: АНГЛ. ЯЗЫК и АНГЛИЙСКИЙ ЯЗЫК, МАТ. АНАЛИЗ и МАТЕМАТИЧЕСКИЙ АНАЛИЗ.

Что такое универсальное отношение баз данных. Смотреть фото Что такое универсальное отношение баз данных. Смотреть картинку Что такое универсальное отношение баз данных. Картинка про Что такое универсальное отношение баз данных. Фото Что такое универсальное отношение баз данных

3. Аномалии модификации:

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

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

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

Решение этих проблем состоит в разделении данных и связей (или декомпозиции), т.е. в выделении в отдельные таблицы сведений о студентах, преподавателях, дисциплинах и результатах сдачи экзаменов:

СтудентыПреподавателиДисциплины
ФИО студентаФИО преподавателяДисциплина
1.Иванов В.П.1.Волков Г.И.1.Алгоритмы и структуры данных
2.Петрова А.П.2.Зайчиков А.А.2.Английский язык
3.Сидоров К.К.3.Карпов К.Ю.3.Линейная алгебра
4.Незабудкина З.П.4.Математический анализ
5.Раков И.И.5.Операционные системы, среды и оболочки
6.Рыбин К.К.6.Программирование
7.Соболев И.Г.7.Теория вероятности и математическая статистика
8.Цветкова А.Ю.
Учебный план
ДисциплинаСеместрКоличество часовФорма отчетностиПреподавательДолжность
зачетЦветкова А.Ю.Доцент
зачетВолков Г.И.Преп.
экзаменВолков Г.И.Преп.
зачетРыбин К.К.Ст. преп.
экзаменРаков И.И.Проф.
зачетНезабудкина З.П.Преп.
экзаменЗайчиков А.А.Доцент
зачетЦветкова А.Ю.Доцент
зачетКарпов К.Ю.Преп.
экзаменРаков И.И.Проф.
экзаменЗайчиков А.А.Доцент
экзаменСоболев И.Г.Доцент
зачетНезабудкина З.П.Преп.
экзаменНезабудкина З.П.Преп.

Результаты сессии
СтудентУчебный планОценка

В таблицах РЕЗУЛЬТАТЫ СЕССИИ и УЧЕБНЫЙ ПЛАН конкретные значения заменены на их номера в других таблицах. Это значительно упрощает процедуру модификации текстовых значений.

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

После применения правил нормализации логические группы данных располагаются не более чем в одной таблице. Это дает следующие преимущества:

— данные легко обновлять или удалять;

— исключается возможность рассогласования копий данных;

— уменьшается возможность введения некорректных данных.

Источник

Аномалии БД

Автор: Пользователь скрыл имя, 17 Июня 2012 в 05:01, доклад

Описание работы

Данные могут группироваться в отношения разными способами. При проектировании БД в качестве отправной точки может использоваться одно универсальное отношение.

Работа содержит 1 файл

Аномалии.docx

Данные могут группироваться в отношения разными способами. При проектировании БД в качестве отправной точки может использоваться одно универсальное отношение. Универсальное отношение – это отношение, в которое включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД.

Пример. Отношение «Сотрудник»

Номер сотрудникаФИО сотрудникаДолжностьНомер отделаНаименование отделаКвалификация сотрудника
325Иванов И.И.Программист128Отдел проектированияC#, VB
567Сергеева С.С.Администратор БД42Финансовый отделDB2
225Петров П.П.Программист128Отдел проектированияJava, VB
976Николаев Н.Н.Системный администратор128Отдел проектированияWindows, Lunix

При использовании универсального отношения возникают две проблемы:

Под избыточностью понимают дублирование данных в разных кортежах (строках) отношения БД.

Избыточность данных в БД ведет к увеличению объема памяти, необходимого для физического хранения отношений.

При работе с отношениями, содержащими избыточные данные, могут возникнуть проблемы, которые называются аномалиями обновления.

Различают три вида аномалий в базе данных:

Аномалии включения проявляются при вводе новых данных в отношение с избыточностью данных.

Рассмотрим аномалию включения на примере отношения «Сотрудник». Аномалия включения возникает при попытке создать «отдел внедрения разработок» и ввести ее в отношение при том условии, что в нее еще не переведен ни один сотрудник. Ввод такой информации в подобной ситуации требует присвоения значения NULL всем атрибутам описания сотрудника, в том числе и атрибуту Номер сотрудника, который является первичным ключом данного отношения. Но реализация такой попытки приведет к нарушению целостности, а значит, система ее обязана отклонить.

Принцип аномалии удаления состоит в том, что при удалении некоторых данных из отношения может произойти потеря других данных.

Например, вернемся к анализу отношения «Сотрудник». Предположим, что все сотрудники отдела 128 уволились в один и тот же день. После удаления кортежей этих сотрудников в БД больше не будет ни одной записи, содержащей информацию об отделе 128. Такая ситуация представляет собой аномалию удаления.

Рассмотрим пример с поставщиками и поставками деталей. Предположим, что нам требуется хранить информацию о наименовании поставщиков, наименовании и количестве поставляемых ими деталей, причем каждый поставщик может поставлять несколько деталей и каждая деталь может поставляться несколькими поставщиками. Можно предложить хранить данные в следующем отношении:

Предположим, например Петров, временно прекратил поставки деталей? Если мы удалим все кортежи, в которых хранится информация о поставках этого поставщика, то мы потеряем данные о самом Петрове как потенциальном поставщике. Выйти из этого положения, оставив в отношении кортеж типа (2, Петров, NULL, NULL, NULL) мы не можем, т.к. атрибут «Номер детали» входит в состав потенциального ключа и не может содержать null-значений. То же самое произойдет, если некоторая деталь временно не поставляется никаким поставщиком. Получается, что мы не можем хранить информацию о том, что есть некий поставщик, если он не поставляет хотя бы одну деталь, и не можем хранить информацию о том, что есть некоторая деталь, если она никем не поставляется.

Аномалии модификации проявляются при изменении данных в отношении с избыточностью данных.

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

Что произойдет, если изменилось наименование поставщика? Т.к. наименование поставщика повторяется во многих кортежах отношения, то это наименование нужно одновременно изменить во всех кортежах, где оно встречается, иначе данные станут противоречивыми. То же самое с наименованиями деталей. Значит, данные хранятся в нашем отношении с большой избыточностью.

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

Процесс декомпозиции следует всегда начинать со следующих операций:

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

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

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

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

Источник

Цели проектирования БД и универсальное отношение. Нормализация, функциональные и многозначные зависимости

Все БД разделяются на 2 вида: 1)прикладные- объединяют все данные необходимые для решения одной или нескольких прикладных задач. 2)предметные-объединяют все данные относящиеся к какой либо предметной области. Основная цель проектирования БД – это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте в том числе исключение потенциальных ошибок ввода одной и той же информации в разные поля. Так называемый, «чистый» проект БД («Каждый факт в одном месте») можно создать, используя методологию нормализации отношений

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

Может быть, для проектирования БД достаточно универсальное отношение и не стоит разбивать его на более мелкие таблицы. Разбивать надо, т.к. при использовании универсального отношения возникают следующие проблемы.

1. Избыточность. Данные практически всех столбцов многократно повторяются.

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

3. Аномалии включения. В БД не может быть записан новый поставщик, если поставляемый им продукт не используется ни в одном блюде.

4. Аномалии удаления. Обратная проблема возникает при необходимости удаления всех продуктов, поставляемых данным поставщиком или всех блюд, использующих эти продукты. При таких удалениях будут утрачены сведения о таком поставщике.

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

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

каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной. Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме, сокращенно 1НФ. Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные.

69. Нормальные формы

Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто (1НФ не соответствует только таблица Рис. 1)

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом (2НФ не соответствует таблицыРис. 1 и Рис. 2)

Таблица находится в третьей нормальной форме или форме Бойса-Кодда (3НФ или НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа (Таблицы Блюда и Продукты, Рис. 3 находятся в 3НФ)

Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ.

Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций. Весьма не просто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *