Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Проектирование реализации



 

 

 Структура процесса концептуального проектирования

 

КОНТРОЛЬНЫЕ ВОПРОСЫ ПО РАЗДЕЛУ «Реляционная модель данных»

1. Дайте определение базовым понятиям реляционной модели: домен, кортеж, отношение, схема отношения, схема базы данных.

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

Отношением называется произвольное конечное подмножество декартова произведения одного или нескольких доменов.

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

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

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

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

 

2. Каковы пользовательские представления понятиям схемы отношения и экземпляра отношения.

схему отношения можно ассоциировать с пустой таблицей (то есть с ее заголовком), а экземпляр схемы – с заполненной таблицей, отображающей состояние отношения в текущий момент времени, причем строками заполненной таблицы являются кортежи отношения-экземпляра, а имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея в виду «атрибут отношения». Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД

 

3. Перечислите свойства отношений.

Фундаментальные свойства отношений (таблиц). Определенные таким образом таблицы обладают следующими свойствами:

1. Однородность столбцов. Для всех столбцов таблицы выполняется следующее требование: элементы столбца принимают значения на одном домене.

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

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

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

 

Рис.13. Базовые понятия реляционной модели и соотношения между ними  

 

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

 

4. Сформулируйте понятие функциональной зависимости. Определите 1НФ, 2НФ и 3НФ представления реляционной модели.

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

С практической точки зрения, достаточно трех первых форм - следует учитывать время, необходимое системе для «соединения» таблиц при отображении их на экране. Поэтому мы ограничимся изучением процесса приведения отношений к первым трем формам.

Этот процесс включает:

· устранение повторяющихся групп (приведение к 1НФ)

· удаление частично зависимых атрибутов (приведение к 2НФ)

· удаление транзитивно зависимых атрибутов (приведение к 3НФ).

 

Первая нормальная форма

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

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

Пример. Пусть задано следующее отношение R1:

R1

 

 


Очевидно, что в схеме R1 все атрибуты, кроме атрибута Дети, простые.

Замечание . Здесь и далее жирным шрифтом в примерах схем отношений выделяются первичные ключи.

Отношение называется нормализованным или приведенным к первой нормальной форме (1НФ), если все его атрибуты являются атомарными (простыми); другими словами, если на пересечении строки и столбца находится значение только одного элемента данных. Преобразование ненормализованной формы в 1НФ осуществляется, как правило, увеличением размера отношения и изменению его первичного ключа. После приведения к 1НФ отношение R1 принимает следующий вид:

R2

Таб_номер Имя_ребенка Возраст_ребенка Фио Оклад Комната Телефон
211 211 211 Саша Женя Лена 10 7 3 Иванов Л.А Иванов Л.А Иванов Л.А 1500 1500 1500 12 12 12 616 616 616

 

Очевидно, что в нормализованном отношении R2 все неключевые атрибуты функционально зависят от ключа.

Замечание . При определении первичного ключа в отношении R2 предполагается, что в семье нет детей с одинаковым именем, в противном случае в состав ключа необходимо было бы включить атрибут Возраст_ребенка (вероятность одинакового имени у близнецов при нормальных родителях равна нулю).


Вторая нормальная форма

Говорят, что неключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа. Очевидно, что в отношении R2 атрибуты ФИО, Оклад, Комната, Телефон не находятся в полной функциональной зависимости от ключа отношения, поскольку они функционально зависят от части ключа Таб_номер. Наличие неполной функциональной зависимости приводит к высокой степени дублирования информации в отношении, а следовательно, к необходимости при изменении значения атрибута, (например, Оклад) вносить изменения в большое количество записей. Более того, данные о сотрудниках, не имеющих детей, естественным образом в отношение включены быть не могут. Таким образом, для отношения, находящегося в 1НФ, могут потребоваться дальнейшие преобразования.

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

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

Для искомого приведения 1НФ во 2НФ необходимо:

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

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

Для нашего примера отношение R2 должно быть преобразовано в два отношения R3 и R4, оба находящиеся во 2НФ:

R3

Таб_номер Имя_ребенка Возраст_ребенка
211 211 211 Саша Женя Лена 10 7 3

 

R4

Таб_номер Фио Оклад Комната Телефон
211 Иванов Л.А. 1500 12 616

 

Третья нормальная форма

Пусть X, Y, и Z – три атрибута некоторого отношения. При этом

Y X.  
Z Y
X → Y  и Y → Z ,

но обратное соответствие отсутствует, то есть                  или                Тогда говорят, что Z транзитивно зависит от X. Например, в отношении R4 транзитивной является зависимость

Таб_номер → Комната  → Телефон

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

Говорят, что отношение находится в третьей нормальной форме (3НФ), если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от ключевого атрибута.

Для преобразования 2НФ в 3НФ необходимо построить несколько проекций. Для нашего примера отношение R4 должно быть приведено к двум отношениям R5 и R6:

 

R5

Таб_номер Фио Оклад Комната
211 Иванов Л.А. 1500 12

 

R6

Комната Телефон
12 616

 

процессе приведения отношений в 2НФ и 3НФ число отношений в схеме БД увеличивается. Однако, всегда сохраняется возможность получить исходные отношения, используя операции соединения. С другой стороны, появление новых отношений порождает проблемы поддержания семантической целостности.

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

5. В чем отличие в использовании аппарата реляционной алгебры и аппарата реляционного исчисления.

структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение.

Целостная компонента была рассмотрена в предыдущем пункте.

В манипуляционной составляющей реляционной модели определяются два базовых механизма манипулирования реляционными данными:

1. Основанная на теории множеств реляционная алгебра.

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

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

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

 

6. Опишите набор традиционных операций над множествами как операций реляционной алгебры.

 


Поделиться:



Последнее изменение этой страницы: 2019-03-31; Просмотров: 421; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.035 с.)
Главная | Случайная страница | Обратная связь