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

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

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

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

И наконец, отметим интуитивно непонятный характер построения предложения РВОМ вЂ” получаемое значение ОЕРТ() извлекается из БЕРТ, а не из ЕМР, но значение ОЕРТ 10 извлекается из ЕМР, а не из ОЕРТ. Замечание. Нелегко не поддаться искушению указать, что этот запрос, вероятно, будег выполняться хуже, чем его аналог в обычном языке Б())- (для которого нужна была бы одна таблица, а не две). Это замечание здесь приводится еще и потому, что обычный аргумент в защиту "ссылок" состоит в том, что они подразумевают увеличение производительности.

Кстати сказать, если бы запрос был сформулирован как "Получить отдел (вместо просто номера отдела) для служащего с номером 'Е1'", операция разыменовывания была бы совсем иной. ЯЕЬЕСТ ОЕКЕГ (ЕХ.ОЕРТ 10 ) АЯ ОЕРТ ГКОМ ЕМР ЕХ ИЕЕКЕ ЕХ.ЕМР() = 'Е1' ) Более того, вызов операции ОЕКЕГ возвращал бы не значение строки, а "инкапсулированное*'(скалярное) значение. Вот еще один пример: "Получить номера служащих, работающих в отделе '01'" (обратите внимание на разыменовывание в предложении ИНЕВЕ). ЯЕЬЕСТ ЕХ.ЕМР() ГКОМ ЕМР ЕХ ИНЕВЕ ЕХ.ОЕРТ 10 -> БЕРТ() = '01' Ниже приводится пример операции 1ИЯЕВТ (вставка сведений о некотором служащем).

1ВБЕКТ 1ИТО ЕМР ( ЕМР)), БЕРТ 10 ] ЧАЬОЕБ ( 'Е5', ( БЕЬЕСТ ОХ.ОЕРТ 10 ГКОМ ОЕРТ ОХ ИЕЕВЕ ОХ.ОЕРТ() = '02' ) ) Б.5. Подтаблицы и супертаблицы Рассмотрим следующие структурированные типы (описывающие служащего и программиста). СВЕАТЕ ТУРЕ ЕМР ТУРЕ АЯ ( ЕМР)) ..., БЕРТ)) ... ) КЕГ 1Я ЯУЯТЕМ ЯЕИЕВАТЕО МОТ Г1ИАЬ З В бояьшинстве языков, в которых поддерживается операция разыменовывания, также поддерживается операция привязки, но в языке БДЬЗ вЂ” нет. 1052 Прилоззсеззия СКЕАТЕ ТУРЕ Р6МК ТУРЕ ОБРЕК ЕМР ТУРЕ АЯ ( ЬАМ6 ... ) МОТ Г1МА1 Заметим, что определение типа РОМК ТУРЕ не имеет предложения КЕГ 1Я .... Вместо этого оно фактически наследует такое предложение от своего непосредственного супертипа ЕМР ТУРЕ. Теперь рассмотрим следующие определения базовых таблиц.

СКЕАТЕ ТАВЬЕ ЕМР ОГ ЕМР ТУРЕ ( КЕГ 1Я ЕМР 1О ЯХЯТЕМ 6ЕВЕВАТЕР, РК1МАКУ КЕУ ( ЕМР)) ], ОН1ООЕ ( ЕМР 1Р ) ) ) СКЕАТЕ ТАВЬЕ РОМК ОГ РОМК ТУРЕ ОКОВЕ ЕМР Обратите внимание на спецификацию ОМОЕК ЕМР в определении базовой таблицы Р6МК (также обратите внимание на отсутствие спецификаций КЕГ 1Я РК1МАКУ КЕУ и ОК1ООЕ для этой базовой таблицы). Такие базовые таблицы, как РОМК и ЕМР, называются подтаблицей и соответствующей непосредственной супертаблнцей. Таблица РОМК наследует столбцы таблицы ЕМР и имеет один дополнительный собственный столбец ЬАМ6. Интуитивно в этом примере утверждается, что не программист имеет лишь некоторую строку в таблице ЕМР, а программист имеет строку в обеих таблицах, поскольку каждая строка в таблице РОМК имеет эквивалент в таблице ЕМР, но обратное неверно.

Операции обработки данных для этих таблиц выполняются следующим образом. ° Операция БЕЬЕСТ. Для таблицы ЕМР операция ЯЕЬЕСТ выполняется так, как обычно, а для таблицы РОМК вЂ” как будто в этой таблице РОМК действительно содержатся столбцы таблицы ЕМР и столбец ЬАМ6. Замечание. Уточнение ОМЬУ может использоваться в параметре <ссалочнал таблица> для исключения строк, которые имеют эквиваленты в некоторой подтаблице данной таблицы. Поэтому, например, операция ЯЕЬЕСТ ...

ГКОМ ОМЬХ ЕМР выполняется так, как будто в таблицу ЕМР включены только строки, которые не имеют эквивалентов в таблице Р6МК. ° Операция 1ББЕВТ. Для таблицы ЕМР операция 1ВЯЕКТ выполняется так, как обычно. В результате ее выполнения для таблицы РОМК новые строки вставляются в обе таблицы, РОМК и ЕМР. ° Операция РЕЬЕТЕ. При выполнении операции ОЕЬЕТЕ для таблицы ЕМР удаляются строки из таблиц ЕМР и (если эти строки соответствуют программистам) РОМК. Удаление строк из таблицы РОМК приводит к удалению строк из обеих таблиц.

° Операция РРРАТЕ. Обновление столбца ЬАМ6, обязательно через таблицу РОМК, приводит к обновлению лишь таблицы РОМК. Обновления других столбцов через таблицу РОМК нли ЕМР приводят к обновлению обеих таблиц (концептуально). 1053 Приложение Б. Обзор языка 5Д(,3 Укажем на некоторые следствия из предыдуших правил. ° Предположим, что служащий 'Юое' стал программистом. Если просто вставить строку для 'Лое' в таблицу РЕМЕ, система попытается вставить строку для 'Лое' также в таблицу ЕМР, что, конечно, приведет к ошибке. Вместо этого необходимо удалить строку служащего 'йое' из таблицы ЕМР, а затем вставить соответствующую строку в таблицу Р6МЕ. ° И наоборот, предположим, что служащий 'йое' перестал быть программистом. На этот раз необходимо удалить строку 'Эое' из таблицы ЕМР или Рбйй (какую бы таблицу мы ни указали, в результате строки будут удалены из обеих таблиц).

Затем нужно вновь вставить соответствующую строку в таблицу ЕМР. А что делать с наследованием типа? Насколько мы можем судить, ответ на этот вопрос — "Ничего", т.е. ничего, кроме того (по соображениям, которые непонятны), что язык Я)ь3 требует, чтобы подтаблица и ее непосредственная супертаблица были определены через структурированные типы, которые являются подтипом и его непосредственным супертипом соответственно. Подчеркнем, что никакой заменимости эта схема не включает и, кроме того, рассматриваемые типы, совершенно определенно, не "инкапсулированы". Итак, насколько привлекательны для нас подтаблицы и супертаблнцы? Ответ, повидимому, будет "Слегка", по крайней мере на уровне модели'с. Действительно, определенная экономия в реализации может быть достигнута, если подтаблица и супертаблица физически хранятся как одна таблица на диске.

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

Другие возможности Создание таблиц В языке Я)ЕЗ в предложении СЕЕАТЕ ТАВЬЕ поддерживается опции ЫЕЕ, позволяющая скопировать некоторые или все определения новой базовой таблицы из некоторой существующей именованной таблицы (отметим, что именованная не означает возможность указать произвольное табличное выражение вместо имени таблицы). Табличные выражения В главе 5 было описано предложение МТТЕ, назначение которого — ввести сокращенные имена для определенных выражений, В языке Я)ЕЗ включена подобная конструкция, но ее использование ограничивается лишь табличным выражением, как например, показано ниже.

ЗО Вероятно, стоит напомнить, какой подход к этому вопросу мы считаем более предпочтительным; подход, в котором испавьзуются представления (см, пример в конце раздела!3.5). 1054 Приложения Н1ТН ЬОН6 ТЕКМ ЕМРЯ АЯ ( БЕ1ЕСТ * РКОМ ЕМР ННЕКЕ ВАТЕ Н1КЕР < РАТЕ '1980-01-01' ЯЕ(ЕСТ ЕМР0, ( ЬОНЯ ТЕКМ СТ - 1 ) АЯ $ ОР РЕ1ЬОН ЬОН6 ТЕКМ ЕМРЯ ГНОМ ЬОЫ6 ТЕКИ ЕМРЯ АЯ Ь1, ( БЕЬЕСТ РЕРТ)), СОНЕТ(*) АБ ЬОН6 ТЕКМ СТ РКОМ ЬОКЯ ТЕКМ ЕМРЯ 6ЮРР ВТ РЕРТ4 ) АЯ Ь2 ННЕКЕ ЬЬ.РЕРТ)) = Ь2.0ЕРТ)) (Словесная формулировка запроса такова: "Для каждого служащего, который работает в компании с 1979 года или ранее, получить номер служащего и количество других служащих в том же отделе".) В языке Яф.З предложение М1ТН может быть использовано, в частности, для формулирования определенных рекурсивных запросов.

Например, для данной таблицы РАКЕНТ ОР(РАКЕНТ,СН1ЬР) следующий рекурсивный запрос возвращает все пары людей (а, Ь), таких, что а — предок Ь. Обратите внимание, что определение, которое вводит имя АНСЕЯТОК ОР, включает ссылку на само имя МСЕЯТОК ОР. Н1ТН КЕСРКЯ1ЧЕ АНСЕЯТОК ОР ( АНСЕЯТОК, РЕЯСЕЫОМТ ) АБ ( ЯЕЬЕСТ РАКЕНТ, СН100 РВОМ РАВЕНТ ОР РН1ОН ЯЕЬЕСТ А РАКЕНТс Р СН1ЬР РЮМ МСЕЯТОК ОР АЯ А, РАКЕНТ ОР АЯ Р ЯНЕКЕ А.СН1ЬР = Р.РАКЕНТ ) ЯЕЬЕСТ * РЮМ АНСЕБТОК ОР Условные выражения В языке Я()1.3 предоставляется новое условие 01ЯТ1МСТ (не путайте с существующим условием РН1608; см.

приложение А). Оно предназначено для проверки, являются лн две строки "различными". Пусть заданы две строки Ееф и ИЕНЕ В них должно содержаться одно и то же количество, например л, компонентов. Пусть 1-е компоненты строк Ее71 и Ияйг — ЬТ и Н1 (1 = 1, 2, ..., л) соответственно. Тип компонента ЬТ должен быть совместимым с типом компонента ВТ. Тогда после вычисления выражения ЬеТЬ 18 РЬБТ1НСТ РВОМ В1901 будет получен результат ложь, если и только если лля всех 1 либо выражение "ЬТ = Н1" имеет значение истина, либо ЬЕ и ВЕ оба равны ХЬ)Ь(.-значениям. В противном случае возвращается истина. (Иначе говоря, строки Ееф и Идйг являются "различными", если и только если они не "дублируют'* одна другую в смысле главы 18.) Отметим, что условие 01ЯТ1НСТ никогда не дает в результате значение неизвестно. 1055 Приложение Б. Обзор языка БААЗ В языке ЯО!.3 также предоставляется новое условие 81И11АК, которое (как и условие ЫКЕ) служит для шаблонного сравнения символьных строк, т.е.

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

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

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

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