9. Схема отношения и схема реляционной базы данных.
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}. Степень или «арность» схемы отношения – мощность этого множества. Степень отношения Sotrudniki равна четырем, то есть оно является 4-арным.Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута). Если все атрибуты одного отношения определены на разных доме-нах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута). Если в данной СУБД понятие домена не используется, то схема отношения – это список имен атрибутов. В нашем примере это строка:Nomer_propuska Fio Zarplata Nomer_otdela.Схема БД (в структурном смысле) - это набор именованных схем отношений.
33. Метод нормальных форм – классический метод проектирования БД. Функциональная зависимость между атрибутами. Виды функциональных зависимостей.
Метод нормальных форм основан на фундаментальном в теории реляционных БД понятии зависимости между атри-бутами отношений. Атрибут B функцио-нально зависит от атрибута A, если каждому значению атрибута A соот-ветствует в точности одно значение атрибута B. Обозначение: A B. Атрибуты A и B могут быть состав-ными, то есть состоять из двух и более атрибутов. •Атрибут C зависит от атрибута A транзитивно, если существует атрибут B такой, что если A B и B C, то A C. Обозначают: A B C. В некотором отно-шении атрибут B многозначно зави-сит от атрибута A, если каждому зна-чению атрибута A соответствует мно-жество значений атрибута B, не свя-занных с другими атрибутами из дан-ного отношения. Многозначные зави-симости могут быть вида 1:M, M:1 и M:M. Обозначения соответственно: A B, A B, A B. Функциональная зависимость может быть частичной, когда неключевой атрибут за-висит от части составного ключа. Зависи-мость между атрибутами может быть вза-имно однозначной, то есть вида 1:1 (AB). Выделяют также взаимно незави-симые атрибуты
10. Отсутствие кортежей –дубликатов. Понятие первичного ключа, его использование в реляционных базах данных.
Всякое отношения не содержат кортежей-дубликатов, следует из определения отношения как множества кортежей. В классической теории множеств по определению каждое множество состоит из различных элементов. Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения, по край-ней мере, полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его «минимальности», то есть в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства - однозначно определять кортеж.
Ключи обычно используют для достижения следующих целей:
- исключение дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются);
- упорядочение кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атри-бутов, а также смешанное упорядочение (по одним - возрастание, по другим – убывание);
- ускорение работы с кортежами отношения;
- организация связывания таблиц.
34. Явная и неявная избыточность в БД. Общие сведения о нормальных формах.
Иногда отношения содержат избы-точное дублирование данных, которое является причиной аномалий редакти-рования. Различают избыточность явную и неявную. Например, в отношении «Препода-ватель» кортежи с данными о пре-подавателе, проводящему занятия в нескольких группах, могут повторяться несколько раз. Поэтому, если у этого преподавателя изменится значение какого-то атрибута, то этот факт должен быть отражен во всех кортежах, где он задействован. В противном случае будет иметь место противоречие в данных, что является примером аномалии редактирования, обусловленной явной избыточностью данных. Неявная избыточность в отношении «Преподаватель» может проявиться в одинаковых окладах у всех препода-вателей и в одинаковых надбавках к окладу за одинаковую должность. Действительно, если изменятся оклады за должность у всех преподавателей, кроме одного, то БД станет противоречивой. Нормализация отношений и является как раз средством исключения избыточности. Поскольку зависимость между атрибутами является причинной аномалией, стара-ются провести декомпозицию отношения с зависимостями атрибутов на несколько отношений. В результате образуется со-вокупность связанных отношений с раз-личными видами связей. Таким образом, связи между таблицами отражают зави-симости между атрибутами различных отношений. Каждая следующая нормальная форма (НФ) ограничивает определенный тип функциональных зависимостей, устра-няет соответствующие аномалии при выполнении операций над отношениями БД и сохраняет свойства предшест-вующих нормальных форм. Выделяют следующую последовательность нор-мальных форм: 1НФ, 2НФ, 3НФ, уси-ленная 3НФ или нормальная форма Бойса-Кодда (БКНФ), 4НФ и 5НФ.
11. Свойство отсутствия упорядоченности кортежей и атрибутов. Атомарность значений атрибутов.
Свойство отсутствия упорядоченности кортежей отношения также является следствием определения отношения-экземпляра как множества кортежей. Отсутствие требования к поддержанию порядка на множестве кортежей отношения дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных. Это не противоречит тому, что при формулировании запроса к БД, например, на языке SQL можно потребовать сортировки результирующей таблицы в соответствии со значениями некоторых столбцов. Такой результат, вообще говоря, не отношение, а некоторый упорядоченный список кортежей. Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть множество пар {имя атрибута, имя домена}. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута. Это свойство теоретически позволяет, например, модифицировать схемы существующих отношений не только путем добавления новых атрибутов, но и путем удаления существующих. Однако в большинстве существующих систем такая возможность не допускается, и хотя упорядоченность набора атрибутов отношения явно не требуется, часто в качестве неявного порядка атрибутов используется их порядок в линейной форме определения схемы отношения. Значения всех атрибутов являются атомарными. Это следует из определения домена как потенциального множества значений простого типа данных, то есть среди значений домена не могут содержаться множества значений (отношения). Принято говорить, что в реляционных базах данных допускаются только нормализованные отношения или отношения, представленные в первой нормальной форме.
35. Первая нормальная форма. Декомпозиция без потерь. Вторая нормальная форма.
Отношение R находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно было в 1НФ. Под декомпозицией без потерь или проецированием без потерь данного отношения понимается такой способ де-композиции этого отношения, при котором оно полностью и без избыточности восста-навливается путем естественного соеди-нения полученных отношений. Такая декомпозиция должна обеспечивать одинаковый результат запроса к исход-ному отношению и к отношениям, полу-чаемым в результате декомпозиции. Отношение R находится во 2НФ, ес-ли каждый его неключевой атрибут функционально полно зависит от составного первичного ключа. Для устранения частичной избыточ-ности и перевода отношения R во 2НФ необходимо, используя операцию про-екции, разложить его (то есть произ-вести операцию декомпозиции без по-терь) на несколько отношений следую-щим образом: •построить проекцию отношения R без атрибутов, находящихся в частичной функциональной зависи-мости от первичного ключа; •построить проекции на части сос-тавного первичного ключа и атри-буты, зависящие от этих частей.
12. Понятие реляционной модели данных. Структурная, манипуляционная и целостная части реляционной модели данных.
Когда в предыдущих разделах мы говорили об основных понятиях реляционных баз данных, мы не опирались на какую-либо конкретную реализацию. Эти рассуждения в равной степени относились к любой системе, при построении которой использовался реляционный подход. Другими словами, мы использовали понятия так называемой реляционной модели данных. Модель данных описывает некоторый набор родовых понятий и признаков, которыми должны обладать все конкретные СУБД и управляемые ими базы данных, если они основываются на этой модели. Наличие модели данных позволяет сравнивать конкретные реализации, используя один общий язык. Хотя понятие модели данных является общим, и можно говорить о иерархической, сетевой, некоторой семантической и т.д. моделях данных, нужно отметить, что это понятие было введено в обиход применительно к реляционным системам и наиболее эффективно используется именно в этом контексте. Наиболее распространенная трактовка реляционной модели данных, по-видимому, принадлежит К. Дж. Дейту, который воспроизводит ее (с различными уточнениями) практически во всех своих книгах. Согласно К. Дж. Дейту реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структур-ной части, манипуляционной части и целостной части. В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-ар-ное отношение. По сути дела, выше мы рассматривали именно понятия и свойства структурной составляющей реляционной модели.
36. Третья и третья усиленная нормальная форма.
Существует два равносильных опреде-ления 3НФ: Отношение R находится в 3НФ, если каждый его неключевой атрибут не-транзитивно зависит от первичного ключа. Отношение R находится в 3НФ в том и только в том случае, если все его неключевые атрибуты взаимно неза-висимы и полностью зависят от пер-вичного ключа. Отношение R находится в НФ Бойса-Кодда (БКНФ), если в нем отсутствуют зависимости клю-чей (атрибутов составного клю-ча) от неключевых атрибутов.
13. Целостность сущности и ссылок в реляционной модели..
В целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Объекту или сущности реального мира в реляционных БД соответствуют кортежи отношений. Конкретно требование состоит в том, чтобы любой кортеж любого отношения был отличим от любого другого кортежа этого отношения, то есть другими словами, любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Второе требование называется требованием целостности поссылкам и является более сложным. Очевидно, что при соблюдении нормализованности отношений сложные сущности реального мира представляются в реляционной БД в виде нескольких кортежей нескольких отношений. Значение атрибута в любом кортеже отношения должно соответствовать значению атрибута в некотором кортеже другого отношения. Атрибут такого рода называется внешним ключом, поскольку его значения однозначно характеризуют сущности, представленные кортежами некоторого другого отношения (то есть за-дают значения их первичного ключа). По другому внешний ключ можно определить так. Пусть в отношении имеется не ключевой атрибут a, значения которого являются значениями ключевого атрибута b другого отношения. Тогда атрибут a отношения является внешним ключом. Говорят, что от-ношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. С помощью внешних ключей устанавливаются связи между отношениями. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, дол-жен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа. С целостностью по ссылкам дела обстоят несколько более сложно. Понятно, что при обновлении ссылающегося отношения достаточно следить за тем, чтобы не появлялись не-корректные значения внешнего ключа. Наконец, третий подход состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи. В развитых реляционных СУБД обычно можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации определения внешнего ключа. Конечно, для принятия такого решения необходимо анализировать требования конкретной прикладной области. Поскольку не всякой таблице можно поставить в соответствие отношение, резюмируя рассмотренные свойства реляционной модели, приведем условия, выполнение которых позволяет таблицу считать отношением.
1. Все строки таблицы должны быть уникальны, то есть не может быть строк с одинаковыми первичными ключами.
2. Имена столбцов таблицы должны быть различны, а их значения простыми, то есть недопустима группа значений в одном столбце одной строки (свойство атомарности).
3. Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам (доменам) столбцов.
4. Порядок размещения строк в таблице может быть произвольным.
Чаще всего таблица с отношением размещается в отдельном файле. БД может содержать и несколько таблиц, объединенных смысловым со-держанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи.
37. Теорема Фейджина. Четвертая нормальная форма.
Переход к 4НФ основывается на теореме Фейджина: отношение R(A, B, C) можно спроецировать без потерь на отно-шения R1(A, B) и R2(A, C) в том и только в том случае, когда суще-ствует зависимость A B|C). Отношение R находится в 4НФ в том и только в том случае, когда существует многозначная зави-симость вида A B, а все ос-тальные атрибуты отношения R функционально зависят от атри-бута A.
14. Связывание отношений, виды связей. Понятие внешнего ключа. Атрибуты связей. Контроль целостности связей.
При проектировании реальных БД информацию обычно размещают в нескольких отношениях. Отношения при этом связаны семантикой информации. В реляционных СУБД для указаний связей производят операцию их связывания. Многие СУБД при связывании от-ношений автоматически выполняют контроль целостности вводимых в БД данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации. Кроме того, установление связи между отношениями облегчает доступ к данным, уменьшает количество явных обращений к отношениям данных и числу манипуляций в каждом из них. Между отношениями могут устанавливаться бинарные (между двумя отношениями), тернарные (между тремя отношениями) и т.д. В общем случае n-арные связи. Чаще всего используются бинарные связи. При связывании двух отношений выделяют основное и дополнительное отношение. Логическое связывание отношений производится с помощью ключа связи. Ключ связи по аналогии с обычным ключом отношения состоит из одного или нескольких атрибутов, которые называют атрибутами связей. Суть связывания состоит в установлении соответствия атрибутов связи основного и дополнительного отношений. Атрибуты связи основного отношения могут быть обычными и ключевыми. В качестве атрибутов связи дополнительного отношения чаще всего используют ключевые атрибуты. В зависимости от того, как определены атрибуты связи основного и дополнительного отношений между двумя отношениями в общем случае могут устанавливаться четыре основные вида связи: один к одному (1:1); один ко многим (1:M); многие к одному (M:1); многие ко многим (M:M). Связь вида 1:1 Эта связь образуется в случае, когда все атрибуты связи основного и дополнительного отношений являются ключевыми. Поскольку значения в ключевых атрибутах обоих отношений не повторяются, обеспечивается биективное соответствие кортежей этих отношений и в этом случае отношения фактически становятся равноправными. Связи вида 1:M и M:1 Вид связи 1:M имеет место в случае, когда одному кортежу основного отношения соответствует несколько кортежей дополни-тельного отношения. Связь вида M:1 является зеркальным отражением связи вида 1:M (достаточно поменять ролями основное и дополнительное отношения). Связь вида M:M Этот вид связи возникает в случаях, когда нескольким кортежам основного отношения соответствует несколько кортежей дополни-тельного отношения. На практике используется редко, так как этот вид связи характеризуется как слабый вид связи или даже как отсутствие связи. Контроль целостности связей Контроль целостности связей обычно означает анализ содержимого двух отношений на соблюдение следующих правил:
1 Каждому кортежу основного отношения соответствует нуль или более кортежей дополнительного от ношения. 2. В дополнительном отношении нет кортежей, которые не имеют родительских кортежей в основном отношении.3. Каждый кортеж дополнительного отношения имеет только один родительский кортеж в основном отношении. Значение атрибута в любом кортеже отношения должно соответствовать значению атрибута в некотором кортеже другого отношения. Атрибут такого рода называется внешним ключом, поскольку его значения однозначно характеризуют сущности, представленные кортежами некоторого другого отношения По другому внешний ключ можно определить так. Пусть в отношении имеется не ключевой атрибут a, значения которого являются значениями ключевого атрибута b другого отношения. Тогда атрибут a отношения является внешним ключом. Говорят, что от-ношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. С помощью внешних ключей устанавливаются связи между отношениями.
38. Зависимость соединения и пятая нормальная форма.
Введем определение зависимости соединения. Говорят, что отноше-ние R(X, Y, …, Z) удовлетворяет зависимости соединения в том и только в том случае, если R восстанавливается без потерь путем соединения своих проекций на атрибуты X, Y, …, Z. Зависимость соединения является обобщением функциональной и многозначной зависимостей. Отношение R находится в 5НФ (или нормальной форме проекции соединения – PJ/NF) в том и только в том случае, когда лю-бая зависимость соединения в отношении R следует из суще-ствования некоторого возмож-ного ключа в R.
15. Общая характеристика операций реляционной алгебры.
Языки реляционной алгебры являются процедурными. Операторы этой алгебры состоят из операндов, в роли которых выступают отношения, и реляционных операций. Результатом реляционной операции является отношение. Вариант реляционной алгебры, предложенный Э. Коддом, можно разделить на две группы: 1) базовые теоретико-множественные операции – объединение, пересечение, разность и декартово произведение; 2) специальные операции - проекция, селекция, деление и соединение. С другой стороны указанных 8 операций недостаточно для построения реальной СУБД на принципах реляционной алгебры. Требуются расширения, включающие операции переименования атрибутов, образования новых вычисляемых атрибутов, вычисления итоговых функций и др. Эти дополнительные операции были введены К. ДЖ. Дейтом. Операции реляционной алгебры могут выполняться над одним отношением – унарные операции, - например, проекция; над двумя отношениями – бинарные операции, например, объединение. При выполнении бинарных операций участвующие в операциях отношения должны быть совместимы по структуре, что означает совместимость имен атрибутов и типов соответствующих доменов. Частным случаем совместимости является идентичность (совпадение).
39. Семантическое проектирование баз данных. Основная цель концептуального проектирования и его необходимость. Основные компоненты инфологической (логической) модели. Проблема целостности данных.
Целью концептуального проектирования является создание инфологической модели (ИЛМ) предметной области (ПО), которая представляет собой описание ПО, выпол-ненное с помощью специальных языковых средств, не зависящих от используемых в дальнейшем программных средств. Желательно, чтобы язык спецификации ИЛМ был одинаково применим как при ручном, так и при автоматизированном проектировании БД. Для этого он должен: 1)быть вычисляемым, т.е. воспринима-ться и обрабатываться компьютером; 2)использовать удобный пользователю интерфейс, в частности, графический; 3)быть независимым от оборудования и дру-гих ресурсов, подверженных частным измене-ниям; 4)использовать средства тестирования ИЛМ, а также иметь аппарат для генерации структуры БД после завершения спецификации ИЛМ. Основным компонентом является описание объектов предметной области и связей между ними. Описание предметной области всегда представляется с помощью какой-либо знаковой системы. Поэтому в ИЛМ отража-ются не только отношения, присущие пред-метной области, но и лингвистические отно-шения, обусловленные особенностями ото-бражения ПО в языковой среде. Поэтому ну-жно учитывать такие лингвистические кате-гории как «синонимия», «омонимия» и др. Важными характеристиками предметной области являются ограничения целост-ности, то есть условия, при которых име-ют смысл значения атрибутов, хранящих-ся в БД, или условия, при которых эти зна-чения могут оказаться записанными в БД. Проблема целостности данных со-стоит в обеспечении правильности данных в БД в любой момент времени. Целост-ность данных обеспечивается набором спе-циальных условий или утверждений, назы-ваемых ограничениями целостности. Ряд этих ограничений нами были рассмотрены ранее при изучении основных понятий БД, в частности, этой проблеме был посвящён вопрос «Целостность сущности и ссылок».
16. Теоретико-множественные операции реляционной алгебры и их синтаксис.
Объединением двух совместимых отношений R1 и R2 с одинаковы-ми заголовками называется отношение R, содержащее все элементы исходных отношений (с исключением повторений кортежей). Обозначение: R= R1 UNION R2. Разность двух совместимых отношений R1 и R2 с одинаковыми заголовками есть отношение R, состоящее из множества кортежей отношения R1, не принадлежащих отношению R2. Обозначение: R1 MINUS R2. Пересечением двух совместимых отношений R1 и R2 с одинаковыми за-головками называется отношение R, включающее в себя кортежи, принадлежащие одновременно отношениям R1 и R2. Обозначение: R=R1 INTERSECT R2. Декартовым произведением отношения R1 с длиной кортежей k1 и отношения R2 с длиной кортежей k2, которые не имеют одинаковых имен атрибутов, есть отношение R с длиной кортежей k1+k2, заголовок которого представляет собой сцепление заголовков отношений R1 и R2, и состоящее из таких кортежей, что первые k1 элементов принадлежат отношению R1, а последние k2 кортежей принадлежат отношению R2.Обозначение: R=R1 TIMES R2. Выборка отношения R по формуле f представляет собой новое отношение с таким же заголовком и телом, состоящим из тех и только тех кортежей, которые удовлетворяют истинности логического выражения, задаваемого формулой f. При этом для записи формулы f используются имена атрибутов, константы, логические операции and, or, not, операции сравнения и скобки. Обозначение: R WHERE f. Проекция отношения A на различные атрибуты X, Y, …, Z, где множество {X, Y, …, Z} является подмножеством полного списка атрибутов заголовка отношения A, представляет собой отношение с заголовком X, Y, …, Z и телом, содержащим кортежи отношения A, за исключением повторяющихся кортежей. Обозначение: [X, Y, …, Z]. Операция деления определена для двух отношений R1 и R2 при следующих условиях: отношение R1 должно иметь минимум два простых или составных атрибута A и B, а отношение R2 должно содержать атрибут B, при этом атрибуты A и B должны быть определены на одном и том же домене. Результатом деления отношения R1на отношение R2 является отношение R с заголовком A и телом, состоящим из кортежей r таких, что в отношении R1 имеются кортежи (r, s), причем множество значений s включает множество значений атрибута B в отношении R2. Обозначение: R = R1 DIVIDEBY R2. Операция соединения используется для связывания данных между отношениями. Это, возможно, наиболее важная функция любого языка БД. В общем случае соединением отношения R1 по атрибуту A с отношением R2 по атрибуту B (отношения R1 и R2 не имеют общих атрибутов) является результат выполнения операции (R1 TIMES R2) WHERE A • B, где • - логическое выражение над атрибутами A и B, определенными на одном и том же домене. У операции соединения есть несколько вариантов: естественное соединение (обо-значение: JOIN (R1, R2)); тетасоединение; эквисоединение (обозначение: EQUIJOIN (R1, R2)) - частный случай тетасоединения; внешнее соединение (обозначение: OUTERJOIN (R1, R2)).
40. Правила графического изображения связи «объект-свойство». Понятия класса объектов.
Для описания объектов и их связей мы воспользуемся графическим способом отображения, позволяющим построить модель, условно называемую «объект-свойство-связь» или модель «сущность-связь». При исследовании и анализе предметной области заказчик или разработчик выделяет классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств.
17. Операция выборки, проекции и деления реляционной алгебры, их синтаксис.
Выборка отношения R по формуле f представляет собой новое отношение с таким же заголовком и телом, состоящим из тех и только тех кортежей, которые удовлетворяют истинности логического выражения, задаваемого формулой f. При этом для записи формулы f используются имена атрибутов, константы, логические операции and, or, not, операции сравнения и скобки.
Обозначение: R WHERE f.Проекция отношения A на различные атрибуты X, Y, …, Z, где множество {X, Y, …, Z} является подмножеством полного списка атрибутов заголовка отношения A, представляет собой отношение с заголовком X, Y, …, Z и телом, содержащим кортежи отноше-ния A, за исключением повторяющихся кортежей.
Обозначение: [X, Y, …, Z].
•Отсутствие списка атрибутов подра-зумевает указание всех атрибутов (операция тождественной проекции).
•Выражение вида A[ ] означает пустую проекцию, результатом которой являет-ся пустое отношение.
Операция проекции может применяться и к результату выборки.
Операция деления определена для двух отношений R1 и R2 при следующих условиях: отношение R1 должно иметь минимум два простых или составных атрибута A и B, а отношение R2 должно содержать атрибут B, при этом атрибуты A и B должны быть определены на одном и том же домене. Результатом деления отношения R1на отношение R2 является отношение R с заголовком A и телом, состоящим из кортежей r таких, что в отношении R1 имеются кортежи (r, s), причем множество значений s включает множество значений атрибута B в отношении R2.
Обозначение: R = R1 DIVIDEBY R2.На практике операция деления нужна для того, чтобы мы могли выполнять квантор-ные операции "x и $x.
41. Описание связи между объектами в инфологической модели с учетом степени связи и класса принадлежности с помощью ER - диаграмм,
В ИЛМ связи между объектами с учётом степени связи и класса принадлежности описываются в большинстве случаев с по-мощью так называемых ER-диаграмм (ER – первые буквы английских слов Entity (сущность, объект) и Relationship (связь)). Эти диаграммы впервые были предложены Ченом (Chen P.P.S.) в 1979 г. Они называются диаграммами «сущ-ность-связь» или «объект-связь». Рассмотрим пример. Предположим, что предметной областью является кафедра университета, препода-ватели которой читают дисциплины, име-ющиеся в учебном плане. Двумя главными классами объектов, или сущностями, представляющими интерес, являются ПРЕПОДАВАТЕЛЬ и КУРС.
18. Операция соединения отношений, ее варианты и синтаксис.
Операция соединения используется для связывания данных между отноше-ниями. Это, возможно, наиболее важ-ная функция любого языка БД.В общем случае соединением отношения R1 по атрибуту A с отношением R2 по атрибуту B (отношения R1 и R2 не имеют общих атрибутов) является результат выполнения операции (R1 TIMES R2) WHERE A • B, где • - логическое выражение над атрибутами A и B, определенными на одном и том же домене.
У операции соединения есть несколько вариантов:-естественное соединение (обо-значение: JOIN (R1, R2)); -тета-соединение;- эквисоединение (обозначение: EQUIJOIN (R1, R2)) - частный слу-чай тета-соединения;- внешнее соединение (обозна-чение: OUTERJOIN (R1, R2)). -Естественное соединение (NATURAL JOIN) – это операция, связывающая отношения, когда общие атрибуты имеют равные значения. Общее определение естественного соедине-ния таково: пусть отношения R1 и R2 имеют общие атрибуты C1, C2, …, Cn. Тогда операция JOIN(R1, R2) выпол-няется за следующие три шага: тета-соединение; Эквисоединение,внешнее соединение.
42. Простые и сложные объекты. ER – диаграммы для составных, обобщенных и агрегированных объектов.
По степени сложности объекты могут быть простыми и сложными. Объект считается простым, если он рассматривается как неде-лимый. Сложный объект представляет собой объединение других объектов, также выде-ляемых в предметной области. Различают не-сколько разновидностей сложных объектов: составные, обобщённые и агрегированные. Составной объект соответствует отображению «целое-часть», например, УЗЛЫ – ДЕТАЛИ, КЛАСС – УЧЕНИКИ и т.п. Обобщённый объект отражает наличие связи «род-вид» между объектами предметной обла-сти.
19.Дополнительные операции реляционной алгебры Дейта. Их синтаксис.
1Д. Операция переименования атрибутов:RENAME <имя отношения> <старое имя атрибута> AS <новое имя атрибута>
2Д. Операция расширения, заключающаяся в добавлении нового атрибута в данное отношение, значения которого получаются путем некоторых скалярных вычислений:EXTEND <имя отношения> ADD <выражение> AS <имя нового атрибута> В операции расширения имя нового атрибута не должно повторять имен имеющихся в данном отношении атрибутов и его значения вычисляются по правилам, заданным в <выражении>; имя нового атрибута не должно входить в <выражение>.Помимо обычных алгебраических операций и операций сравнения в <выражении> можно использовать различные функции, называе-мые итоговыми, такими как COUNT (количество), SUM (сумма), AVG (среднее), MAX (максимальное), MIN (минимальное), например:
EXTEND (P JOIN SP) ADD (Вес * количество) AS общий_вес.
3Д. Операция подведения итогов.Синтаксис этой операции имеет вид:SUMMARIZE <имя исходного отношения> BY (<список атрибутов>) ADD <выражение> AS <имя нового атрибута>,где <имя исходного отношения> может задаваться заключенным в круглые скобки выражением реляционной алгебры; <список атрибутов> представляет собой разделен-ные запятыми имена атрибутов исходного отношения; <выражение> - скалярное выражение реляционной алгебры.
4Д. Операция присваивания.Синтаксис операции:<выражение-цель>:= <выражение-источник>,где оба выражения задают совмести-мые по структуре отношения. Типичный случай выражений: в левой части – имя отношения, а в правой – некоторое выражение реляционной алгебры.
5Д. Операция вставки.Синтаксис операции:INSERT <выражение-источник> INTO <выражение-цель>,где оба выражения должны быть совместимы по структуре. Результатом этой операции является вставка полученных кортежей в отношение, заданное в <выражение-цель>, например: INSERT (S WHERE Город_П = ‘Москва’) INTO Temp.
6Д. Операция обновления.Синтаксис операции:UPDATE <выражение-цель><список элементов>,где <список элементов> представляет собой последовательность разделен-ных запятыми операций присваивания вида <атрибут>:= <скалярное выраже-ние>.
7Д. Операция удаления. Синтаксис операции: DELETE <выражение-цель >, где <выражение-цель> представляет собой ре-ляционное выражение, описывающее удаляе-мые кортежи.
8Д. Операции реляционного сравнения.К операциям 8Д относятся: =, ¹ (или < >), <, £ (или < =), >, ³ (или > =).
43. Даталогическое (физическое) проектирование баз данных, его основная цель. Схема разработки и подход к даталогическому проектированию.
Цель даталогического проектиро-вания (ДЛМ) заключается в создании модели, которая отображает логи-ческие связи между элементами данных безотносительно к их смысловому со-держанию и среде хранения. Эта модель строится в терминах информационных единиц, предусмотренных в конкретной СУБД.
20. Исчисление кортежей в реляционном исчислении.
Понятие реляционного исчисления, как языка работы с БД, было впервые предложено Э. Коддом. Им же был разработан язык ALPHA – прототип программно реализованного языка QUEL, который некоторое время конкурировал с языком SQL.Существует два варианта реляционного исчисления: исчисление кортежей и исчисление доменов. В исчислении кортежей, как и в про-цедурных языках программирования, сначала нужно описать используемые переменные, а затем записывать неко-торые выражения. Описательную часть исчисления можно представить в виде:RANGE OF <переменная> IS <список>,где RANGE, OF, IS – ключевые слова, <переменная> - идентификатор пере- менной кортежа (области значений), а <список> - последовательность одного или более элементов, разделенных запятыми, то есть конструкция вида. Вся конструкция RANGE указывает идентификатор переменной и область ее допустимых значений. Список эле-ментов содержит элементы, каждый из которых является либо отношением, либо выражением над отношением.Все элементы списка должны быть сов-местимы по типу, то есть соответ-ствующие элементам отношения должны иметь идентичные заголовки. Область допустимых значений <переменной> об-разуется путем объединения значений всех элементов списка. Так, запись RANGE OF T IS X1, X2 означает, что область определения переменной T включает в себя все значения из отно-шения, которое является объединением отношений X1 и X2.
44. Метод проектирования реляционной базы данных на основе инфологической модели. Правила для перехода от инфологической модели к даталогической модели.
Рассмотрим метод проектирования реляци-онной БД, основанной на анализе ИЛМ и переходе от неё к отношениям ДЛМ. Этот метод является достаточно простым и на-глядным и в то же время даёт хорошие ре-зультаты. Для перехода от ИЛМ к реля-ционной ДЛМ используются следующие правила, в которых идентификаторы объек-тов обозначены через ИО1, ИО2, ИО3, а их свойства – через С1, С2 и т.д.
21. Исчисление доменов в реляционном исчислении.
Исчисление доменов было предложено Лакроиксом и Пиротте, которые на его основе разработали язык ILL. Другими языками, основанными на исчислении доменов, являются языки FQL, DEDUCE, а также QBE.В исчислении доменов основой любого запроса выступают переменные доме-нов. Переменная домена – это скалярная переменная, значения которой охватывают элементы некоторого домена.Отличительной особенностью исчи-сления доменов от исчисления кортежей является то, что в нем поддерживается дополнительная форма условия, называемого условием принадлежности. В общем виде это условие записывается так:
R(A1:h1, A2:h2, …),где Ai – атрибут отношения R, а hi – переменная домена или литерал. Проверяемое условие будет истинным тогда и только тогда, когда существует кортеж в отношении R, имеющий атрибуты Ai, равные заданным в выражении соответ-ствующим значениям hi.
•Примеры выражений исчисления доменов: (SX) WHERE S (П#:SX) – множество всех номеров поставщиков отношения S;
•(SX) WHERE S (П#:SX, Город_П: ‘Москва’ – множество поставщиков из Москвы;
•NAMEX WHERE EXISTS SX (S(П#:SX, Имя: NAMEX) AND FORALL PX (IF P (Д#:PX) THEN SP (П#:SX, Д#:PX))). Третье выражение соответствует запросу на получение имен поставщиков, производящих все детали.В примерах SX – домен атрибута П#, PX – домен атрибута Д#, NAMEX – домен атрибута Имя (переменные объявляются заранее с помощью оператора RANGE).