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

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

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

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

(По определению упорядоченным типом называется тип, для которого применим оператор "<". Простейшим примером неупорядоченного типа может служить тип Р01НТ.) Рассмотрим пример определения оператора обновления (во всех предьшущнх примерах операторы были операторами считывания)Я. Мы увидим далее, что в теле определения таких операторов вместо слова КЕТБКНЯ используется слово ОРРАТЕЯ.

Операторы обновления значений не возвращают и должны активизироваться с помощью явных вызовов САТ Ь (3.3]. В Операторы снетывания и обновления такясе называются наблюдателями и мутаторами соответственно, особенно в обьектныл системал (си. ность!Ротой книги). 160 Часть 11. Реляционная модель ОРЕВАТОВ ВЕГЬЕСТ ( Р РО1НТ ) ОРВАТЕЯ ( Р ) ВЕ613 ТНЕ Х ( Р ) := — ТНЕ Х ( Р ) ТНЕ У ( Р ) := - ТНЕ У ( Р ) ВЕТОВН ЕНО ЕНВ ОРЕВАТОВ Оператор ВЕГЬЕСТ отображает точку с декартовыми координатами (х,у) симметрично относительно начала координат в точку (-х,-у), модифицируя соответствующим образом координаты исходной точки. Обратите внимание на использование в этом примере выражений вида ТНЕ псевдоперемевная.

ТНЕ псевдопереиенная — это обращение оператора ТНЕ к точке назначения (в частности, слева от оператора присвоения). Такое обращение оператора фактически не возвращает, а назначает значение указанному компоненту своего аргумента. Например, в определении оператора ВЕГЬЕСТ выражение ТНЕ Х ( Р ) :=...; фактически присваивает компоненту Х некоторое значение (допустимого декартова представления) аргумента-переменной, представленной параметром Р. Разумеется, для изменения любого аргумента с помощью оператора обновления, в частности путем присвоения значения выражению ТНЕ псевдопереиенная, этот аргумент следует определить как переменную, а не как более общее выражение. Ниже показано, что псевдопеременные могуг быть вложенными.

ЧАВ ЬЯ ЫНЕЯЕ6 ; ТНЕ Х ( ТНЕ ВЕ613 ( 1,Я ) ) := Р.Я Наконец, от ненужного оператора можно избавиться, как, например, показано ниже. РВОР ОРЕВАТОВ ВЕГНЕСТ Однако удаляемый таким образом оператор не может быть встроенным. Преобразование типов Еше раз рассмотрим следующее определение типа данных.

ТУРЕ 3() РОЯЯВЕР ( СНАВ ) По умолчанию допустимое представление этого типа унаследует имя 3(), а значит, данное имя получит и соответствующий оператор выбора. Таким образом, следующее выражение будет корректным. 3() ( '31' ) Оно возвращает номер определенного поставщика. Обратите внимание на то, что оператор выбора 3() можно рассматривать как оператор преобразования типа, который преобразует строки в номера поставщиков. Аналогично оператор выбора Р(( можно рассматривать как оператор преобразования строк в номера деталей, а оператор выбора ДТУ вЂ” как оператор преобразования целых чисел в количество деталей и т.д.

В главе 3 приводилось несколько примеров, в которых строки сравнивались с номерами деталей. Например, в упр. 3.4 присутствует следующее выражение. ...ННЕВЕ Р(( = 'Р2' Глава 5. Домены, отношения и базовые переменные-отношения 161 Левая часть этого сравнения принадлежит типу Рэ, а правая имеет тип СНАЯ. Поэтому при сравнении (фактически во время компилирования) должна возникнуть ошибка несовпадения типов. Однако с концептуальной точки зрения система может "догадаться", что для преобразования значения в правой части сравнения (тнп СНАЯ) в тип Рэ можно использовать "оператор преобразования" РР.

В этом случае система перепишет предыдущее выражение следующим образом. ,..ННННН И = РР ( Рг ) Теперь операция сравнения является корректной. Вызов оператора преобразования в такой неявной форме называется приведением, и мы часто, хотя и негласно, использовали этот метод в главе 3.

Тем не менее известно, что на практике использование операций приведения нередко приводит к ошибкам в программах. По этой причине мы принимаем консервативную точку зрения, и с этого момента использование автоматических приведений типов запрешается — операнды всегда должны иметь соответствующие типы, а не просто быть приводимыми к этим типам. В частности, будем требовать следующее, ° Величины, расположенные слева и справа от операторов "<", ">" и "=", должны быть одного и того же типа. ° Величины, расположенные слева и справа от оператора присвоения ": =", должны быть одного и того же типа. Разумеется, прн необходимости для явного преобразования типов можно воспользоваться так называемыми операторами САЯТ, как, например, показано ниже.

САЯТ АЯ НАТТОЯИ, ( 5 ) Как уже отмечалось, операторы выбора — по крайней мере, зависящие от одного аргумента — также можно рассматривать в качестве явных операторов преобразования типов данных. Заключительные замечания Из всего вышесказанного о поддержке типов данных можно сделать несколько выводов, Наиболее важные из них приводятся ниже. ° Во-первых, наиболее важно то, что теперь система может определить, какие выражения являются допустимыми, а какие нет, и установить тип результата выполнения любого допустимого выражения. ° Во-вторых, общая совокупность всех типов данных определенной базы данных является замкнутым множеством.

Это означает, что тип результата выполнения любого допустимого выражения принадлежит этой совокупности. В частности, если операторы сравнения являются допустимыми, то этому замкнутому множеству обязательно должен принадлежать тип Ъоо1еап или значение Сгце! ° В-третьих, тот факт, что системе известны типы результатов выполнения всех допустимых выражений, означает, в частности, что системе известно и то, какие операции присвоения и сравненця допустимы. 162 Часть 11.

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

Другими словами, домены и классы объектов — это одно и то зюе! Данный факт является звеном, связующим две технологии — объектную и реляционную. Подробно этот важный вопрос изучается в главе 25. 5.3. Значения отношений Как уже говорилось в главе 3, следует четко различать собственно отношения и переменные-отношения (т.е. переменные, значениями которых являются отношения).

В этом разделе рассматриваются значения отношений (для краткости — просто отношения). Переменные-отношения будут рассмотрены в сдедующем разделе. Прежде всего дадим точное определение термина отношение. ° Пусть задано множество из и типов или доменов Т, ((= 1, 2, ..., и), причем все они необязательно должны быть различными. Тогда г будет отношением, определенным на этих типах, если оно состоит из двух частей: заголовка и телаз, где: а) заголовок — это множество из п атрибутов вида А;:Тй здесь А; — имена атрибутов (которые должны отличаться одно от другого) отношения г, а Т; — соответствующие имена типов ((= 1, 2, „и); б) тело — это множество из т кортежей й здесь б в свою очередь, является множеством компонентов вида Арчь в которых з; — значение типа Ть т.е.

значение атрибута для атрибута А; в кортеже г (( = 1, 2, ..., и). Значения т и п называются соответственно кардинальностью и степенью отношения г. Из этого определения вытекает следующее. 1. В терминах таблицы, представляющей отношение, заголовок — это строка„состоящая из названий столбцов и соответствующих имен типов, а тело — это множество строк данных (далее будет рассматриваться подробнее).

2. Говорят, что атрибут А; имеет тип Т; нли (ииогда) определен на типе Ть Отметим, что любое число различных атрибутов из одного отношения или из различных отношений может быть одного и того же типа (см. рис. 3.8 в главе 3, рис.4.5 и рис. 4.6 в главе 4). 3. В любой заданный момент могут существовать значения определенного типа, не представленные в базе данных как значение одного из атрибутов этого типа. Например, значение 'Р8' может быть номером некоторой детали, хотя на рис.

3.8 детали с номером 'Р8' нет. В Заголовок еи1е иногда называют схемой (отношения). Используется также терман содержание (1лселз1ол). В этом случае тело называется расширением (ехселнол), Глава 5. Домены, отношения и базовые переменные-отношения 163 4. Как сказано в определении, значение и, задающее количество атрибутов некоторого отношения, называется его степенью (иногда используется термин арность). В последнем случае отношение степени ! называется унарным, степени 2 — бинарным, степени 3 — тернарным, ..., с~висни п — п-арным. Таким образом, реляционная модель в общем случае имеет дело с и-арными отношениями, где п — произвольное натуральное число. 5. Иногда вместо термина картеж используется термин и-кортеж (например 4- кортеж, 5-кортеж и т.д.), однако чаще всего префикс "и-" опускается.

б. Когда мы говорим, что Н является заголовком отношения г, то, если быть более точным, это означает, что отношение г является отношением типа КЕЫТ10И(Н) (имя этого типа именно КЕЕАТ10М(Н)). Дальнейшее обсуждение данного вопроса будет продолжено в разделе 5.4. В качестве примера рассмотрим представленную на рис. 5.1 таблицу (в этом случае мы умышленно не называем ее отношением), чтобы проверить, насколько она соответствует данному выше определению.

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

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

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

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