ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 1782
Скачиваний: 4
СОДЕРЖАНИЕ
РАБОТА №1 ПРАКТИЧЕСКАЯ. ПОСТРОЕНИЕ БАЗЫ ДАННЫХ В СРЕДЕ ОДНОЙ ИЗ СУБД
РАБОТА №2 ПРАКТИЧЕСКАЯ. ПОСТРОЕНИЕ СХЕМЫ И СЛОВАРЯ БАЗЫ ДАННЫХ
РАБОТА №3 ПРАКТИЧЕСКАЯ. ИЗУЧЕНИЕ КОМАНД АДМИНИСТРИРОВАНИЯ ДАННЫХ
Операторы языка определения данных ddl и модификации отношений
Использование переменных в хранимых процедурах
Преимущества использования процедур
Пользовательские функции UDF (user-defined function)
РАБОТА №6 ЛАБОРАТОРНАЯ. РАЗРАБОТКА
РАБОТА №7 ПРАКТИЧЕСКАЯ. УСТАНОВКА
РАБОТА №8 ПРАКТИЧЕСКАЯ. УСТАНОВКА И НАСТРОЙКА СУБД MY SQL
РАБОТА №10 ПАРКТИЧЕСКАЯ. КОПИРОВАНИЕ БАЗ ДАННЫХ СРЕДСТВАМИ КОМАНД SQL
РАБОТА №11 ПРАКТИЧЕСКАЯ. ПЕРЕНОС БАЗЫ ДАННЫХ НА ДРУГОЙ ТИП СЕРВЕРА
РАБОТА №12 ПРАКТИЧЕСКАЯ. СОЗДАНИЕ МЕХАНИЗМОВ СЕРВЕРА ДЛЯ ОБСЛУЖИВАНИЯ БАЗЫ ДАННЫХ
sp_delete_backuphistory [ @oldest_date = ] «oldest_date»
РАБОТА №14 ПРАКТИЧЕСКАЯ. МОНИТОРИНГ НАГРУЗКИ СЕРВЕРА
РАБОТА №15 ПРАКТИЧЕСКАЯ. УСТАНОВКА И НАСТРОЙКА СЕРВЕРА БД ORACLE
СОДЕРЖАНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ
Программное обеспечение и интернет-ресурсы
Изменение значения поля в строке
Стандартные функции SQL Server Агрегативные функции
Функции манипуляции датой и временем
Функции для манипуляции со строками
Multi-Statement Table
Другой тип UDF – Multi-Statement Table-valued Function. Какследует из названия, этот тип функции возвращает тип данных table.Тело такой функции может быть достаточно сложным и включатьмножествооператоров,находящихсямеждуключевымисловамиBEGIN…END. В данном простом примере в БД Pubs создается функ-ция, которая может возвращать фамилию и имя либо автора книги,либо служащегоиздательства.CREATEFUNCTIONFunMult(@bnvarchar(8))RETURNS@Fun_Authtable([First Name] nvarchar(80) not null,[LastName]nvarchar(80)notnull)ASBEGINIF@b=«author»INSERT @Fun_Auth SELECT au_fname, au_lnameFROMauthorsELSEIF@b=«employee»INSERT @Fun_Auth SELECT fname, lnameFROMemployeeRETURNENDВ зависимости от входного параметра, указываемого в конст-рукции select при вызове функции, получаем разный результат, об-ращаяськтаблицеauthorиликemployee:SELECT*FROMdbo.FunMult(«author»)SELECT*FROMdbo.FunMult(«employee»)Функция InLine тоже возвращает значение типа table, но отли-чаетсяотMulti-StatementTable-valuedтем,чтоможетсостоятьтолькоиз однойкомандыselect.CREATEFUNCTIONFunInLine@State nvarchar(30))RETURNStableASRETURN (SELECT pub_name, cityFROMPubs.dbo.publishersWHEREstate=@State)Обращение к функции происходит в предложении from конст-рукции select:SELECT*FROMFunInLine(«Texas»)Удаление функции
DROPFUNCTIONИмяфункцииОсобенностью функции InLine является то, что код функциипри выполнении программы вставляется непосредственно в испол-няемыйнаборкоманд.Другимисловами,происходитневызовфункции,австраивание.В среде SQL server хранимую процедуру или функцию можносоздать в приложении Management Studio в разделе хранимых про-цедур с помощью контекстного меню. Или выполнением запросасоответствующего содержания из любого доступного приложения,напримервQuery Analyzer.
-
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
-
Уточнить задание применительно к сформированным отно- шениям. -
Схематично описать необходимые запросы по заданию для своей БД.
-
Утвердить у преподавателя эскиз лабораторной работы. -
Создать хранимые процедуры и функции с использованием описанных операторов в методичке (также использовать по одной из стандартных функций по выбору преподавателя). -
Подготовить и предоставить контрольные примеры с ис- пользованием хранимых процедур.
-
Создать хранимую процедуру, в которой будет выполняться гибкий запрос на группировку по различным полям в зависимости от входного параметра -
Создать пользовательскую функцию, которая возвращает значение, вычисленное, на основе одного или нескольких атрибутов отношения по заданным критериям поиска. -
Создать хранимую процедуру, использующую созданную пользовательскую функцию. -
Создать хранимые процедуры для вставки, изменения и удаления данных, переданных через входные параметры.
-
КОНТРОЛЬНЫЕ ВОПРОСЫ
-
Что такое хранимая процедура, общий формат описания и вызов? -
Каков формат описания переменных в хранимых процеду-
рах?
-
Тип параметров функций и процедур. -
Описать типы пользовательских функций. -
Формат описания конструкций цикла и ветвления. -
Чем отличается хранимая процедура от пользовательской
функции?
-
Что дает использование ХП при разработке БД?
РАБОТА №6 ЛАБОРАТОРНАЯ. РАЗРАБОТКА
МЕХАНИЗМОВСЕРВЕРАБАЗДАННЫХ.ТРИГГЕРЫ-
ЦЕЛЬ РАБОТЫ
-
Изучить принципы работы и особенности построения триг- геров в среде MS SQL Server. -
Создать триггеры, выполняющие действия, согласно инди- видуальному заданию.
-
ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ
операторыSQL[IFUPDATE(ПОЛЕ)[{AND|OR}UPDATE(ПОЛЕ)]]итд…ИзменеиетриггераALTERTRIGGERимяТриггераOn………Удалениетриггера:DROPTRIGGERимяТриггераТриггер может быть создан только в текущей базе данных, нодопускается обращение внутри триггера к другим базам данных, втомчисле ирасположенным наудаленномсервере.Имя триггера должно быть уникальным в пределах базы дан-ных.Дополнительно можноуказатьимявладельца.При использовании триггеров, действия, выполняемые с таб-лицами,предварительновыполняютсясвременнымитаблицами.При вставке строк данные предварительно помещаются в таблицуinserted, при удалении – удаляемые данные помещаются в таб-лицуdeleted,аналогичнопримодификацииданных.Работатриггерастроитсянапредварительномконтролевво-димых, удаляемых или модифицируемых данных с помощью вре-менных таблиц. Данные таблицы имеют такую же структуру, как итаблицы, на которыесоздаютсясоответствующие триггеры.Пример1Использование триггера для реализации ограничений на зна-чение. В добавляемой в таблицу Сделка записи количество продан-ного товара должно быть не меньше, чем его остаток из таблицыСклад.Команда вставки записи в таблицуСделка может быть, на-пример,такой:INSERTINTOСделкаVALUES(3,1,-299,»01/08/2002»)Создаваемый триггер должен отреагировать на ее выполнениеследующим образом: необходимо отменить команду, если в таблицеСклад величина остатка товара оказалась меньше продаваемого ко-личества товара с введенным кодом (в примере код товара=3). Вовставляемой записи количество товара указывается со знаком «+»,еслитоварпоставляется,исознаком«-»,еслионпродается.