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

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

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

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

Во-вторых, необходимо подчеркнуть, что последующее изложение вопросов далеко не полное. И наконец, безусловно, в порядке вещей, что некоторые детали ко времени утверждения стандарта ЯОЬЗ могут измениться, Б.2. Новые типы данных Как указывалось в предыдущем разделе, все наиболее очевидные аспекты новизны в языке 8()ЬЗ связаны с типами данных'.

Появились новые встроенные типы данных, точнее — новые встроенные скалярные типы данных, а также новые генераторы типов, которые в языке ЯЯЬЗ называются конструкторами типа. Оператор СЕНАТЕ ТХРЕ позволяет пользователям определять собственные типы (конечно, имеется и соответствующий оператор ОКОР ТХРЕ). Рассмотрим все эти возможности по порядку. Встроенные скалярнЫе типы данных В языке 8()ЬЗ поддерживаются три новых скалярных типа данных. т ВООЬЕАН. Тип ВООЬЕАН вЂ” это, конечно, тнп логических значений.

Поддерживаются обычные логические операторы (НОТ, АНО, ОК), а логические выражения могут использоваться, грубо говоря, везде, где обычно используются скалярные выражения. Однако отметим, что в языке ЯОЬ предполагается три логических значения, а не два, как уже указывалось в главе ) 8. Этим значениям соответствуют литералы ТВОЕ, РАЬВЕ н ОМКНОНН.

Тем не менее тип ВООЬЕАН включает только два значения, а не три. Неизвестное (ОНКНОНН) логическое значение представлено — совершенно неправильно! — )4()ЕЕ значениеч. Например, присвоение значения ОНКНОНН переменной типа ВООЬЕАН на самом деле приведет к установке ее значения равным НОЬЬ. Чтобы понять, насколько это серьезная ошибка, можно поразмышлять об аналоге числового типа, который для представления нуля использовал бы )ч)()ЬЬ- значение вместо числа нуль. Еще одна экстравагантность заключается в том, что в языке ВЯЬЗ (удивительно!) простая ссылка на логическую переменную не считается экземпляром того, что в приложении А называлось параметром <первичное условие>.

Таким образом, например, если переменная В относится к типу ВООЬЕАН, то предложение НЕЕКЕ В недопустимо! Наряду с типом ВООЬЕАН в языке 8()ЬЗ вводятся два новых оператора обобщения, ЕХЕКХ (Каждый) — а не АЬЬ (Все) по какой-то причине — и АНХ (Любой).

В обоих случаях аргумент представляет столбец значений типа ВООЬЕАН (почти наверняка производный столбезь как, например, в предложении ННЕКЕ АНХ(ЯТХ > 200)). Если столбец пустой, оба оператора возвращают значение неизвестно (или, правильнее, )4()ЕЕ-значение)з. Если столбец не пустой, то оператор ЕЧЕКХ возвращает значение истина, если каждое значение в столбце — истина, и значение ложь в противном ~ Все же добавим, что одним иэ наиболее неочевидных аспектов являются "домены" в стиле языка оДЕ (см.

главы 4 и 5), которые, по-видичолэу, были тихо забиты. г Сравните в этом отношении свойства условий АТЬ или АПУ (см. приложение А). 1042 Приложения случае; а оператор йМХ возвращает значение ложь, если каждое значение в столбце — ложь, и значение истина в противном случае. Как и для других операторов обобщения, )ч)(Л.1.-значения перед выполнением операции исключаются. ° СЬОВ ("большой символьный объект").

Этот тип представляет собой символьную строку переменной длины, по существу, неограниченного размера. Сопутствующий механизм локатора аналогичен (до некоторой степени) привычному механизму курсора и позволяет иметь доступ к отдельным частям таких строк. Многие операторы обычных символьных строк не поддерживают подобные строки. Среди тех, которые все-.гаки поддерживают, — "=" и ЫКЕ.

° ВЬОВ (" большой двоичный объект"). Этот тип аналогичен предыдущему, но строки являются строками "октетов", т.е., по сути, байтов, а не символов. Генерируемые типы В языке БОЬЗ имеются следующие генераторы типов: ВЕР, АВВАЧ и ВОИ. Однако единственный способ определить "тип ВЕР" — неявный представляющий собой побочный эффект определения "структурированного типа" с помощью оператора СВЕАТЕ ТХРЕ (читайте далее этот раздел). Поэтому мы пока не будем его рассматривать.

Что касается генераторов типов АННАХ и ВОИ, то они, по существу, вообще не могут быть определены как таковые (поскольку не существует специальных операторов СВЕАТЕ АРВАХ ТХРЕ и СВЕАТЕ ВОИ ТХРЕ). Они могут исиользаватьсл только путем обращения к соответствующему генератору типа, "подключенному", например, к оператору СВЕАТЕ ТАВЬЕ.

Приведем пример, в котором показано, как используется тип АННАХ. СВЕАТЕ ТАВЬЕ ЯйЬЕЯ ( 1ТЕМ4 СНАМ(5), ОТХ 1МТЕОЕВ АННАХ [12), РВ1МАВЧ КЕХ ( 1ТЕМ$ ) ) Здесь столбец ОТХ представляет значения-массивы, причем каждое значение ОТХ является массивом из 12 элементов, каждый из которых имеет тип 1МТЕОЕВ. Замечание. Массивы языка БОЬ ограничиваются одним измерением, и его элементы не могут быть, в свою очередь, массивами.

Ниже приведен пример запроса к определенной выше таблице ЯАЬЕЯ. БЕЬЕСТ 1ТЕМ4 РВОМ БАЬЕБ ИНЕВЕ ОТХ )3) > 100 1 (Смысловое значение запроса — "Получить номера товаров, которые были проданы в марте в количестве, превышающем 100 единиц'Ь) Далее следует пример вставки строки.

1МЯЕВТ 1МТО НАВЕЯ ( 1ТЕМ$, ОТХ ) ЧАЬНЕЯ ( 'Х4320', АВВАЧ ( о, о, о, о, о, о, о, о, о, о, о, о ) ) 1 (Обратите внимание на использование литерала массива.) 1043 Приложение Б. Обзор языка БДЛЗ Типы КОИ аналогичны, как, например, показано ниже. СКЕАТЕ ТАВЬЕ СПЯТ ( СПЯТ 4 СМАК(3), АРРК КОИ ( БТКЕЕТ С1ТХ ЯТАТЕ 21Р РКТНАКХ КЕУ ( СПЯТ) СНАМ(50)с СНАМ(25), СНАМ(2), СНАМ(5) ) ))' Пример запроса выглядит следующим образом. ЯЕЬЕСТ СПЯТ$ ГКОН СПЯТ ИНЕКЕ АРРК.ЯТАТЕ = 'СА' 1 Далее приведен пример вставки строки. 1МЯЕКТ 1МТО СПЯТ ( СПЯТ$, АРОК ) ЧАЬПЕЯ ( '001', КОИ ( '1600 Реллву1чалТа Аче.', 'ИаайЬл01оп', 'РС', '20500' ) ) Типы Р1ЯТ1ХСТ СКЕАТЕ ТУРЕ <ммя типа> АЯ <имя встроенного скалярного типа> Г1МА1 [ <ревмя приведения> ] ( <список спецвфлкацнй методов> ] Пример определения подобного пользовательского типа приведен ниже.

СКЕАТЕ ТУРЕ ИЕ16НТ АЯ МПНЕК1С (5,1) Г1МАЬ Пояснения 1. Тип ИЕ16НТ наследует операторы сравнения, которые применяются к основному типу, т.е. к типу МПНЕК1С. Однако отметим, что значения типа ИЕ16НТ сравнимы с другими его значениями и бокьисе с никакими. Таким образом, если ИТ вЂ” БОЬ- переменная типа ИЕ16НТ, следующее сравнение недопустимо. ИТ > 14.7 1044 Приложения С помощью нового оператора СЕНАТЕ ТУРЕ создается тип, определяемый пользователем.

К нему относится или тип Р1ЯТ1МСТ, или структурированный тип (отметим, кстати, что генерируемые типы — см. предыдущий раздел — не считаются "типами, определяемыми пользователями", в том же смысле). В данном подразделе будет рассматриваться только тип 01БТ1МСТ. Название типа РУБТ1МСТ, переводимое как "отдельный", здесь пишется прописными буквами, чтобы подчеркнуть, что это слово используется не в его обычном смысле. Тип 01ЯТ1МСТ ограничивается специальным случаем типа, определяемого пользователем. В частности, его физическая реализация должна включать ровно один из встроенных скалярных типов. Ниже приводится синтаксис для определения типа 01ЯТ1МСТ. Однако, если в параметре <реяли приведения> указаны соответствующие опции приведения (детали здесь не уточняются), следующие сравнения уже будут допустимыми.

ИТ > СйЯТ ( 14.7 АЯ ИЕ16НТ ) САЯТ ( ИТ йЯ КСМЕВ1С ) > 14.7 Более того, два предыдуших обращения к преобразованию САЯТ могут быть приведены к виду ИЕ16НТ(14.7) и КВНЕН1С(ИТ) соответственно. Замечание. Имена функций ИЕ16НТ и КВНЕВ1С здесь указываются определителем типа (в параметре <режии приведения>). Они не подразумеваются именем типа, который был определен, или именем их основного типа. 2. Аналогичные замечания применимы и к операции присвоения, т.е. значение типа ИЕ16НТ может быть присвоено только результату типа ИЕ16НТ и никакому другому. 3. Тип ИЕ16НТ автоматически не наследует другие операторы от основного типа.

Однако определение метода в параметре <спецификация негода> (ни один пример не приведен) позволяет определяющему тип пользователю определить "методы" (см. следующий подраздел), которые применимы к значениям и переменным типа ИЕ16НТ.

Можно, например, определить функцию АВВИ, которая складывает два веса, получая третий. Поэтому пользователь может написать такие выражения. АВЮИ ( ИТ1, ИТ2 ) АВВИ ( ИТ1, ИЕ16НТ ( 14.7 ) ) 4. В определении типа должна присутствовать спецификация Г1КАЬ (см. следующий подраздел). Структурированные типы Еще один вид типа, определяемого пользователем,— структурированный тип. Ниже представлены два примераз.

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

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

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

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

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