Главная » Просмотр файлов » С.Д. Кузнецов - Основы баз данных

С.Д. Кузнецов - Основы баз данных (1121716), страница 99

Файл №1121716 С.Д. Кузнецов - Основы баз данных (С.Д. Кузнецов - Основы баз данных) 99 страницаС.Д. Кузнецов - Основы баз данных (1121716) страница 992019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

При этом остаются все упомянутые выше проблемы, хотя в таком случае явно требуется объявление ограничений РБ1млеу кеу или глч10це для соответствующего набора столбцов. Наконец, при выборе последней альтернативы (системно-генерируемые ссылочные значения) каждой строке, вставляемой в типизированную таблицу, ассоциированную с соответствующим структурным типом, присваивается уникальный идентификатор. Это значение сохраняется в самоссылающемся столбце и может быть использовано любым приложением для уникальной идентификации данной строки на всем протяжении жизни таблицы. Спецификация ссылочного типа при объявлении столбцов и атрибутов Самоссылающиеся столбцы всегда имеют Бее-тип, Конкретный КЕЕ-тип зависит от двух факторов: ° структурного типа, ассоциированного с типизированной таблицей: БЕБ-тип всегда связан с некоторым структурным типом; Основы бвз данных Курс ° выбранного способа генерации ссылочных значений; эта информация задается в определении структурного типа и не присутствует в спецификации ссылочного типа.

Для объявления местоположения ссылочного типа используется следующий синтаксис: геуе енсе гуре ::= ЕЕЕ (геуегепсеб еуре) ( БСОРЕ еабуе пале гегегепсеб Еуре ::= 'дПР пап~в цпт пвзве должно задавать имя типа (гееегепсеб гуре), на экземпляры которого будут указывать значения ссылочного типа. ЕЕЕ-тип может использоваться в качестве типа атрибута структурного типа, и в этом случае ге1егепсед суре может быть тем же самым, что и определяемый структурный тип. Во все остальных случаях геЕегепсед Гуре должен являться некоторым существующим структурным типом. В необязательном разделе ЕГОРЕ задается имя типизированной таблицы.

Ассоциированным структурным типом этой таблицы должен быть теГегеосеЗ Гуре ЕЕЕ-типа, в спецификации которого содержится данный раздел ЕСОРЕ. Хотя можно было бы ожидать, что значение еЕР-типа можно использовать для ссылки на строки типизированных таблиц, ассоциированный структурный тип которых является собственным подтипом указанного гегегеосей куре, в В0Е такая разновидность ссылок не допускается. Ассоциированный структурный тип таблицы, на строки которой указывают значения ЕЕЕ-типа, должен быть в точности тем же, что и гейегспсеб суре этого лег-типа. Но, конечно, можно объявить ЕЕР-тип, у которого гегегспсеа Суре ЯВЛЯЕтСя аССОцИ- ированным структурным типом подтаблицы, хотя самоссылающийся столбец этой подтаблицы необходимо наследуется от максимальной супертаблицы семейства таблиц.

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

Но как система может это узнать, не потратив множество ресурсов? Отчасти здесь может помочь раздел ЕСОРЕ. В этом разделе указывается одна таблица, в которой строки должны существовать для всех значений данного местоположения, типом 472 Лекция 1Я Язык базданных Яоы обьектные расши ения данных которого является некоторый НЕЕ-тип. (В будущих версиях стандарта Я~1., по всей видимости, будет разрешено указывать в разделе ясоре список имен типизированных таблиц или даже использовать некоторую конструкцию, означающую «все таблицы, ассоциированные с данным структурным типом».) Итак, если определяется столбеп таблицы, поле строчного типа или атрибут структурного типа, и типом этого местоположения является ееетип, то можно специфицировать раздел ЯСОНЕ.

Однако если такой раздел действительно указывается, то требуется также указать, нужна ли проверка ссылочных значений. Для этого служит конструкция ге1егепсе асоре с[тесК, определяемая следующим синтаксическим правилом: гебегепсе асора с[теса ::= ЕЕЕЕЕЕМСЕЯ ЛНЕ [ НОТ 1 СНЕСКЕР ОН РЕРЕТЕ гегегепа(а1 асс[оп ] Если указывается еееененсея лее нот снескеР или если раздел яСОЕЕ не задается, то в определяемом местоположении можно хранить любое ссылочное значение, независимо оттого, является ли оно значением самоссылающегося столбца какой-либо таблицы, на строку которой предположительно указывает ссылка.

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

Как обычно (см. лекцию 12), возможными ссылочными действиями являются ееятетст, сляслое, яет НРРР и но лсттон. Если ссылочное действие явно не указывается, по умолчанию принимается НО ЛСТТОН. (Для поля строчного типа (дои туре) и атрибута структурного типа допускается только НО ЛСТТОН.) Заметим, что если раздел ясоре включается в определение атрибута структурного типа, то в конструкции со1цпп орг[спз столбца типизированной таблицы, соответствующего данному атрибуту, раздел ясОРЕ присутствовать не может — это считается синтаксической ошибкой.

473 Основы баз данных К рс Выборка данных из типизированных таблиц Приведем несколько примеров операций выборки данных из типизированных таблиц, а также кратко обсудим операции обновления таких таблиц. Для этого сначала определим структурные типы емр т, РКООКЛММКВ т и РКРТ т, а также соответствуюШие типизированные таблицы (упрошенный вариант). СКЕАТЕ ТУРЕ ЕМР Т АЯ ЕМР МАМЕ ЧАКСНАВ(20), кмр ВРлтк Рлтк, ЕМР ЯА1 ЯАЬАКУ, РЕРТ КЕГ (РЕРТ)) 1иятлмттлкьк иот Гтиль КЕГ 1Я ЯУЯТЕМ ГЕИЕКАТЕР 1ИЯТАИСЕ МЕТНОР аое КЕТРКИЯ РЕС1МА1 (3,1); СКЕАТЕ ТУРЕ РКОГВАММЕВ Т ВИРЕК ЕМР Т АЯ ( РК06 ТАИС ЧАКСНАК (10)) 1МЯТАИТ1АВ1 Е МОТ ГГИА1; скелте туРе РеРт т АБ ( РЕРТ ИО 1ИТЕОЕК, РЕРТ МАМЕ ЧАВСНАК(200), РЕРТ МИ6 КЕГ (ЕМР)) 1ИЯТАИТ1АВ1 Е КЕГ 1Я БУЯТЕМ ГЕМЕВАТЕР МОТ Г1ИАЬ) СВЕАТЕ ТАВЬЕ ЕМР ОГ ЕМР 'Г (КЕГ 1Б РЕРТ 1Р ЯУБТЕМ 6ЕМЕРАТЕР, РЕРТ Х1ТН ОРТ10ИЯ ЯСОРЕ РЕРТ); СРЕАТЕ ТАВ1 Е РКООВЛ)(МЕК ОГ РКООВАММЕК Т ВИРЕК ЕМР; СКЕАТЕ ТАВЬЕ РЕРТ ОГ РЕРТ 'Г (КЕГ 1Я ЕМР 1Р ЯУЯТЕМ 6ЕМЕРАТЕР, РЕРТ МИ6 И1ТН ОРТ10ИЯ ЯСОРЕ ЕМР); Следует отметить, что с типизированными таблицами можно работать, как с обычными таблицами'.

Поэтому, в частности, возможен следуюший запрос. * По крайней мере, в той же синтаксической форме. 474 Лекция 19 Язык баз данных ЯОЫ объектные расширения Пример 19.1. Найти имена всех служащих, размер заработной платы которых меньше 20000.00. ЯЕЬЕСТ ЕМР МАМЕ РКСМ ЕМР ЯНЕКЕ ЕМР ЯА1 < 20000.001 В соответствии с семантикой Б1 )Е:1999, при выполнении запроса из примера 19.1 сначала будет произведена выборка имен служащих, удовлетворяющих условию, из таблицы ЕМР, затем — из таблицы РКОСКАММЕК, и эти промежуточные результаты будут скомбинированы в окончательный результат путем применения операции объединения (1ЛМОН). Но предположим, что нас интересуют только те служащие, получающие зарплату, не превышающую 20000 руб., которые не являются программистами (пример 19.2).

Тогда можно применить формулировку запроса, в которой присутствует спецификация Омьу: ЯЕт ЕСТ ЕМР МАМЕ РКСМ ОИРУ (ЕМР) ЯНЕКЕ ЕМР ЯА1 < 20000.00; Естественно, в запросах к типизированным таблицам можно использовать ссылки. Пример 19.3. Найти имена и названия отделов, где работают служащие, размер заработной платы которых меньше 20000.00. ЯЕЕЕСТ ЕМР МАМЕ, РЕРТ -> ЭЕР МАМЕ РКСМ ЕМР ННЕКЕ ЕМР ЯАЬ < 20000.00; В Я;1Е:1999 операция «->» называется операцией разымеяования (к(еге~егелс(лд), но в обиходе ее можно считать операцией перехода по ссылке (в нашем примере Оерт ссылается на Оерт НАме). можно неформально трактовать ссылочные значения как указатели на строки типизированных таблиц. Может показаться неожиданным, что запрос из примера !9.3 выбирает значения из таблицы эерт, хотя в разделе РНОм этого запроса она даже не упоминается.

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

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

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

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