СУБД MS Access 2003 (960526), страница 3
Текст из файла (страница 3)
Они формулируютсяв соответствии со свойствами ПО в форме предикатов, которыедля одних множеств данных могут иметь значение истина, длядругих - ложь. Ограничения используются в моделях данных дляподдержания целостности данных при функционировании системы. То есть СУБД должна контролировать соответствие данныхзаданным ограничениям при переводе БД из одного состоянияв другое. Использование ограничений связано также с адекватностью отражения ПО с помощью данных, хранимых в БД.Выделяют два основных вида ограничений: внутренниеи явные.Внутренние — это ограничения, свойственные собственно модели данных.
Они накладываются на структуру отношений,на связи, на допустимые значения наборов данных, заложенныев выбранной модели данных.Явные ограничения - это ограничения, задаваемые семантикойПО. Они описывают области допустимых значений атрибутов, соотношение между атрибутами, динамику их изменения и т.
д.В РМД существует два вида внутренних ограничений целостности:1.Целостность по существованию - потенциальный ключ отношения не может иметь пустого (NULL) значения. Иными словами, так как потенциальный ключ отношения позволяетиз всего множества экземпляров сущности выделить толькоодин, то сущность, не имеющая идентификатора, не существует.2. Целостность по связи - определяется понятием внешнего ключа (ВК) отношения: подмножество атрибутов отношения R2называется внешним ключом для отношения RI, если каждомузначению ВК отношения R2 найдется такое же значение первичного ключа в отношении RI. Внешний ключ является темклеем, который обеспечивает связывание отдельных отноше-14Проектирование баз данных.
СУБД MS Accessний РБД в единое целое. Целостность данных по связи означает систему правил, используемых в СУБД для поддержаниясвязей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных, от некорректного изменения ключевых полей.Способы реализации внутренних ограничений целостности зависят от конкретной СУБД. Для СУБД Access они будут рассмотрены после общего знакомства с этой системой.1.3.3. Реляционные операции.
Операции над отношениямиОсновными операциями над отношениями РМД являются8 операций, входящих в реляционную алгебру Кодда (автораРМД). Реляционная алгебра Кодда включает традиционные операции над множествами: объединение, пересечение, разность (вычитание), декартово произведение - и специальные операции: выбор, проекция, соединение и деление.
Совокупность этих операцийобразует замкнутую алгебру отношений. Замкнутость определяется тем, что аргументами операции реляционной алгебры являютсяотношения и результатом обработки всегда является новое отношение, которое также может быть аргументом в другой операции(по аналогии с обычной алгеброй чисел).Рассмотрим основные операции реляционной алгебры.Объединение - операция выполняется над двумя совместнымиотношениями R\, R2 (с идентичной структурой - d\, d2, ---, dn).В результате операции объединения строится новое отношениеR = RI U #2- Отношение R имеет тот же состав атрибутов и совокупность кортежей исходных отношений. Причем в эту совокупность не включаются дубликаты по определению отношения.Пример 4. Ниже приведены исходные отношения: R\ «Клиенты банка А» (табл. 6) и R2 «Клиенты банка В» (табл.
7) и результатобъединения - R (табл. 8)Таблица 6. Rt «Клиенты банка А»ГородК11К12К13ФамилияМоскваСанкт-ПетербургПетровСмирновВоронежСоколов15Тема I. Проектирование реляционных баз данныхТаблица 7. R2 «Клиенты банка В»ГородК21К22К23ФамилияСамараМоскваПетровТверьСеменовПетровТаблица 8. К «Клиенты»ГородФамилиякпМоскваПетровК12К13К21К23Санкт-ПетербургСмирновВоронежСоколовСамараПетровТверьСеменовПересечение - операция выполняется над двумя совместнымиотношениями R], fa.
Результирующее отношение RP = R[ n RI содержит кортежи, которые есть в каждом из двух исходных. Результат пересечения имеет тот же состав атрибутов, что и в исходных отношениях.Пересечение двух отношений - R\, «Клиенты банка А» и Й2,«Клиенты банка В» дает одно отношение RP «Клиент» (табл. 9).Таблица 9. RP «Пересечение отношений»ГородКЩК22)МоскваФамилияПетровВычитание - операция выполняется над двумя совместнымиотношениями R[t R2.
В результате операции вычитания строитсяновое отношение RV = RI - R2 с идентичным набором атрибутов,содержащее только те кортежи первого отношения, R\, которыене входят в другое отношение, /?2. Вычитание отношения R? «Клиенты банка В» из отношения и, «Клиенты банка А», посколькуЛ"11 = Л22, дает отношение RV «Клиент только банка В»:RV = Я, - R2 = fK\ 1, К12.
/аЗ/ - /А21, КП, /Ш/ = /7П2, ЮЗ/.Декартово произведение выполняется над двумя отношениямиRI, R2, имеющими в общем случае разный состав атрибутов:(d\, d2f..., d,,) и (pi, p2, -.., p,J соответственно. В результате операции образуется новое отношение RD = R\ x R2, которое включает16Проектирование баз данных. СУБД MS Accessвсе атрибуты исходных относпений (d\, d2, ..., dn, pi, /?2, ....
р,„). Результирующее отношение состоит из всевозможных сочетанийкортежей исходных отношений R\ и R2. Число кортежей декартова(мощность) отношения-произведения равно произведению мощностей исходных отношений.Пример 5. Декартово произведение двух отношений /?L «Студент» (табл. 10) и #2 «Предмет» (табл. 11) дает новое отношениеRD «Экзаменационная ведомость» (табл. 12), которое содержитвсе атрибуты исходных отношений.Таблица 10. RI «Студент»ФамилияНомер,кп11К12KI312ИвановПетровСидоров13Таблица 11. RJ «Предмет»КодНаименованиеМатематикаИнформатикаШК21гаК22Таблица 12.
RD «Экзаменационная ведомость»НомерКПкпК2111К2212К12К21К12К22К13К13К21131112К2213ФамилияИвановПетровСидоровИвановПетровСидоровКодНаименованиеОценкаШМатематикаМатематикаМатематикаИнформатикаИнформатикаИнформатика53554ШП1П2П2П24Заметим, что в полученное отношение целесообразно добавитьатрибут Оценка для записи результатов экзамена.Выбор - операция выполняется над одним отношением R. Дляотношения R по заданному условию (предикату) осуществляетсявыборка подмножества кортежей. Результирующее отношениеимеет ту же структуру, что и исходное отношение, но число егокортежей будет меньше (или равно) числа кортежей исходного от-17Тема 1.
Проектирование реляционных баз данныхношения. Например, выбрать студентов, сдавших математикуна отлично:Выбор (Экзаменационная ведомость) Если Оценка = 5.Проекция - операция выполняется над одним отношением R.Операция проекции формирует новое отношение (RPR) с заданным подмножеством атрибутов исходного отношения R.
Оно может содержать меньше кортежей, так как после отбрасыванияв исходном отношении R части атрибутов (возможного исключения первичного ключа) могут образоваться кортежи-дубли, которые из результирующего отношения исключаются по определению.Пример 6. Ниже приведен пример исходного отношения R«Служащий» (табл. 13) и результат проекции (RPR) этого отношения на два его атрибута -Должность и Номер отдела (табл. 14).Таблица 13.
R «Служащий»СлужащийИвановНомер отделаДолжность01ИнженерПетров02ИнженерНестеров0102ЛаборантНикитинИнженерТаблица 14. Отношение RPRНомер отдела010202ДолжностьИнженерИнженерЛаборантСоединение выполняется для заданного условия соединениянад двумя логически связанными отношениями. Исходные отношения RI и R2 имеют разные структуры, в которых есть одинаковыеатрибуты - внешние ключи (ключи связи). Операция соединенияформирует новое отношение, структура которого является совокупностью всех атрибутов исходных отношений. Результирующиекортежи формируются соединением каждого кортежа из R\ с темикортежами RI, для которых выполняется условие соединения.В зависимости от этого условия соединение называется: естественным ~ равенство значений общих атрибутов отношений R118Проектирование баз данных. СУБД MS Accessи R2; эквисоединением - равенство значений атрибутов, входящихв условие соединения; тета-соединением - другой знак сравнения.Операция соединения имеет большое значение для РБД, таккак в процессе нормализации отношений исходное нормализованное отношение разбивается на несколько более мелких отношений, которые при выполнении запросов пользователя требуется,как правило, вновь соединять для восстановления исходного отношения.Целение - операция выполняется над двумя отношениями R\и Й2, имеющими в общем случае разные структуры и часть одинаковых атрибутов.