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

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

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

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

Мы же ладим ему следуюшее определение; строгий контроль типов имеет место, если каждое значение принадлежит какому-либо типу и при выполнении любой операции система проверяет, принадлежит ли каждый из операндов этой операции допустимому для нее типу. Рассмотрим, например, следующие выражения. Р.ИЕ10НТ ь БР.НТТ /* Вес детали плюс количество деталей */ РЛЕ16НТ * БР.()ТУ /* Вес детали, умноженный на количество деталей */ Первое выражение не имеет никакого смысла, поэтому система должна его отвергнуть. В~орое выражение имеет смысл — оно дает суммарный вес всех деталей конкретной поставки.

Таким образом, определяя операторы для веса и количества деталей (в сочетании), следует включить в определение оператор "", но нет необходимости определять оператор "ь". Ниже приводится еше один пример, на этот раз для операторов сравнения (в частности, для оператора равенства). РЛЕ16НТ "- БР.()ТТ Р.С1ТУ = Б.С1ТУ З В литературе типы иногда называют абстрактными типами данных.

Это делается для того, чтобы подчеркнуть различие между типом и его физической реализацией. Однако здесь данный термин использоваться не будет, поскольку зто предполагало бы существование других типов, не "абстрактных" в указанном смысле, тогда как мы считаем, что различать тип и его физическуюреализацию необходиио всегда. Глава 5. Домены, отношения и базовые переменные-отношения 153 И в этом случае первое выражение, в отличие от второго, смысла не имеет. Таким образом, оператор "=" для веса и количества деталей (в сочетании) определять наверняка не следует, тогда как для сравнения городов он, скорее всего, понадобитсяз.

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

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

Другими словами, если у — значение, то оно как бы обладает неким признаком, который гласит: "Я вЂ” целое число" или "Я вЂ” номер поставщика", или "Я вЂ” геометрическая точка". Заметьте, что по определению заданное значение обязательно принадлежит лишь одному типул и никогда не может изменить свой тип (отсюда следует, что разные типы данных никогда не пересекаются, т.е. не имеют общих значений). Каждый тип данных может быть либо скалярным, либо нескалярным. Нескалнрными являются все типы, явно определенные таким образом, что в них есть компоненты, видимые для пользователя. В частности, в этом смысле нескалярными являются типы отношений.

Например, отношение, представленное на рис. 5.1, принадлежит определенному типу и этот тип, несомненно, имеет видимые компоненты (а именно — атрибуты И, ойаМБ, ЗТАТ08 и СТО). Скалярные же типы, напротив, видимых пользователю компонентов не имеют. Подведем итоги, 1. В оставшейся части этого раздела все рассматриваемые типы будут скалярными, и поэтому, употребляя термин тип, мы будем подразумевать именно скалярный тип. З В отношении вопроса о толь какие операторы и для каких типов являются допустимыми, нами замечено, что исторически в большинстве изданий по базам данных, в том числе в нескольких первых иэданилл этой книги, рассматриваются операторы сравнения (">","=" и т.д) и не рассматриваются другие операторы, подобные """ и "х". Е За исключением тех случаев, когда имеет место поддержка наследования типов.

До главы э'9 эта вохможность рассматриваться не будет. 154 Часть П. Реляционная модель 2. Физическое представление заданного скалярного значения, т.е. заданное значение заданного скалярного типа, может быть произвольно сложным.

В частности, оно может быль составным (однако его компоненты не могут быть видимы пользователю). Например, при определенных обстоятельствах заданное скалярное значение может иметь физическое представление в виде массива стеков списков символьных строк. 3. Из-за того что скалярные типы не имеют видимых компонентов, их иногда называют инкапсулированными (скрытыми).

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

4. Как вы вскоре убедитесь, скалярные типы имеют так называемые допуслпьиые представления, а допустимые представления„в свою очередь, обязательно имеют видимые компоненты. Обратите внимание на то, что в данном случае видимые компоненты являются компонентами не типа, а его допустимого представления.

Тип данных всегда остается скалярным в смысле приведенного выше определения. Определение типа ТУРЕ <иня типа> <возможное представлелле> ...; В качестве примера рассмотрим определения типов для базы данных поставщиков и деталей (см. рис. 3.9). ТУРЕ Я() ТУРЕ НАНЕ ТУРЕ Р() ТУРЕ СОЬОН ТУРЕ ))ЕУОНТ ТУРЕ ОТХ РОЯЯНЕР (СНАН) 1 РОБЯНЕР (СНАН) 1 РОЯБНЕР (СНАЯ) 1 РОЯЯНЕР (СНАН) РОЯЯНЕР (НАТ1ОНАЬ) 1 РОБЯНЕР (1НТЕОЕН) 1 Пояснения 1. Поскольку из главы 3 следует, что атрибут поставщиков БТАТОЯ и атрибут поставщиков и деталей С1ТУ определяетса с помощью встроенных типов, а не типов, определенных пользователем, определение типов для указанных атрибутов отсутствует. 2. Как мы уже видели, физическое представление типа скрыто от пользователя.

Соответственно приведенные выше определения типов не содержат никакой информации об их физическом представлении. Фактически эти представления должны задаваться как часть отображения "концептуальный-внутренний" (см. главу 2„раздел 2.6), Глава 5, Домены, отношения и базовые переменные-отношения 155 В этой книге мы часто будем использовать язык Тп1опа) Р (вернее, некоторую его версию), впервые применявшийся в главе 3 для иллюстрации излагаемых а ней идей. В общих чертах язык Тпгог!а! Р напоминает язык Рааса!. Мы будем знакомить вас с этим языком по мере его использования.

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

Здесь принимаются очевидные синтаксические соглашения, суть которых состоит в следующем: неименованные допустимые представления наследуют имя соответствующих типов, а компоненты неименованных допустимых представлений наследуют имена соответствующих представлений. Например, единственное допустимое представление, определенное для типа ОТУ, также называется ОТУ; то же самое относится к единственному компоненту данного возможного представления. 4. При определении нового типа система делает в каталоге запись, содержащую описание этого типа (чтобы вспомнить некоторые детали, касающиеся каталогов, возвратитесь к разделу 3.6 главы 3). То же самое происходит при определении оператора (об этом рассказывается в двух следующих разделах).

5. Возможно, вы заметили, что в приведенных выше определениях типов не задаются фактические значения, составляющие конкретный тип. Зту функцию выполняют наложенные на тип ограничения (то, что находится в круглых скобках в приведенном выше примере описания типов), которые будут рассмотрены в главе 8. Если какой-либо тип данных больше не нужен, от него, конечно же, можно избавиться. ОВОР ТУРЕ <лия типа> В приведенном выше операторе параметр <иия типа> должен задавать имя типа данных, определенного пользователем, но не имя какого-либо встроенного типа. В результате выполнения этого оператора из каталога удаляется запись, описывающая рассматриваемый тип данных, после чего он перестает быть известным системе. Замечание.

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

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

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

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