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

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

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

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

° Следовательно, никакие два отдельных кортежа не могли бы иметь одно и то же значение атрибута 8$ и "перекрывающиеся" значения атрибута ППК1НС, поскольку в форме Б ППК1НС ПНЕОЕП ППВ1КС все значения атрибута ППК1НС являются единичными интервалами, и два кортежа с одним и тем же значением атрибута 8$ н "перекрывающимися" значениями атрибута ППВ1НС являлись бы дубликатами (фактически они были бы одним и тем же кортежем).

Позтому, если обеспечено такое ограничение„что комбинация атрибутов (Я$,ППВ1НС) является потенциальным ключом для формы Я ППВ1НС ПНЕОЕП ППК1НС, ограничение С2 обеспечивается "автоматически". Определим новое предложение 1 КЕУ, которое может использоваться вместо обычного предложения КЕУ в переменной-отношении Я ППК1НС.

ЧАК Я ППВ1НС НАБЕ КЕЬАТ1ОН ( 8$ 8$, БНАИЕ МАМЕ, ЯТАТПЯ 1НТЕСЕВ, С1ТХ СНАВ, ППВ1ИС 1МТЕКЧАЕ ( ПАТЕ ) 8ЗЗ Глава 22. Хронологические базы данных 1 КЕГ ( Б», ООК1КО ОКГОЬОЕО» СОКЬЕЯСЕО 00К1К6 Предложение 1 КЕУ здесь означает именно то, что комбинация атрибутов (ЯМ,РОК1Е6» является потенциапьным ключом для формы Я 00К1Е6 ОКГОь0 ООК1К6'З. Таким образом, этого специального синтаксиса вполне достаточно для устранения указанного противоречия.

Необходимо заметить, что если комбинация атрибутов (Яе,ООК1КО» является потенциальным ключом для формы Я ООК1КО ОБГОН ООК1Е6, то она, безусловно, является потенциальным ключом и для переменной-отношения Я ООК1Е6. Это позволяет отказаться от исходного предложения КЕГ для переменной-отношения Я ООК1К6 в пользу предложения 1 КЕУ.

Также отметим, что ключ (Я(,ООК1Е6» может считаться хронологическим потенциальным ключом в смысле, который вкладывался в это понятие в разделе 22.3. Кроме того, как мы уже убедились, этот хронологический потенциальный ключ — действительно настоящий потенциальный ключ для содержащей его переменной-отношения, в отличие от "хронологических потенциальных ключей", которые рассматривались в разделе 22.3.

Естественно предположить, что если поддерживается синтаксис предложения 1 КЕУ для потенциальных ключей, то мы вправе ожидать, что имеется соответствующая поддержка и для внешних ключей. Например, определение переменной-отношения ЯР ООК1К6 может включать приведенное ниже уточнение. ГОКЕ16К 1 КЕУ ( Я$, РОК1Е6 ОЕГОЕОЕО » КЕГЕКЕМСЕЯ Я РОК1МО Его смысл заключается в следующем: если в переменной-отношении ЯР ООК1Е6 имеются сведения о том, что поставщик с номером 'Бх' может поставлять некоторые детали в течение интервала 1, то в переменной-отношении Я ООК1КО также должно быть отображено, что с поставщиком с номером 'Ях' заключен договор, действительный в течение всего этого интервала 1. Если данное ограничение удовлетворяется, комбинация атрибутов (И,ООК1К6» в переменной-отношении ЯР 00К1К6 может считаться хронологическим внешним ключом в смысле, оговоренном в разделе 22.3.

(Однако это еше не настоящий внешний ключ в классическом смысле.) Следует обратить внимание на одну особенность, касающуюся переменной- отношения Я РОК106. Предположим, что она на самом деле постоянно поддерживается в свернутом состоянии по атрибуту РОК1М6. Предположим также, что время от времени мы запускаем процедуру, пересчитывающую статус поставщиков, с которыми в текущее время заключен договор.

Конечно, процедура должна также записывать в переменную- отношение Я ООК1КО предыдущие значения статуса. Иногда в результате пересчета значения статуса будут оставаться без изменений. В таких случаях процедура будет машинально пытаться вставить запись предыдущего статуса в переменную-отношение Б ООК1Е6, в результате чего будет нарушено требование свернутого состояния, выражае- Ы Некоторые авторы определязот семантику предложения 1 КЕГ такии образом, что оно используется и для реизения проблемы шбыточностм Мы же считаем такой подход несколысо нелогичным и здесь не используем (во всяком случае в этом нет необходимоспш, поскольку ясно, чпзо для того, чтобы справиться с пооблелзой избыточности, вполне достаточно и предложения СоййЕЯСЕОЕ 884 Часть»г. дополнительные аспекты мого предложением СОАЬЕЯСЕО.

Чтобы таких ситуаций не возникало, в процедуре должны быть предусмотрены проверка изменения статуса и выполнение соответствующей операции обновления вместо операции вставки, которая используется в том случае, если статус изменился (см. упр. 22.3). В качестве альтернативного подхода можно было бы не поддерживать переменную-отношение Я ООК1МС в свернутом состоянии по атрибуту ООК1МС. Такое решение, возможно, не подходит для данного конкретного случая, но может быть подходящим для других случаев.

22.10. Операторы обновления, включающие интервалы В этом разделе будет рассмотрено несколько проблем, которые возникают при использовании обычных операторов изменения 1МЯЕКТ, ОРОАТЕ и ОЕЬЕТЕ для хронологической переменной-отношения. И вновь в качестве примера будет применяться переменная-отношение Я ООК1КС. Предположим, что определение переменной-отношения включает уточнения 1 КЕХ и СОАЬЕЯСЕО, предложенные в предыдущем разделе, а также что текущее значение переменной-отношения Б ООК1МС именно такое, как на рис.

22.4. Теперь рассмотрим следующие сценарии. ° Вставка. Предположим, что с поставщиком с номером 'Я2' был заключен дополнительный договор на период с дня 5 по день б (в течение этого времени поставщик, как и прежде, имел имя 'Лопая', статус, равный 10, и находился в городе 'Раг1я '). Однако мы не можем просто вставить кортеж, не нарушив ограничение СОАЬЕЯСЕО, причем дважды.

На самом деле для поставщика с номером 'Б2' необходимо удалить один из существующих кортежей и обновить другой, чтобы установить значение атрибута ООК1МС равным [ 002, с]1 О]. ° Обновление. Предположим, что статус поставщика с номером 'Я2' был временно увеличен до 20 только на день 9. Довольно сложно выполнить такое изменение, хотя его формулировка подобна той, которая дается при простом обновлении.

По существу, необходимо разбить кортеж с интервалом [с[07,с[10] лля поставщика с номером 'Б2' на три кортежа со значениями атрибута ООК1МС, равными [007,с]08], [009,г]09] и [г]10,ЖО], остальные значения оставить прежними и в кортеже со значением атрибута ООК1КС, равным [009, г]09], заменить значение атрибута БТАТОБ на 20. ° Удаление. Предположим, что договор с поставщиком с номером 'Я3' был отменен в день б, а затем возобновлен с дня 9. В этом случае изменение также далеко не тривиальное. Требуется разбить единственный кортеж для поставщика с номером 'Я3' на два кортежа со значениями атрибута ООК1ЕС, равными [г[03,г]05] и [с[09,ЖО].

Обратите внимание, что решения трех указанных заданий, изложенные лишь в общих чертах, являются снелифическими для текущего значения переменной-отношения Б РОК1КС (н необходимы только при конкретных изменениях). Рассмотрим, например, проблему, связанную со вставкой. В общем случае кортеж может просто вставляться в переменную-отношение "как он есть", или же может потребоваться, чтобы он был под- 885 Глава 22. Хронологические базы данных вергнут свертыванию с "предыдущим" кортежем, со "следующим" кортежем или с ними обоими сразу, как зто было в нашем примере. Лналогично и в случае операций обновления или удаления может потребоваться "разбиение" существующих кортежей. Очевидно, что пользователям было бы очень сложно обходиться лишь обычными операторами 1НЯЕКТ, ОРОйТЕ и ОЕЬЕТЕ. Необходимы определенные расширения зтнх операторов.

Рассмотрим некоторые возможности таких расширений. ° Операция ?ИЯЕЕТ. Практически проблема, связанная с операцией вставки, может быть решена за счет расширения семантики предложения СОйЬЕЯСЕО в определении переменной-отношения. Л именно, можно разрешить выполнение операции ?НЯЕКТ обычным способом и потребовать, чтобы системой осуществлялись необходимые свертывания с кортежами, добавляемыми следующими операциями ?НЯЕКТ. Другими словами, уточнение СОАЬЕЯСЕО теперь будет не только определять ограничение, но и указывать явные компенсирующие действия (аналогично ссылочным действиям при определении внешнего ключа).

Однако, к нашему сожалению, только расширения семантики предложения СОАЬЕЯСЕО указанным способом будет недостаточно для решения проблем операций ОРОАТЕ и ОЕЬЕТЕ (почему9), ° Операция УРОАТЕ. Проблему, связанную с операцией обновления, можно решить за счет расширения оператора ОРОАТЕ так, как показано в следующем примере'З.

ОРОАТЕ Я ООК?Н6 ИЙЕКЕ Я$ = Я(] ('Я2') ООК?Н6 ?НТЕКчйЬ ( [с(09,г(09] ) ЯТйТОЯ := 20 ) Здесь в третьей строке (синтаксис которой, по сути, имеет вид <яия атрибута> <интервальное нерадение>) указан атрибут интервала ООК1Н6, к которому применяется уточнение СОАЬЕЯСЕО, и соответствующее значение интервала [Й09,г(09]. В целом, подобная операция может интерпретировать так: а) прежде всего определяются кортежи поставщика Я2; б) затем из найденных кортежей выбираются те, в которых значение атрибута ООК1М6 включает интервал [009,с(09) (естественно, должен существовать по крайней мере один такой кортеж); в) если не обнаружено ни одного требуемого кортежа, то обновление не выполняется; в противном случае кортежи разбиваются, как это требуется, и выполняются необходимые обновления.

° Операция РЕЬЕТЕ. Лналогичным образом проблему удаления можно решить за счет расширения оператора ОЕЬЕТЕ, как, например, показано ниже. ОЕЬЕТЕ Я ООК1Н6 ИНЕКЕ Я0 = И ('Я3') ООК?Н6 ?КТЕКЧАЬ ( [606,008] ) ) Ы Эпюп~ синтаксис подобен предлагаемому в (22.3), но нс идентичен ему. Часть (г. дополнипгельные аспектьс 22.11. Проектирование базы данных До сих пор переменные-отношения Б 00й1аС и ЯР 00й1йС использовались для иллюстрации типов интервалов и определения специальных операторов для обработки данных интервалов, и нам этого было достаточно. Переменные-отношения первоначально были "спроектированы" посредством простого добавления атрибутов интервалов к их эквивалентам в базе данных типа моментального снимка. В настоящем разделе мы попытаемся выяснить, насколько хорош такой подход к проектированию.

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

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

Согласно этому подходу, например, интервал ] 004,д10], показанный на рис. 22.4 как значение атрибута 00й1йС для поставшика с номером '81' в переменной- отношении Я 00й1йС, должен быть представлен как интервал ]г(04,лов]. Реальное значение такого ни~ерзала, конечно, зависит от того, когда именно оно рассматривается; скажем, вдень 14 это был бы интервал ]г(04,014], Другие авторы считают, что введение маркера настоящего момента — опрометчивое отступление от концепций, на которых базируются реляционные системы.

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

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

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

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