Б. Представления, триггеры, процедуры




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

– создать представление Students_details:

ф. Oracle – Object Browser; кн. Create; выбр. View → ф. Create View;

View Name ← Students_details;

– ввести программный код:

select stud_id, fam, im, ot, spec, kurs, gr from students

– сохранить представление:

ф. Create Materialized View; кн. Next → ф. Create Materialized View; кн. Create;

– проверить работоспособность представления:

ф. Oracle – Object Explorer; список ← выбр. Materialized Views;

выбр. Students_details; ф. Students_details; кн. Data → результаты на экране

– модифицировать данные с помощью именованного представления:

ф. Students_details; кн. Data; кн. Insert row ► ф. Students_info;

внести данные; кн. Create;

открыть таблицу Students и проверить наличие новой строки.

Аналогичным образом проверить работоспособность представления для операций обновления и удаления данных.

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

– создать материализованное представление Students_info:

ф. Oracle – Object Browser; кн. Create; выбр. Materialized View ►

ф. Create Materialized View; Materialized View Name ← Students_info;

– ввести программный код:

select stud_id, no_zk,

concat(concat(concat(rtrim(fam),' '),concat(substr(im,1,1),'.')),concat(substr(ot,1,1),'.'))

as FIO,

concat(concat(spec,'-'), concat(kurs,gr)) as GRUPPA, name as Predmet, ocenka, data

from students, uspev, subjects where students.stud_id=uspev.student

and subjects.predm_id=uspev.predmet

– сохранить представление:

ф. Create Materialized View; кн. Next → ф. Create Materialized View; кн. Create;

– проверить работоспособность представления:

ф. Oracle – Object Explorer; список ← выбр. Materialized Views; выбр. Students_info;

ф. Students_info; кн. Data → результаты на экране

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

– написать программный код триггера (PL/SQL):

ф. Oracle – Object Browser; кн. Home → ф. Oracle; кн. SQL → кн. SQL Commands; ф. SQL Commands ввести код:

CREATE OR REPLACE TRIGGER Stud_uspev

BEFORE INSERT OR UPDATE ON Uspev

FOR EACH ROW

DECLARE

kurs number;

stud number; data Date; cnt number;

BEGIN

stud:=:new.student;

data:=:new.data;

SELECT COUNT(*) INTO cnt FROM Uspev WHERE Student=stud and Data=data;

if cnt > 1 then

dbms_output.put_line('Больше нельзя');

end if;

END;

/

– проверить работоспособность триггера, вводя данные в таблицу Uspev.

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

– создать процедуру Count_group:

ф. Oracle – Object Browser; кн. Create; выбр. Procedure ► ф. Create Procedure;

Procedure Name ← Count_group; уст. Include Arguments; кн. Next

– определить входные и выходные параметры процедуры:

Argument Name ← gr; In/Out ← In; Argument Type ← Varchar2;

перейти на след. cтроку;

Argument Name ← count; In/Out ← Out; Argument Type ← Number; кн. Next

– ввести программный код процедуры:

вкл. Procedure Body ← select count(*) into count from students where gr=gr;

кн. Next;

– сохранить процедуру

ф. Create Procedure; кн. Finish → ф. Create Procedure; кн. Create

– проверить работоспособность процедуры

ф. Oracle – Object Browser; кн. Home ► ф. Oracle;

кн. SQL ► кн. SQL Commands; ф. SQL Commands ввести код:

DECLARE c NUMBER;

BEGIN

COUNT_GROUP('номер группы',c);

DBMS_OUTPUT.PUT_LINE(Число студентов в группе: ' || c);

END;

/

кн. Run → результат на экране

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

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

ф. Oracle – SQL Commands; ввести код:

create or replace procedure printGroup(g in varchar2)

is

cursor c_stud is select fam from students where gr=g;

r_stud c_stud%ROWTYPE;

begin

open c_stud;

loop

fetch c_stud into r_stud;

exit when c_stud%NOTFOUND;

DBMS_OUTPUT.put_line(r_stud.fam);

end loop;

close c_stud;

end;

/

кн. Run → Results: Procedure created.

– проверить работоспособность процедуры

DECLARE C INTEGER;

BEGIN

printGroup('номер группы');

END;

/
кн. Run → результат на экране

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

В. Приложения Oracle

1. Создать приложение-отчет для вывода информации о студентах из таблицы Students:

ф. Oracle | кн. Application Builder → ф. Application Builder | кн. Create> ►

ф. Create Application | уст. Create Application; кн. Next ►

Name ← Students_report; кн. Next ► Select Page Type ← уст. Report;

Page Source ← Table; Table Name ← Students; кн. Add Page ►

кн. Next ► Tabs ← One Level of Tabs; кн. Next ►

Copy Shaped Components from Another Application ← No; кн. Next ►

Authentication Scheme← No Authentication; кн. Next ►

Select a theme ← выбрать любой вариант представления; кн. Next ►

кн. Create; кн. Run

2. Аналогичным образом создать приложение-отчет для вывода информации о предметах из таблицы Subjects.

3. Создать приложение-отчет для вывода информации об успеваемости студентов из таблиц Students, Subjects и Uspev:

ф. Oracle | кн. Application Builder ► ф. Application Builder | кн. Create> ►

ф. Create Application | уст. Create Application; кн. Next ►

Name ← Uspev_report; кн. Next ►

Select Page Type ← уст. SQL Query; Page Name ← Uspev_query;

кн. Query Builder ► ф. Query Builder: выбр. Students, Subjects, Uspev;

 

выделить stud_ID в графическом объекте Students и перетащить его на student

в объекте Uspev; аналогично – для predm_ID из Subjects.

 

Выбрать поля: Fam, im, ot – из Students; name – из Subjects; ocenka, data – из Uspev;

 

Кн. Run; просмотреть результат на экране; кн. return; кн. Add Page; кн. Next ►

Tabs ← One Level of Tabs; кн. Next ►

Copy Shaped Components from Another Application ← No; кн. Next ►

Authentication Scheme ← No Authentication; кн. Next ►

Select a theme ← выбрать любой вариант представления; кн. Next ►

кн. Create; кн. Run

4. Создать приложение-форму для редактирования информации о студентах из таблицы Students:

 

 

ф. Oracle | кн. Application Builder → ф. Application Builder | кн. Create> ►

ф. Create Application | уст. Create Application; кн. Next ► Name ← Students_form;

кн. Next ► Select Page Type ← уст. Form; Table Name ← Students; кн. Add Page;

кн. Next ► Tabs ← One Level of Tabs; кн. Next ► Copy Shaped Components from

Another Application ← No; кн. Next ► Authentication Scheme ← No Authentication;

кн. Next ► Select a theme ← выбрать любой вариант представления; кн. Next ►

кн. Create; кн. Run

5. Аналогичным образом создать приложение-форму для редактирования информации о предметах из таблицы Subjects.

Г. Oracle и ASP.NET

1. Запустить Microsoft Visual Web Developer:

Пуск | Программы | Microsoft Visual Web Developer 2008 Express Edition ►

Start Page – Visual Web Developer 2008 Express Edition

2. Создать директорию для хранения файлов под именем Группа_неделя (например, asoi337_8):

3. Создать новый Web-сайт:

File | New Web Site… ► ф. New Web Site;

Visual Studio installed templates ← выбр. ASP.NET Web Site;

Location ← File System; выбрать директорию для размещения файлов;

Language ← Visual C#; кн. OK

4. Установить соединение с базой данных Oracle:

– настроить соединение:

Tools | Connect to Database… | ф. Add Connection;

Server Name ← 127.0.0.1; User name ← имя пользователя;

– проверить соединение:

кн. Test Connection → сообщение о статусе соединения;

– установить соединение:

кн. OK → вкл. Database Explorer; проверить наличие нового соединения.

5. Изменить заголовок главной страницы сайта:

вкл. Default.aspx; заменить код

<title> Untitled Page</title>

на

<title>Работа с СУБД Oracle </title>

6. Проверить работоспособность созданного приложения сочетанием клавиш [Ctrl + F5].

7. Ввести заголовок списка данных на странице – текст «Список студентов»:

вкл. Default.aspx; между открывающим и закрывающим тегами <div> ввести текст:

Список студентов

8. Перейти на вкладку Design

9. Поместить на страницу таблицу для представления данных:

Панель инструментов Toolbox | выбр. GridView; перетащить на страницу.

 

 

10. Связать таблицу с базой данных:

ф. Grid View Tasks | Choose data source | <New data source…> |

ф. Data Source Configuration Wizard; Choose a Data Source Type ← выбр. Database;

Specify an ID for Data Source ← SqlDataSource; кн. OK;

Choose Your Data Connection | выбр. созданное ранее соединение; кн. Next ►

не уст. Yes, save this connection as…; кн. Next;

Configure the Select Statement | Specify columns from a table or view;

Name ← Students; Columns ← выбр. *; кн. Next ►

Test Query | кн. Test Query → результаты на экране

Кн. Finish

11. Проверить работоспособность созданного приложения сочетанием клавиш [Ctrl + F5].

 

5. Контрольные вопросы

1. К какому классу СУБД относится Oracle?

2. Каковы особенности Oracle?

3. Как реализуются триггеры в Oracle?

4. Что представляют собой хранимые процедуры в Oracle?

5. Какие представления реализуются в Oracle?

 

Содержание и оформление отчета

Отчет должен содержать:

– титульный лист, название и цель работы;

– скриншоты результатов работы с СУБД Oracle;

– выводы по работе.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: