Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 73

Файл №542480 Введение в системы БД (Введение в системы БД) 73 страницаВведение в системы БД (542480) страница 732015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 73)

305 Глава 8. Целостность Донных СОМБТВА1МТ РС4 18 ЕИРТ1 ( Р ИНЕВЕ СОЬОВ = СОЬОВ ( 'Вег)' ) ) АМО С1тХ н 'Ьолдоп' ) ) Смысл: "Красные детали должны храниться в Лондоне". СОМЯТВА1МТ ЯСК солт(я) =солт(я(я()) ); Смысл: "Номера поставщиков должны быть уникальны*' или, более формально, "Ключ (Б() — это потенциальный ключ отношения поставщиков" (раздел 8.8). СОМБТВА1МТ РС7 1Р ИОТ ( 18 ЕИРТ1 ( Р ) ) ТНЕИ СОПИТ ( Р ИНЕВЕ СОЬОВ = СОЬОВ ( 'Веб' ) ) > 0 ЕИО 1Г Смысл: "Если летали вообще имеются, то одна из них должна быть красной".

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

8.5. Ограничения баз данных Ограничение базы данных — это ограничение, устанавливающее взаимосвязь между различными переменными-отношениями. Приведем несколько примеров. СОИБТВА1ИТ ОВС1 18 ЕИРТ1 ( ( Я 101М БР ) ИНЕВЕ ЯТАТОЯ < 20 АМО От? > Отт ( 500 ) ) Смысл: "Поставщики со статусом, меньшим 20, не могут поставлять детали в количестве свыше 500 штук". Упражнение. Какие операции должны отслеживаться СУБД для приведения ограниченна ОВС1 в действие? СОМБТВА1МТ ОВС2 ЯР ( Я( ) Б Я ( Я() ) Смысл; "Каждый номер поставщика в переменной-отношении поставок должен присутствовать н в переменной-отношении поставщиков".

(Напомним, что, как указывалось в главе 6, знак "<" здесь означает "полмножество".) Поскольку атрибут Б( в переменной- отношении Я составляет потенциальный ключ, по сути, это ограничение является ссылочным ограничением для поставок в отношении поставщиков (т.е.

ключ (Я() в переменной-отношении БР является внешним ключом, посредством которого сведения о поставках связываются с соответствующими поставщиками). Обсуждение этого вопроса будет продолжено в разделе 8.8. СОМЯТВА1МТ ОВСЗ ЯР ( Р$ ) = Р ( Р0 ) 306 Часть 11 Реляционная модель Смысл: "Кажлая деталь должна быть поставлена хотя бы один раз".

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

Последние два примера показывают, что (в общем случае) проверка ограничений базы данных не может быть выполнена немедленно, а должна быть отложена до конца транзакции, т.е. до момента выполнения оператора СОИИ1Т (при необходимости уточнить какие-либо сведения относительно оператора СОИИ1Т; см.

главу 3). Для доказательства этого утверждения допустим противное и предположим, что проверка должна выполняться немедленно. Пусть в данный момент вообще отсутствуют сведения о каких-либо поставках и деталях. Тогда лобавление сведений о любой детали будет ошибочным, поскольку при этом будет нарушено ограничение ОВСЗ. Аналогично любая попытка ввести сведения о поставке также приведет к ошибке, поскольку в этом случае будет нарушено ограничение ОВС24. Если во время выполнения оператора СОИИ1Т будет обнаружено нарушение ограничения базы данных, это вызовет откат данной транзакции. 8.6. "Золотое правило" Замечание.

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

В разделе 5.3 главы 5 упоминалось догбщение замкнутости мира, согласно которому, если в определенном отношении не существует определенного кортежа, мы имеем право предположить, что соответствующее ему высказывание ложно. Мы не подчеркивали этот факт прежде, но читателю должно быть понятно, что переменная-отношение тоже имеет предикат, а именно — предикат, который будет общим для всех возможных отношений, представляющих допустимые значения для данной переменной-отношения. Например, рассмотрим переменную-отношение поставщиков Б.

Предикат для этой переменной-отношения можно сформулировать примерно так. Поставщик с данным ночером поставщика (Яб) ичеет данное ичя (ЯВАИЕА данное значение статуса (СТАТУЯ) и размещается в данноч городе (С1ТУ), кроче того, в любой заданный мочент никакие два поставщика не ичеют одинаковых номеров поставщика. 4 В действительности в (3.3) предлагается множественная форлпа присвоения, которая позволила бы вставлять детали и поставки в пределах одной операции. Если бы такие операции присвоения поддерживались системой, то ограничения базы данны хюгли бы конвпропироваться немедленно 307 Глава 8.

Целостность данньп Это утверждение и не точное, и не полное, но вполне приемлемое для наших целей. Также должно быть понятно, что предикат данной переменной-отношения по свой сути является критерием приемлемости изменений для рассматриваемой переменной- отношения, т.е, он предписывает, будет ли допустима определенная операция 1МБЕНТ, ОРОАТЕ или НЕСЕТЕ для данной переменной-отношения.

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

Например, не существует способа сформулировать для СУБД понятие о том, что определенный поставщик должен быть "в" определенном городе. Также неясно, каким образом СУБД может быть заранее известно, что предикат для переменной-отношения поставщиков является таким, что, например, первый из приведенных ниже кортежей будет допустимым, а второй — нет.

( Я$ : Я$ ( 'Я1' ) ВМАМЕ : МАМЕ ( 'ВпШ~' ) БТАТОЯ : 20 С1ТТ 3 'Ьопдол' ) ( Б$ : Б$ ( 'ВВ' ! ВМАМЕ : МАМЕ ( 'Вп1сп' ) БТАТОЯ : 50 СХТТ : 'Нове' ) Конечно, если пользователь предоставит последний кортеж для ввода в базу данных, то все, что система сможет сделать, — это убедиться, что никаких нарушений известных ей ограничений целостности нет. И, несомненно, система затем примет кортеж для добавления в базу данных и в дальнейшем будет воспринимать ега как истинное высказывание. Итак, можем сделать вывод, что система "не знает и не понимает" (и "не может знать и понимать") предикат переменной-отношения поставщиков на все (ООЬ, Однако ей известив достаточно хорошее приближение к этому предикату, а конкретнее — ей известны ограничения целостности, которые применимы к записям о поставщиках.

Следовательно, мы определяем предикат переменной-отиошения для переменной- отношения поставщиков (или в общем случае для любой переменной-отношения) как логическое умножение (логическая операция И) всех ограничений переменной-отношения, которые установлены для данной переменной-отношения. Например, предикат переменной-отношения для переменной-отношения Б выглядит примерно так. ( 1Б ЕНРТТ ( Я МНЕНЕ ЯТАТОЯ < 1 ОН ВТАТОЯ > 100 ) ) АМО ( 1Я ЕМРТТ ( Б МНЕНЕ С1ТТ = 'Ьолдоп' АМР БТАТОЯ и 20 ) ) АМО ( СОНЕТ ( Я ) = СОНЕТ ( Б ( Б$ ) ) ! (Кроме того, системе, конечно, известно, что атрибуты Б$, БМАХЕ, ЯТАТОБ и С1ТТ должны иметь типы Я$, МАМЕ, 1НТЕОЕН и СНАЯ соответственно.) 308 Часть 11.

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

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

Характеристики

Тип файла
DJVU-файл
Размер
10,05 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее