logo search
Программа ГЭ_спец_2012 ответы light

Раздел 5. Базы данных

  1. Реляционный подход к организации баз данных: фундаментальные свойства отношений, реляционная модель данных, реляционная алгебра, реляционное исчисление, проектирование реляционных баз данных с использованием нормализа­ции, семантическое моделирование данных, ER-диаграммы.

Фундаментальные свойства отношений

1. Отсутствие кортежей-дубликатов

Следует из определения отношения как множества кортежей (каждое множество состоит из различных элементов).

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

2. Отсутствие упорядоченности кортежей

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

3. Отсутствие упорядоченности атрибутов

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

4. Атомарность значений атрибутов

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

Реляционная модель данных

Модель данных описывает некоторый набор родовых понятий и признаков, которыми должны обладать все конкретные СУБД и управляемые ими базы данных.

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

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

Понятия структурной составляющей реляционной модели:

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования.

Понятие домена как допустимого потенциального множества значений данного типа.

Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа)}. Степень или "арность" схемы отношения - мощность этого множества.

Схема БД - это набор именованных схем отношений.

Кортеж- это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных).

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

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

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

Реляционная алгебра

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

В состав теоретико-множественных операций входят операции:

объединения отношений(отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов.);

пересечения отношений(отношение, включающее все кортежи, входящие в оба отношения-операнда);

взятия разности отношений(включает все кортежи, входящие в отношение - первый операнд, такие, что ни один из них не входит в отношение, являющееся вторым операндом);

прямого произведения отношений(отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов).

Специальные реляционные операции включают:

ограничение отношения(отношение, включающее кортежи отношения-операнда, удовлетворяющее заданному условию)

проекцию отношения(отношение, кортежи которого производятся путем взятия соответствующих значений из кортежей отношения-операнда);

соединение отношений(образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений и удовлетворяют заданному условию);

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

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

Реляционное исчисление

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

Проектирование реляционных баз данных с использованием нормализации

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

первая нормальная форма (1NF);

вторая нормальная форма (2NF);

третья нормальная форма (3NF);

нормальная форма Бойса-Кодда (BCNF);

четвертая нормальная форма (4NF);

пятая нормальная форма (5NF).

Основные свойства нормальных форм:

каждая следующая нормальная форма в некотором смысле лучше предыдущей;

при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

Отношение находится в 1НФ если значения всех атрибутов отношения атомарные.

Отношение находится во 2НФ, когда находится в 1НФ, и каждый неключевой атрибут полностью зависит от первичного ключа.

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

Отношение R находится в нормальной форме Бойса-Кодда (BCNF), если каждый детерминант является возможным ключом.

Отношение R находится в четвертой нормальной форме (4NF), если в случае существования многозначной зависимости A -> -> B все остальные атрибуты R функционально зависят от A.

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

Семантическое моделирование данных

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

Переход от семантической модели к реляционной может производится:

Вручную(процесс выполняется под управлением методик, в которых достаточно четко оговорены все этапы такого преобразования);

Автоматизированная компиляция(известны два подхода: на основе явного представления семантической модели как исходной информации для компилятора и построения интегрированных систем проектирования с автоматизированным созданием семантической модели на основе интервью с экспертами предметной области);

Работа с базой данных в семантической модели, т.е. СУБД, основанные на семантических моделях данных

Семантическая модель данных - модель "Сущность-Связи"( ER-диаграммы)

Основными понятиями являются: сущность, связь и атрибут.

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

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

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

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