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

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

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

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

С формальной точки зрения индивидуальный тнп данных является частным случаем структурного типа данных. Обе разновидности ()ОТ определяются единым синтаксисом, который мы обсудим в следующих подразделах. В частности, ключевое слово утиль играет важную роль в определении структурного типа, указывая на тот факт, что этот тип может использоваться только для создания объектов, а не для порождения новых типов на основе механизма наследования. При определении индивидуальных типов механизм наследования не используется, и поэтому в определении любого индивидуального типа должно при- СутетВОВатЬ КЛЮЧЕВОЕ СЛОВО Р1НАЬ.ч ДаЛЕЕ, ПОСКОЛЬКУ ИидняндуаЛЬНЫй тип является частным типом структурного типа, лля индивидуального типа можно определять методы. В своих книгах главный редактор стандартов БОЕ Джим Мелтон постоянно подчеркивает семантическое сходство понятий индивидуально~о типа данных и домена в смысле БОБ ( лекция 11).

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

Конечно, этот механизм существенно более полезен дяя структурных типов, но его вполне можно было бы реализовать и для индивидуальных типов. 458 Язык баз данных 80Ы объектные расширения Лекция 19 (Ь) для значений столбца, определенного на индивидуальном типе данных, не допускаются операции соответствующего базового типа (если не использовать операцию явного приведения типов). Здесь явно имеются противоречия, для сглаживания которых требуется модифицировать понятие итщивидуального типа данных. Определение структурных типов Общий синтаксис оператора определения Ы)Т (индивидуального или структурного) определяется следующими правилами: [))зт с)е11п1с1оп ::= СЕЕАТЕ ТУРЕ [[Гзт паве яцЬгуре с1ацяе АБ гергеяепсас1оп ) [ 1пягапгуаЬ)е с1ацяе ) с[па11гу ге(егепсе суре ярес111саг(оп ) [ ге( саяТ орс)оп саяг орг)оп ) [ вегпос) ярес1[1саг)оп совва11яг Имя определяемого пользователем типа данных имеет, в общем случае, традиционную для Я)) трехзвенную структуру — нмя каталога.ммя схемы.ммя типа, Раздел подтипизации задается в следующем синтаксисе: яцЬгуре с1ацяе ::= [)И[)ЕЕ [)Гзт паве Если этот раздел присутствует в определении (ЛЭТ, то в нем указывается имя ранее определенного ИЭТ, атрибуты и методы которого будут наследоваться определяемым структурным типом.

Структурные типы, определяемые без использования наследования, называются максимальными сунернзинами (поскольку у любого из таких типов супертип отсутствует).* В определениях максимального структурного супертипа или индивидуального типа должен присутствовать раздел представления (АЕ): гергеяепсас1оп ::= ргес)е11пес) гуре [ассг)Ьцге с)е[1п1с1оп совва11яг) Если в разделе представления указывается имя предопределенного встроенного типа, то определяется индивидуальный тип. Указание спис- " Как уже отмечалось ранее, раздел подтипизапии может присутстао ааль только при опреле- лении структурного ГЛЗТ. 459 Основы баз данных ка определений атрибутов соответствует определению структурного типа. Заметим, что раздел представления может отсутствовать.

В этом случае должен присутствовать раздел подтипизации, и представление заново определяемого структурного типа полностью наследуется из определения структурного Ш)Т, имя которого указано после ключевого слова ОИОКВ. Определение атрибута структурного ппт Определение атрибута имеет следующий синтаксис: аггг(Ьпге с)ег1п(г(оп ::= асггТЬисе паше г)ага гуре [ гейегепсе еооре сЬео[с с1егаи1г с1апзе 1 [ со11аге с1аизе Имя определяемого атрибута должно отличаться от имен всех других атрибутов определяемого типа, включая имена атрибутов, наследуемых от супертипа, и имена атрибутов типа данных определяемого атрибута.

Тип данных может быть любым допустимым в КОЕ типом данных (включая КОНСтруИруЕМЫЕ ТИПЫ ЛКЛМ'а И НОХ, а тахжЕ ГЛ1т), КРОМЕ СаМОГО ОнрсдЕЛяемого структурного типа и его супертипов**. Для атрибута можно объявить значение по умолчанию. Если типом данных атрибута является встроенный тип данных, то значение атрибута объявляется в том же синтаксисе, что и значение столбца по умолчанию в определении таблицы (см.

лекцию 12). Если типом данных атрибута является ОРт (индивидуальный или структурный), тип КОХ или ссылочный тип (см. следующий пункт), то единственным допустимым значением по умолчанию является неопределенное значение (балл,ь). Если же типом данных атрибута является тип лпялу, то значением по умолчанию может быть ила. или пустое значение-массив (указывается как ллкйу [1). Для каждого определения атрибута, в котором типом атрибута является структурный тип, система автоматически генерирует пару методов, имена которых совпадают с именем атрибута.

Первый метод является наблюдапгелем (оггяел ег.). Он вызывается без явных параметров и выдает значение указанного атрибута в значении того структурного типа, к которому применяется. Второй метод является мугпагпоролг (пгигагог). Он вызывается с одним явным параметром — значением типа атрибута, применяется к А в стандарте зОызббз и ипьтгзят. *' Последнее ограничение является непонятным. Его можно обойти, например, следующим образом.

Пусть структурный тип т' опрелеляется как подтип типа т, и мы хотим включить в представление типа т' атрибут а типа т. Тогда предварительно определим тип т" как полтин типа та точности стем же представлением. Тогда ничто не помешает определить в представлении типа т' атрибут е типа т". 460 Лекция 19 Язык баз данных ЗОЫ объектные расширения некоторому местоположению (столбцу, переменной или параметру), где находится значение определяемого структурного типа, и этот вызов приводит к тому, что значение заменяется новым значением того же типа с измененным соответствующим образом значением данного атрибута. Присутствие в определении атрибута раздела ге1егепсе псоре с)гес)с возможно (и требуется) в том и только в том случае, когда типом определяемого атрибута является ссылочный тип.

Более подробно мы обсудим суть этой спецификации в следующем разделе. Пока лишь кратко заметим, что этот раздел указывает системе, должна ли она проверять, что каждое значение данного атрибута является ссылкой на существующий экземпляр указанного структурного типа, и должна ли система вызывать ссылочное действие при удалении экземпляра, на который ведет ссылка.а Можно определить инстанциируемый (гпз(апг(аа)е) или неинетанциируемый (паг!пзгап((аЫе) структурный тип: Тппсап~)а)у)е с1ацпе ::= 1ИЕТАНТ1АЕЬЕ НОТ 1ИЕТАИТ1АЕЕЕ Для неистанциируемого типа конструктор не определяется, и поэтому создать значение этого типа невозможно.а* Такие типы применимы только для определения инстанциируемых подтипов. Назначение неинстанциируемых типов состоит в моделировании абстрактных концепций, на которых основываются более конкретные концепции.

Неинстанциируемые типы могут быть типами атрибутов других структурных типов, типами столбцов, переменных и т. д. Однако в соответствующем местоположении всегда должно находиться либо значение инстанциируемого подтипа данного неинстанциируемого типа, либо неопределенное значение. При отсутствии явной спецификации по умолчанию тип считается инстанциируемым. Обязательный раздел Тзпа11ГУ указывает на возможность или невозможность определения подтипов определяемого структурного типа: * Мы вынуждены следовать терминологии стандарта З(е), которая иногда бывает довольно нечеткой. В частности, по отношению к структурным типам используются термины значение г'то)не) во вполне стандартном смысле; иесмонолозсение Гмуе) как расширенное понятие переменной (нечто, содер;кашее значение структурного типа); экземпляр (!тгонсе). Последний термин в объектной терминологии обычно используется в том же смысле, что объект класса.

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

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

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

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