Главная » Просмотр файлов » Ответы к экзамену по БД

Ответы к экзамену по БД (542444), страница 9

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

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

DML-события возникают при выполнении инструкций INSERT, UPDATE или DELETE,изменяющих данные в указанной таблице или представлении. DML-триггеры могут обращаться кдругим таблицам и содержать сложные инструкции Transact-SQL. Триггер и инструкция, привыполнении которой он срабатывает, считаются одной транзакцией, которую можно откатить назадвнутри триггера. При обнаружении серьезной ошибки (например, нехватки пространства на диске) всятранзакция автоматически откатывается назад.ПримерCREATE TRIGGER reminder1ON Sales.CustomerAFTER INSERT, UPDATEAS RAISERROR ('Notify Customer Relations', 16, 10);Чтобы управлять срабатыванием DML-триггера, можно указать один из двух параметров.• Триггеры AFTER срабатывают после обработки действия, вызывающего срабатывание (INSERT,UPDATE или DELETE), триггеров INSTEAD OF и ограничений. Триггеры AFTER можноустанавливать путем указания ключевых слов AFTER или FOR.

Так как эффект от ключевогослова FOR тот же, что и от AFTER, DML-триггеры с ключевым словом FOR также относятся ктриггерам AFTER.• Триггеры INSTEAD OF срабатывают вместо действия, вызывающего срабатывание, и передобработкой ограничений. Если в таблице имеются триггеры AFTER, они сработают послеобработки ограничений. В случае нарушения ограничений выполняется откат действийтриггеров INSTEAD OF, а триггер AFTER не срабатывает.В каждой таблице или представлении может быть один триггер INSTEAD OF для каждого из действий,вызывающих срабатывание (UPDATE, DELETE или INSERT). Таблица может содержать несколькотриггеров AFTER для каждого из вызывающих срабатывание действий.Операторы создания, измененияDML Trigger[CREATE|ALTER] TRIGGER trigger_nameON { table | view }{ FOR | AFTER | INSTEAD OF }{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }AS { sql_statement }DDL Trigger[CREATE|ALTER] TRIGGER trigger_nameON { ALL SERVER | DATABASE }{ FOR | AFTER } { event_type | event_group } [ ,...n ]AS { sql_statement }Logon Trigger[CREATE|ALTER] TRIGGER trigger_nameON ALL SERVER{ FOR| AFTER } LOGONAS { sql_statement }Операторы удаленияDML TriggerDROP TRIGGER [schema_name.] trigger_name [ ,...n ] [ ; ]DDL TriggerDROP TRIGGER trigger_name [ ,...n ]ON { DATABASE | ALL SERVER }Logon TriggerDROP TRIGGER trigger_name [ ,...n ]ON ALL SERVERОператоры включения, выключения[ENABLE|DISABLE] TRIGGER { trigger_name [ ,...n ] | ALL }ON { object_name | DATABASE | ALL SERVER }24.

Т-SQL. Ссылочная целостность. Правила ссылочной целостности иподдержка их с помощью триггеров. Примеры.Ссылочная целостность. База данных не должна содержать каких-либо несогласованных значений внешнегоключа. В этом определении термин "несогласованное значение внешнего ключа" обозначает значениевнешнего ключа в некоторой ссылающейся переменной отношения, для которого не существуетсогласованного значения соответствующего потенциального ключа в соответствующей переменнойотношения, указанной в ссылке.

Иными словами, это ограничение можно сформулировать просто какследующее требование: "Если значение В ссылается на А, то А должно существовать".Ссылочная целостность сохраняет определенные связи между таблицами при добавлении или удалениистрок. В SQL Server ссылочная целостность основана на связи первичных и внешних ключей (либо внешних иуникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостностьгарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствияссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базеданных при изменении значения ключа.При обеспечении ссылочной целостности SQL Server не допускает следующих действий пользователей.• Добавления или изменения строк в связанной таблице, если в первичной таблице нетсоответствующей строки.• Изменения значений в первичной таблице, которое приводит к появлению потерянных строк всвязанной таблице.• Удаления строк из первичной таблицы, если имеются соответствующие ей строки в связанныхтаблицах.Ограничение FOREIGN KEY предотвращает возникновение ситуации несогласованности.

Ограничениеобеспечивает целостность ссылок следующим образом: оно запрещает изменение данных в таблицепервичного ключа, если такие изменения сделают недопустимой ссылку в таблице внешнего ключа. Если припопытке удалить строку в таблице первичного ключа или изменить значение этого ключа окажется, чтоудаленному или измененному значению первичного ключа соответствует значение в ограничении FOREIGNKEY в другой таблице, то действие выполнено не будет. Для успешного изменения или удаления строки сограничением FOREIGN KEY необходимо сначала удалить данные внешнего ключа в соответствующей таблицелибо изменить данные в таблице внешнего ключа, которые связывают внешний ключ с данными другогопервичного ключа.Поддержка ссылочной целостности с помощью триггеровТриггеры DML часто используются для соблюдения бизнес-правил и целостности данных. В SQL Serverдекларативное ограничение ссылочной целостности обеспечивается инструкциями ALTER TABLE и CREATETABLE.

Однако декларативное ограничение ссылочной целостности не обеспечивает ссылочную целостностьмежду базами данных. Ограничение ссылочной целостности подразумевает выполнение правил связи междупервичными и внешними ключами таблиц. Для обеспечения ограничений ссылочной целостностииспользуйте в инструкциях ALTER TABLE и CREATE TABLE ограничения PRIMARY KEY и FOREIGN KEY. Еслиограничения распространяются на таблицу триггера, они проверяются после срабатывания триггера INSTEADOF и до выполнения триггера AFTER. В случае нарушения ограничения выполняется откат действий триггераINSTEAD OF, и триггер AFTER не срабатывает.Пример использования триггеров для поддержки ссылочной целостности – каскадное удаление илиобновление данныхПример каскадного удаленияCREATE TRIGGER delTrigger ON vuz_gorodFOR DELETE ASBEGINDELETE vuzFROM deleted,vuzWHERE vuz.cod=deleted.cod_vuzaENDПример каскадного обновленияCREATE TRIGGER updTrigger ON vuz_gorodfor update asbeginupdate vuzset vuz.cod = inserted.cod_vuza, vuz.uch_zavedenie = inserted.nazvanie_vuzafrom deleted, vuz, insertedwhere ((deleted.cod_vuza = vuz.cod)or (deleted.nazvanie_vuza = vuz.uch_zavedenie))end25.

Т-SQL. Персональные, списковые и количественные запросы. Агрегатныефункции. Особенности использования фразы group by. Реализацияколичественного запроса по одному или нескольким столбцам сиспользованием Т-SQL. Примеры.Агрегатные функцииАгрегатные функции предназначены для того, чтобы вычислять некоторое значение для заданного множествастрок. Таким множеством строк может быть группа строк, если агрегатная функция применяется ксгруппированной таблице, или вся таблица.

Для всех агрегатных функций, кроме COUNT(*), фактический (т.е.требуемый семантикой) порядок вычислений следующий: на основании параметров агрегатной функции иззаданного множества строк производится список значений. Затем по этому списку значений производитсявычисление функции.

Если список оказался пустым, то значение функции COUNT для него есть 0, а значениевсех остальных функций - null.Вычисление функции COUNT(*) производится путем подсчета числа строк в заданном множестве. Все строкисчитаются различными, даже если они состоят из одного столбца со значением null во всех строках.Стандартом предусмотрены следующие агрегатные функции:ФункцияОписаниеCOUNT(*)Возвращает количество строк источника записей.COUNT(<имя поля>)Возвращает количество значений в указанном столбце.SUM(<имя поля>)Возвращает сумму значений в указанном столбце.AVG(<имя поля>)Возвращает среднее значение в указанном столбце.MIN(<имя поля>)Возвращает минимальное значение в указанном столбце.MAX(<имя поля>)Возвращает максимальное значение в указанном столбце.Все эти функции возвращают единственное значение.

При этом функции COUNT, MIN и MAX применимы клюбым типам данных, в то время как SUM и AVG используются только для числовых полей. Разница междуфункцией COUNT(*) и COUNT(<имя поля>) состоит в том, что вторая при подсчете не учитывает NULL-значения.Предложение GROUP BYПредложение GROUP BY позволяет вам определять подмножество значений в особом поле в терминахдругого пол, и применять функцию агрегата к подмножеству. Это дает вам возможность объединять пол и агрегатные функции ведином предложении SELECT. Например, предположим что вы хотите найти наибольшую сумму приобретений полученную каждымпродавцом. Вы можете сделать раздельный запрос для каждого из них, выбрав MAX (amt) из таблицы Порядков для каждого значенияпол snum. GROUP BY, однако, позволит Вам поместить их все в одну команду:=============== SQL Execution Log ==============||| SELECT snum, MAX (amt)|| FROM Orders|| GROUP BY snum;|| =============================================== || snum|| ------ -------|| 1001 767.19|| 1002 1713.23|| 100375.75|| 1014 1309.95|================================================GROUP BY применяет агрегатные функции независимо от серий групп которые определяются с помощьюзначения поля в целом.

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

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

Список файлов ответов (шпаргалок)

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