Главная страница
Навигация по странице:

  • 1 Постановка главной задачи группам, уточнение их

  • Актуализация опорных знаний и умений для реализации запросов в форме теста

  • 4. Представление концептуальной и реляционной модели проектов. Утверждение проектов

  • 5 Работа по реализации запросов проекта

  • По мере выполнения запросы представляются «руководителям предприятия», которые делают отметку о реализации запроса в техническом задании

  • 6.Защита и представление проектов

  • Практическая работа №11 « Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных »

  • Ход Работы 1.

  • Delete

  • Execute .Контрольные задания

  • Практическая работа №12 « Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных »

  • Ход Работы Создадим таблицу “svodnaj”, которая содержит количество всех оценок из таблицы «Успеваемость». CREATE TABLE svodnaj (Ozenka int not null

  • Практическая работа. Взаимодействие MySQL и PHP.. Методические указания для выполнения практических работ


    Скачать 1.47 Mb.
    НазваниеМетодические указания для выполнения практических работ
    АнкорПрактическая работа. Взаимодействие MySQL и PHP
    Дата04.03.2022
    Размер1.47 Mb.
    Формат файлаdoc
    Имя файлаREUB_prakt_SQL.doc
    ТипПрактическая работа
    #382805
    страница4 из 7
    1   2   3   4   5   6   7

    «Деловая игра по теме ‘Создание запросов на языке SQL »


    Цель:

    Создать условия для:

    • обобщения и систематизации знаний, умений и навыков работы учащихся по теме «Создание запросов на языке SQL»;

    • совершенствования учебного процесса путем введения заданий от репродуктивных к конструктивным и творческим, в соответствии с требованиями компьютерной подготовки учащихся;

    • выработки основных приемов создания запросов;

    • использования знаний, полученных на уроках дисциплин: «Базы данных» , «Технология разработки программных продуктов» для создания проекта базы данных и составления документации проекта



    Ход Работы
    Группа студентов поделена на «информационные отделы» и «руководителей предприятия». Для каждого отдела выдаются задания. Руководители предприятия принимают выполненные задания и следят за ходом их реализации. В конце занятия выявляются проблемы, с которыми столкнулись студенты при конструировании запросов и определяется «информационный отдел», который выполнил наибольшее количество запросов.
    1 Постановка главной задачи группам, уточнение их роли в игре.

    Цель этапа: довести до учащихся цель предстоящей работы, плана действий и методики работы.

    В ходе практической работы вы должны научиться создавать запросы к базе данных, документировать ошибки, которые вы допустили при отладке запросов. «Информационным отделам» будут выданы задания по разработке запросов, которые различаются по уровню сложности. За более сложный запрос даётся большее количество баллов. Каждый информационный отдел состоит из: проектировщика базы данных, администратора б.д., кодировщиков. Проектировщики представляют заранее разработанный проект базы данных, который состоит из концептуальной и реляционной модели. Администратор координирует работу отдела, консультирует сотрудников при возникновении ошибок. Кодировщики создают и отлаживают код запросов.
    2. Создание игровой ситуации.

    Цель этапа: Постановка технических заданий для каждой группы разработчиков.

    Группа студентов разделена на три «информационных отдела» и «руководство предприятия». Каждому отделу заранее было дано задание спроектировать базы данных по определённой тематике. Руководители выдают администраторам Б.Д. технические задания в форме запросов. Объявляются заказчики заданий.
    3. Актуализация опорных знаний и умений для реализации запросов в форме теста

    Цель этапа: повторение основных терминов и понятий, применяемых при создании запроса.

    • Перед началом реализации заданий проводится «планёрка» по обсуждению базовых понятий, необходимых для успешной работы.




      • Один из руководителей рассматривает пример создания запроса ( на доске):

    Отобразить фамилии преподавателей с кафедры ‘информатика’
    Select kafedra.namekaf, prepodavatel.fio

    From kafedra, prepodavatel

    Where kafedra.kkaf = prepodavatel. Kkaf and kafedra.namekaf= информатика


    • Оговариваются наиболее вероятные ошибки: при выборе полей из разных таблиц не указана таблица; условия в выражении where разделены запятыми

    • Каждому отделу выдаются тестовые задания, состоящие из 10 вопросов.


    4. Представление концептуальной и реляционной модели проектов. Утверждение проектов.

    Цель этапа: проверка домашнего задания, закрепление пройденного материала

    В качестве домашнего задания ( повторение темы : создание таблиц) каждый отдел разработал концептуальную и реляционную модель предложенной информационной системы. Для моделей составляется тех. документация. С помощью плаката каждая команда представляет схему базы данных. Если были выявлены ошибки, то они фиксируются. За представление концептуальной модели проектировщик получает 1 балл, за реляционную модель ( 1 - 2 баллов ), за документацию от ( 2 – 3 баллов). В тех. документации строится концептуальная модель (на плакате ), реляционная модель, описывается назначение каждой таблицы и её структура. После представления моделей проектировщик принимает участие в разработке запросов.
    База данных для команды №1

    Спроектировать информационную систему, которая позволяет хранить данные в структурированной форме о: поставщиках осуществляющих доставку медикаментов для заказчиков; медикаменты разделены по классификациям.
    Схема данных



    Рис 14 схема данных запроса

    База данных для команды 2

    Спроектировать информационную систему, которая позволяет хранить данные в структурированной форме о: приёме врачей в поликлинике, во время которого он ставит диагноз больному; приём осуществляют врачи различной специализации.
    Схема данных



    Рис 15 схема данных запроса
    База данных для команды 3

    Спроектировать информационную систему, которая позволяет хранить данные в структурированной форме о: перевозках груза для клиентов в различные города.
    Схема данных



    Рис 16 схема данных запроса
    5 Работа по реализации запросов проекта.

    Цель этапа: получение практических навыков по созданию запросов, развитие творческой активности, групповой деятельности.

    51 Реализация запросов на языке SQL.

    Каждый отдел получает пакет с тех. заданиями по запросам.

    Запросы разделены по типам:

    • Простой запрос на основе одной таблицы ( 1 балл ).

    • Запрос на выборку данных из нескольких таблиц ( 2 балла ).

    • Вложенные запросы ( 3 балла ).

    • Запросы на существование хотя бы одной записи ( 2 балла ).

    Правильно созданный запрос приносит команде разработчиков соответствующее количество баллов. Если команда затрудняется в реализации запроса, то можно обратиться за помощью к другой команде. Одна правильная подсказка приносит соперникам 1 балл.
    52 Документирование запросов и проблем, возникших при их реализации.

    Каждый реализованный запрос должен быть документирован ( Приложение В). Необходимо указать тип запроса: простой – на основе одной таблицы; запрос с выбором данных из нескольких таблиц; сложный запрос с использованием подзапроса. Далее записывается код SQL запроса. В таблице перечисляются ошибки, зафиксированные при отладке запроса.
    По мере выполнения запросы представляются «руководителям предприятия», которые делают отметку о реализации запроса в техническом задании.
    5.3Решение проблемной ситуации. ( администратор базы данных)

    Администраторам информационных отделов выдаются задания , в которых необходимо указать ошибки в запросах и сформулировать сам запрос. Правильно выполненное задание приносит команде 2б.
    6.Защита и представление проектов

    Цель этапа: публичное представление выполненных заданий

    Каждый отдел отчитывается о выполненных запросах и публично представляет несколько из них.

    На этом этапе определяются положительные стороны в работе каждого отдела и группа, получившая максимальное количество балов.

    Студентам выставляются оценки на основе полученных балов.
    Критерии оценок:

    • «неудовлетворительно» если студент набрал менее 2 б;

    • «удовлетворительно» если студент набрал 2 б;

    • «хорошо» если студент набрал 3 б;

    • «отлично» если студент набрал 4 и более балов;



    Текст заданий выдаётся как раздаточный материал.

    Практическая работа №11
    «Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных»

    Цель: «Сформировать навыки и умения реализации триггеров для поддержания целостности данных»
    Ход Работы
    1. Определение триггера

    Триггер – это хранимая процедура особого типа, вызываемая на выполнение в ответ на определённые события. Триггеры подразделяются на два основных типа: триггеры языка определения данных ( DDL) и триггеры языка манипулирования данными ( DML)
    Триггеры DDL активизируются в ответ на внесение каких-либо изменений в структуру б.д пользователями ( создание, удаление, изменение структуры таблиц,).

    Триггеры DML представляют собой фрагменты кода, которые закрепляются за конкретной таблицей.

    В отличие от хранимых процедур, при использовании которых необходимо явно вызывать на выполнение определённый код, триггеры вызываются на выполнение автоматически при обнаружении события, связанного с ним. Триггеры не получают параметров и не возвращают значений.
    Конструкция FOR ( или AFTER) позволяет указать какое действие приводит к запуску триггера.

    Триггер |Insert этот триггер вызывается на выполнение каждый раз, когда вставляется новая строка в таблицу, за которой закреплён триггер. Для каждой новой строки создаётся её копия и вставляется в таблицу INSERTED. Эта таблица сохраняется до тех пор пока действует триггер ( с момента запуска до его завершения).
    Триггер |Delete вызывается на выполнение каждый раз, при удалении записи. Копия удаляемой записи помещается во временную таблицу Deleted.
    Триггер |Update вызывается на выполнение при обновлении записи таблицы, для которой он создан. операция модификации строки трактуется как удаление старой версии строки ( помещение её в Deleted) и добавление новой строки ( помещение её в INSERTED). При этом триггеры на удаление и добавление не запускаются.
    2. Условный оператор для триггера в языке SQL-Transact


    Один оператор

    Несколько операторов

    IF условие

    Оператор1

    Else

    Оператор2


    IF условие

    begin

    Оператор1

    Оператор2

    end

    Else

    begin

    Оператор3

    Оператор4

    end


    Создадим триггеры на удаление для таблиц со стороны мощности ‘многие’ в схеме данных «Учебный процесс»
    Чтобы ввести код триггера для события «удаление» данных в таблице kafedra, щёлкните по изображению + . В появившемся списке выберите папку Triggers . Выделите её правой кнопкой мыши и из контекстного меню выберите New Trigger. В представленном шаблоне введите код
    create trigger del_kafedra

    on kafedra

    for delete

    as

    declare @kk varchar(3)

    begin

    select @kk=kkaf from deleted

    delete from prepodavatel where prepodavatel.kkaf=@kk

    end

    Запустите его на выполнение. Для того чтобы просмотреть код откомпеллированного триггера нужно для таблицы kafedra выбрать подраздел Triggers.

    При работе с таблицей kafedra во время удаления текущей записи, все записи об этой кафедре в таблице prepodavatel будут удалены.
    Задание 1. Триггер для события «удаление» данных в таблице prepodavatel

    create trigger del_prepodavatel

    on prepodavatel

    for delete

    as

    declare @tn varchar(3)

    begin

    select @tn=tabn from deleted

    delete from isuchenie where isuchenie.tabn=@tn

    end

    При работе с таблицей prepodavatel во время удаления текущей записи, все записи об этом преподавателе в таблице isuchenie будут удалены.
    Задание 2. Триггер для события «удаление» данных в таблице predmet

    create trigger del_predmet

    on predmet

    for delete

    as

    declare @kp varchar(3)

    begin

    select @kp=kp from deleted

    delete from isuchenie where isuchenie.kp=@kp

    end

    При работе с таблицей predmet во время удаления текущей записи, все записи об этом предмете в таблице isuchenie будут удалены.
    Задание 3. Триггер для события «удаление» данных в таблице isuchenie

    create trigger del_isuchenie

    on isuchenie

    for delete

    as

    declare @kp varchar(3)

    declare @tn varchar(3)

    declare @ng varchar(3)

    declare @vidz varchar(3)

    begin

    select @kp=kp, @tn=tabn, @ng=ng, @vidz=vidz from deleted
    delete from uspevaemost where kp=@kp and tabn=@tn and vidz=@vidz and ng=@ng

    end

    Если в созданный триггер необходимо внести изменения, то нужно выбрать таблицу, для которой он создавался, перейти к подразделу Triggers, выделить его и из контекстного меню выбрать Modify. Триггер отобразится в окне редактирования. После внесения изменений на панели выбрать кнопку Execute.
    Контрольные задания


    1. создать триггер на удаление для таблицы gruppa.

    2. создать триггер на удаление для таблицы student.

    3. создать триггер на удаление для таблицы uspevaemost. В теле триггера выполняется следующий код: при удалении студента из таблицы uspevaemost в таблице gruppa изменяется pball для группы студента.

    4. создать триггер на обновление для таблицы uspevaemost. В теле триггера выполняется следующий код: при изменении оценки студента в таблице uspevaemost его pball в таблице student обновляется

    Практическая работа №12
    «Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных»

    Цель: «Сформировать навыки и умения реализации триггеров, реализующих бизнес - правила»
    Ход Работы
    Создадим таблицу “svodnaj”, которая содержит количество всех оценок из таблицы «Успеваемость».
    CREATE TABLE svodnaj (

    Ozenka int not null,

    Kol int not null,

    Primary key (Ozenka) )
    .1 добавлении новой записи

    При добавлении новой записи в «Успеваемость» ( Триггер на добавление для «Успеваемость») просматривается таблица “svodnaj”, если строка с такой оценкой уже есть, то изменяется её количество

    До вставки

    ozenka

    kol

    3

    4


    После вставки

    ozenka

    kol

    3

    5


    В противном случае в таблицу “svodnaj” добавляется новая строка с этой оценкой и количеством: 1

    svodnaj

    ozenka

    kol

    3

    1


    Пример триггера

    CREATE trigger InsUspevaemost

    On uspevaemost

    for INSERT

    as

    declare @k int

    begin

    select @k=ozenka from inserted

    if@k>1 AND @k<=5

    begin

    IF exists (select s.ozenka from svodnaj s where s.ozenka=@k )// УЖЕ ЕСТЬ

    UPDATE svodnaj set kol=kol+1 where svodnaj.ozenka=@k

    else

    insert into svodnaj ( ozenka,kol) values (@k, 1)

    end

    else

    BEGIN

    RAISERROR ('ENTER OZENKA ' ,16,1)

    ROLLBACK TRAN

    END

    End
    2 Удалениезаписи
    При удалении записи в «Успеваемости» ( Триггер на удаление для «Успеваемость»), в таблице “svodnaj” для удаляемой оценки уменьшается количество

    До удаления Удаление из «Успеваемости»

    ozenka

    kol




    ng

    ns

    kp

    ozenka

    3

    4




    101

    01

    02

    3


    После удаления

    ozenka

    kol

    3

    3
    1   2   3   4   5   6   7


    написать администратору сайта