1626434760-4c9f92f9ed5188f8fc024fed893742bb (844133), страница 12
Текст из файла (страница 12)
В этом случае атрибутыименуют столбцы этой таблицы.Реляционная БД – это набор отношений, имена которыхсовпадают с именами схем отношений в схеме БД.Ключ – это атрибут или набор атрибутов, используемых дляидентификации кортежа.Первичный или основной ключ – это атрибут или набор атрибутов,значения которых однозначно определяют кортеж отношения.Важным требованием к первичному ключу является егоминимальность или отсутствие избыточности: никакой атрибутнельзя удалить из ключа, не нарушая при этом свойства8однозначной идентификации кортежей.Реляционная модель данныхВозможно наличие нескольких первичных ключей в отношении.Обычно используют тот из них, который имеет минимальное числоатрибутов.В схеме отношения атрибуты, составляющие первичный ключ, какправило, подчеркиваются:СОТРУДНИКИ ( Сотр номер, Сотр_имя, Сотр_зарп,Сотр_отд_номер ).Ключ, который используется для выделения всех кортежей,обладающих определенным свойством, называетсядополнительным или вторичным ключом.Например, атрибут Сотр_отд_номер может использоваться дляпоиска всех сотрудников из отдела номер 310.Возможно использование нескольких вторичных ключей.9Базовые свойства отношенийИз приведенных определений следуют следующие свойстваотношений:1) Отсутствие кортежей дубликатовЭто следует из определения отношения как множества кортежей(в классической теории множеств каждое множество состоит изразличных элементов).Из этого свойства вытекает наличие у каждого отношенияпервичного ключа.
(По крайней мере, полный набор атрибутовявляется первичным ключом.)2) Отсутствие упорядоченности кортежейЭто свойство также вытекает из свойств множества.Отсутствие требования порядка дает дополнительную гибкостьСУБД при хранении данных во внешней памяти и обработкезапросов к БД.10Базовые свойства отношений3) Отсутствие упорядоченности атрибутовАтрибуты не упорядочены, так как по определению схемаотношения есть множество пар вида <Имя атрибута, Значение>(для ссылки на значение атрибута всегда используется его имя).Это свойство позволяет модифицировать схемы существующихотношений не только путем добавления новых атрибутов, но иудалением существующих. Позволяет также соединять отношения,выдавать атрибуты в любом порядке, хотя часто на практикеиспользуется неявный порядок атрибутов.4) Атомарность значений атрибутовЭто свойство следует из определения домена как потенциальногомножества значений простого типа данных.11Ограничения целостностиВ любой реляционной СУБД должны удовлетворяться двабазовых требования целостности:1) требование целостности сущностей;2) требование целостности по ссылкам.12Ограничения целостности1.
Целостность сущностейСущности, или объекту реального мира в РБД соответствуюткортежи отношений.Любой кортеж любого отношения должен быть отличим от любогодругого кортежа этого же отношения.Другими словами, любое отношение должно обладать первичнымключом.Это требование автоматически удовлетворяется, если в системе ненарушаются базовые свойства отношений.13Ограничения целостности2. Целостность по ссылкамПри соблюдении нормализованности отношений сложныесущности реального мира представляются в РБД в виде несколькихкортежей нескольких отношений.Например, сущность ОТДЕЛ имеет следующие характеристики:номер отдела, количество сотрудников и список сотрудниковотдела. При правильном проектировании эта сущностьпредставляется в виде двух отношений:ОТДЕЛЫ ( Отд_номер, Отд_кол ).СОТРУДНИКИ ( Сотр_номер, Сотр_имя, Сотр_зарп,Сотр_отд_номер ).В отношении СОТРУДНИКИ атрибут Сотр_отд_номер являетсяне только собственным свойством сотрудника, но и обеспечиваетпри необходимости возможность восстановления полной сущности14ОТДЕЛ.Ограничения целостностиОТДЕЛЫ ( Отд_номер, Отд_кол ).СОТРУДНИКИ ( Сотр_номер, Сотр_имя, Сотр_зарп,Сотр_отд_номер ).Значение атрибута Сотр_отд_номер в любом кортеже отношенияСОТРУДНИКИ должно соответствовать значению атрибутаОтд_номер в некотором кортеже отношения ОТДЕЛЫ.Такой атрибут, как Сотр_отд_номер называется внешним ключом,поскольку его значения однозначно характеризуют сущности,представленные кортежами некоторого другого отношения(т.е.
задают его первичный ключ).Говорят, что отношение, в котором определен внешний ключ,ссылается на соответствующее отношение, в котором такой жеатрибут (набор атрибутов) является первичным ключом.15Ограничения целостностиС учетом сказанного выше, требование целостности по ссылкамможно сформулировать как требование внешнего ключа:для каждого значения внешнего ключа из ссылающегося отношенияв отношении, на которое ведется ссылка, должен найтись кортеж стаким же значением первичного ключа. В противном случаезначение внешнего ключа должно быть неопределенным.В нашем примере: если для сотрудника указан номер отдела, тотакой отдел должен существовать.16Ограничения целостностиОграничениецелостностипоподдерживается следующим образом:ссылкамавтоматически1) при добавлении новых кортежей достаточно следить за тем,чтобы не появлялись некорректные значения внешнего ключа;2) при удалении кортежей из отношения, на которое ведет ссылка,имеется три способа поддержания целостности:а) запрещается удалять кортеж, на который существуетссылка (сначала нужно разобраться со ссылающимися кортежами);б) при удалении кортежа, на который есть ссылка, во всехссылающихся кортежах значение внешнего ключа устанавливаетсяне-определенным;в) при удалении такого кортежа удаляются всессылающиеся на него кортежи (каскадное удаление).17Базисные средства манипулированияреляционными даннымиОпределены два базовых механизма манипулирования РД:1) реляционная алгебра (алгебра отношений);2) реляционное исчисление (исчисление отношений).Реляционная алгебра (далее – РА) основана на теории множеств.Реляционное исчисление (далее – РИ) базируется наматематической логике, точнее, на исчислении предикатов 1-гопорядка (как язык ПРОЛОГ).Оба механизма обладают одним важным свойством: они замкнутыотносительно понятия отношение.
Это означает, что выраженияРА и формулы РИ определяются над отношениями РБД ирезультатом вычисления также являются отношения.В результате любое выражение и любая формула могутинтерпретироваться как отношение, что позволяет использовать их1в других выражениях и формулах.Базисные средства манипулированияреляционными даннымиРеляционная алгебра и реляционное исчисление обладают большойвыразительной мощностью: очень сложные запросы к БД могутбыть выражены с помощью одного выражения РА или однойформулы РИ.Механизмы РА и РИ эквивалентны, т.е.
для любого допустимоговыражения РА можно построить эквивалентную (по результату)формулу РИ, и наоборот.На основе реляционной алгебры и реляционного исчислениястроятся языки баз данных.Конкретный язык манипулирования РБД называется реляционнополным, если любой запрос, представленный с помощью одноговыражения РА или одной формулы РИ, может быть выражен спомощью одного оператора этого языка.2Базисные средства манипулированияреляционными даннымиТак как механизмы РА и РИ эквивалентны, то для проверкистепени реляционности языка РБД можно использовать любой изних.Для чего же нужны два эквивалентных формализма? Дело в том,что РА и РИ отличаются уровнем процедурности.Выражения РА строятся на основе алгебраических операций иимеют процедурную интерпретацию.Для формулы РИ однозначная интерпретация отсутствует.
Формулатолько устанавливает условия, которым должны удовлетворятькортежи результирующего отношения, поэтому язык РИ являетсяболее декларативным, чем язык РА.3Базисные средства манипулированияреляционными даннымиРА говорит, что и как делать (аналогично процедурным языкампрограммирования таким, как Паскаль или Си), описываетпоследовательность действий.РИ говорит, какой нужен результат, но то, как его получить,оставляет машине.Обычно языки БД основываются на смеси РА и РИ. Здесьучитывается удобство для пользователя – как ему удобней ипривычней представлять свои запросы.4Реляционная алгебраОсновная идея РА состоит в том, что поскольку отношенияявляются множествами, то средства манипулирования ими могутбазироватьсянатрадиционныхтеоретико-множественныхоперациях,дополненныхспециальнымиоперациями,специфичными для РБД.Расширенный вариант РА, предложенный Коддом, включает8 основных алгебраических операций и 2 дополнительные.Весь набор включает два класса – теоретико-множественныеоперации и специальные реляционные операции.5Реляционная алгебра1.
Теоретико-множественные операцииВ состав теоретико-множественных операций входят следующие:1) объединение отношений,2) пересечение отношений,3) взятие разности отношений,4) прямое произведение отношений.Теоретико-множественные операции обладают свойствомассоциативности (все) и коммутативности (все, кромеразности).6Реляционная алгебра1. Объединение отношенийПри объединении двух отношений получается новое отношение,включающее кортежи, входящие хотя бы в одно из отношенийоперандов.2. Пересечение отношенийРезультат пересечения двух отношений – это отношение,включающее все кортежи, входящие в оба отношения-операндаодновременно.7Реляционная алгебра3.
Разность отношенийРезультат этой операции – отношение, включающее все кортежи,входящие в отношение-первый операнд, такие что ни один из нихне входит в отношение, являющееся вторым операндом.Замечание.При выполнении операций объединения, пересечения и разностиотношений отношения-операнды должны быть совместимы по этимоперациям, т.е. должны обладать одинаковыми заголовками.Более точно: в заголовках обоих отношений содержится один и тот женабор имен атрибутов и одноименные атрибуты определены на одном итом же домене. Только в этом случае результатом этих трех операцийявляется отношение с корректно определенным заголовком, совпадающимс заголовком каждого из отношений-операндов.Если два отношения "почти" совместимы, т.е.