Лекция_1 (1119133), страница 6

Файл №1119133 Лекция_1 (С.Д. Кузнецов - Презентации лекций) 6 страницаЛекция_1 (1119133) страница 62019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

главы баз данных. Лекция 185Типы данных SQL (49)Типы, определяемые пользователем (3)Структурные типы (Structured Types) Соответствующие возможности SQL:1999позволяют определять долговременно хранимые,именованные типы данных, включающие один илиболее атрибутов любого из допустимых в SQL типаданных, в том числе другие◦ структурные типы,◦ типы коллекций,◦ строчные типы и т. д.20.05.2016Доп. главы баз данных. Лекция 186Типы данных SQL (50)Типы, определяемые пользователем (4)Стандарт SQL не накладывает ограниченийна сложность получаемой в результатеструктуры данных, однако не запрещаетустанавливать такие ограничения вреализации Дополнительные механизмы определяемыхпользователями методов, функций ипроцедур позволяют определитьповеденческие аспекты структурного типа20.05.2016Доп. главы баз данных.

Лекция 187Типы данных SQL (51)Ссылочные типы (1)Обеспечивается механизм конструирования типов◦ ссылочных типовкоторые могут использоваться в качестве типовстолбцов некоторого вида таблиц◦ типизированных таблицФактически значениями ссылочного типа являютсястроки соответствующей типизированной таблицы20.05.2016Доп. главы баз данных. Лекция 188Типы данных SQL (52)Ссылочные типы (2)Более точно, каждой строке типизированной таблицыприписывается уникальное значение◦ нечто вроде первичного ключа, назначаемого системой илиприложением,которое может использоваться в методах, определенных длятабличного типа, для уникальной идентификации строксоответствующей таблицыЭти уникальные значения называются ссылочнымизначениями, а их тип – ссылочным типомСсылочный тип может содержать только те значения, которыедействительно ссылаются на экземпляры указанного типа◦ т.

е. на строки соответствующей типизированной таблицы20.05.2016Доп. главы баз данных. Лекция 189Средства определения, изменения определения иотмены определения доменов (1)При определении столбцов таблицы требуется явно указыватьтип данных каждого столбцаДля этого можно использовать средства спецификации типаНо в SQL поддерживается и другой механизм— механизмдоменовДомен является долговременно хранимым, именованнымобъектом схемы базы данныхДомены можно:◦ создавать (определять),◦ изменять (изменять определения) и◦ ликвидировать (отменять определение)Имена доменов можно использовать при определениистолбцов таблиц20.05.2016Доп.

главы баз данных. Лекция 190Средства определения, изменения определения иотмены определения доменов (2)Можно считать, что в SQL определение доменапредставляет собой вынесенное за пределыопределения индивидуальной таблицы «родовое»определение столбца, которое можно использоватьдля определения различных реальных столбцовреальных базовых таблицВ языке SQL обеспечиваются средства◦ определения доменов,◦ изменения и◦ отмены существующих определений20.05.2016Доп. главы баз данных. Лекция 191Средства определения, изменения определения иотмены определения доменов (3)Определение доменаДля определения домена в SQL используется операторCREATE DOMAINdomain_definition ::= CREATE DOMAIN domain_name [AS]data_type[default_definition ][domain_constraint_definition_list ]Здесь domain_name задает имя создаваемого домена,data_type есть спецификация определяющего типа данныхВ необязательных разделах default_definition иdomain_constraint_definition_list специфицируются значениедомена по умолчанию и набор ограничений целостности,которые будут применяться к любому столбцу,определенному на этом домене20.05.2016Доп.

главы баз данных. Лекция 192Средства определения, изменения определения иотмены определения доменов (4)Раздел default_definition имеет видDEFAULT { literal | niladic_function | NULL }Здесь literal представляет любое допустимое литеральноезначение определяющего типа домена,◦ NULL обозначает неопределенное значение, а◦ niladic_function может задаваться в одной из следующих форм:USERCURRENT_USERSESSION_USERSYSTEM_USERCURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP20.05.2016Доп. главы баз данных. Лекция 193Средства определения, изменения определения иотмены определения доменов (5)Если в операторе CREATE DOMAIN значение по умолчанию неспецифицируется, считается, что такого значения нетОднако позже к определению домена можно добавить разделзначения по умолчанию с помощью оператора ALTER DOMAIN◦ Кроме того, этот оператор позволяет удалить раздел значения поумолчанию из существующего определения домена.Элемент списка domain_constraint_definition_list имеет вид[CONSTRAINT constraint_name] CHECK (conditional_expression)Необязательный раздел CONSTRAINT constraint_nameпозволяет определить имя нового ограничения целостностиЕсли явное указание имени отсутствует, ограничениюназначается имя, автоматически генерируемое системой20.05.2016Доп.

главы баз данных. Лекция 194Средства определения, изменения определения иотмены определения доменов (6)Что касается вида условного выражения, служащегособственно ограничением целостности, то в стандартезапрещается лишь прямое или косвенное использование в немдомена, в определение которого входит данное условноевыражение.Однако наиболее естественным (и наиболеераспространенным) видом ограничения домена являетсяследующий:CHECK (VALUE IN (list_of_valid_values))Такое ограничение запрещает появление в любом столбце,определенном на данном домене, любого значенияопределяющего типа, не входящего в список допустимыхзначений.20.05.2016Доп. главы баз данных. Лекция 195Средства определения, изменения определения иотмены определения доменов (7)Примеры определений доменовВ примерах мы будем иметь дело с таблицами служащих(EMP), отделов (DEPT) и проектов (PRO)Каждый служащий обладает уникальным номером (EMP_NO)и получает заработную плату (SALARY)Определим домены EMP_NO и SALARYCREATE DOMAIN EMP_NO AS INTEGERCHECK (VALUE BETWEEN 1 AND 10000);Номера служащих являются целыми числами, поэтомубазовый тип домена EMP_NO есть тип INTEGERКроме того, на значения этого домена устанавливаетсяследующее ограничение: они должны быть больше нуля и непревосходить целое значение 1000020.05.2016Доп.

главы баз данных. Лекция 196Средства определения, изменения определения иотмены определения доменов (8)Домен SALARY определим следующим образом:CREATE DOMAIN SALARY AS NUMERIC (10, 2)DEFAULT 10000.00CHECK (VALUE BETWEEN 10000.00 AND 20000000.00)CONSTRAINT SAL_NOT_NULL CHECK (VALUE IS NOT NULL);Размер заработной платы является значением точногочислового типа NUMERIC из десяти десятичных цифр, две изкоторых составляют дробную частьПо умолчанию размер заработной платы составляет 10000руб.Установлен диапазон допустимого размера зарплаты от 10000руб.

до 20000000 руб.Неопределенное значение зарплаты не допускается◦ на уровне определения домена20.05.2016Доп. главы баз данных. Лекция 197Средства определения, изменения определения иотмены определения доменов (9)Изменение определения доменаДля изменения характеристик ранее определенного доменаиспользуется оператор SQL ALTER DOMAINСинтаксис этого оператора выглядит следующим образом:domain_alternation ::= ALTER DOMAIN domain_namedomain_alternation_action domain_alternation_action ::=domain_default_alternation_action |domain_constraint_alternation_actionКак видно из синтаксических правил, при измененииопределения домена можно◦ выполнить действие по изменению раздела значения поумолчанию либо◦ изменить ограничение домена.20.05.2016Доп. главы баз данных.

Лекция 198Средства определения, изменения определения иотмены определения доменов (10)Для первого варианта действует следующий синтаксис:domain_default_alternation_action ::=SET default_definition | DROP DEFAULTВ случае установки нового значения по умолчанию (SET) этозначение автоматически применяется ко всем столбцам,определенным на данном домене◦ более точно, это значение становится новым значением по умолчанию◦ операция не оказывает влияния на состояние существующих строк таблицбазы данныхВ случае отмены раздела значения по умолчанию вопределении домена (DROP) существовавшее значениедомена по умолчанию становится значением по умолчаниюкаждого столбца,◦ который определен на данном домене и◦ для которого не специфицировано собственное значение по умолчанию20.05.2016Доп.

главы баз данных. Лекция 199Средства определения, изменения определения иотмены определения доменов (11)Действие по изменению ограничения домена определяетсяследующим синтаксисом:domain_constraint_alternation_action ::=ADD domain_constraint_definition |DROP CONSTRAINT constraint_nameДействие по добавлению нового определения ограничениядомена (ADD) приводит к тому, что новое условие добавляетсячерез AND к существующему ограничению доменаЕсли к моменту выполнения соответствующего оператораALTER DOMAIN существуют столбцы некоторых таблиц,текущие значения которых противоречат новомуограничению, то СУБД должна отвергнуть этот операторALTER DOMAIN20.05.2016Доп. главы баз данных. Лекция 1100Средства определения, изменения определения иотмены определения доменов (12)Действие по отмене ограничения домена (DROP) приводит кисчезновению соответствующей части общего ограничениясоответствующего домена, что, естественно, не влияет насуществующие значения столбцов имеющихся таблиц20.05.2016Доп.

главы баз данных. Лекция 1101Средства определения, изменения определения иотмены определения доменов (13)Примеры изменения определения доменаНемного поупражняемся с доменом SALARYДля изменения значения заработной платы по умолчанию с10000 на 11000 руб. нужно выполнить операторALTER DOMAIN SALARY SET DEFAULT 11000.00;Для отмены значения по умолчанию в домене SALARY следуетвоспользоваться операторомALTER DOMAIN SALARY DROP DEFAULT;Если к определению домена SALARY требуется добавитьограничение◦ например, запретить значение зарплаты, равное 15000 руб.необходимо выполнить операторALTER DOMAIN SALARY ADD CHECK (VALUE <> 15000.00);20.05.2016Доп.

главы баз данных. Лекция 1102Средства определения, изменения определения иотмены определения доменов (14)Наконец, если требуется отменить (именованное!)ограничение целостности, препятствующее наличиюнеопределенных значений в столбцах, которые определены надомене SALARY, то нужно выполнить операторALTER DOMAIN SALARY DROP CONSTRAINT SAL_NOT_NULL;20.05.2016Доп. главы баз данных. Лекция 1103Средства определения, изменения определения иотмены определения доменов (15)Отмена определения доменаЧтобы отменить ранее созданное определение домена, нужновоспользоваться оператором DROP DOMAIN в следующемсинтаксисе:DROP DOMAIN domain_name {RESTRICT | CASCADES}Если в операторе указано RESTRICT, и если соответствующийдомен использован в определении некоторого столбца, вопределении некоторого представления или в определенииограничения целостности , то оператор DROP DOMAINотвергаетсяВ противном случае определение домена ликвидируется.20.05.2016Доп.

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

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

Список файлов лекций

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