Главная / Базы данных /
SQL и процедурно-ориентированные языки / Тест 13
SQL и процедурно-ориентированные языки - тест 13
Упражнение 1:
Номер 1
Типом атрибута объектного типа может быть:
Ответ:
 (1) любой допустимый тип, за исключением типов LONG
, BOOLEAN
и т.п. 
 (2) объектный тип 
 (3) любой скалярный тип 
Номер 2
Типом атрибута объектного типа может быть:
Ответ:
 (1) тип LONG
 
 (2) тип BOOLEAN
 
 (3) объектный тип 
 (4) тип INTEGER
 
Номер 3
Внешняя процедура может храниться в:
Ответ:
 (1) DLL-библиотеке 
 (2) любом внешнем файле 
 (3) хранимой процедуре базы данных 
Упражнение 2:
Номер 1
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE MyT1 AS OBJECT (
r1 REAL, r2 REAL,
MEMBER FUNCTION plus (x MyT1) RETURN MyT1); 
 (2)
CREATE TYPE MyT2 AS OBJECT (
r1 REAL, r2 BOOLEAN,
MEMBER FUNCTION plus (x MyT2) RETURN MyT2); 
 (3)
CREATE TYPE MyT3 AS OBJECT (
r1 REAL, r2 tbl1.f1%TYPE
FUNCTION plus (x MyT3) RETURN MyT3); 
Номер 2
Вызовы внешних процедур можно выполнять:
Ответ:
 (1) из анонимных блоков PL/SQL; 
 (2) из методов, объявленных в объектном типе; 
 (3) в хранимых или пакетных подпрограммах; 
 (4) в интерактивно выполняемом SQL-операторе 
Номер 3
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE MyT1 AS OBJECT (
i1 INTEGER,
MEMBER FUNCTION sum_x (x INTEGER) RETURN MyT1); 
 (2)
CREATE TYPE MyT2 AS OBJECT (
r1 LONG,
MEMBER FUNCTION sum_x (x MyT2) RETURN MyT2); 
 (3)
CREATE TYPE MyT3 AS OBJECT (
r1 REAL,
FUNCTION sum_x (x MyT3)); 
Упражнение 3:
Номер 1
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типа
CREATE TYPE MyT AS OBJECT (
r1 REAL, r2 REAL,
MEMBER FUNCTION plus (x MyT) RETURN MyT); имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION plus (x INTEGER) RETURN MyT IS
BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2);
END plus;
END; 
 (2)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION plus (x MyT) RETURN MyT IS
BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2);
END plus;
END; 
 (3)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION plus (x MyT) IS
BEGIN RETURN MyT (r1 + x.r1, r2 + x.r2);
END plus;
END; 
Номер 2
Укажите, какие операторы, определяющие тело объектного типа для спецификации этого типа
CREATE TYPE MyT AS OBJECT (i1 INTEGER,
MEMBER FUNCTION sum_x (x INTEGER) RETURN INTEGER); имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION sum_x (x INTEGER) RETURN MyT IS
BEGIN RETURN MyT (x); END sum_x;
END; 
 (2)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION sum_x (x INTEGER)
RETURN INTEGER IS
BEGIN RETURN i1 + x; END sum_x;
END; 
 (3)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION sum_x (x INTEGER) IS
BEGIN RETURN MyT x; END sum_x;
END; 
Номер 3
При каждом рекурсивном вызове подпрограммы:
Ответ:
 (1) создается новый экземпляр всех переменных, объявленных в подпрограмме 
 (2) создается новый экземпляр всех курсоров, 
 (3) не создается новых экземпляров переменных и курсоров, объявленных в подпрограмме 
Упражнение 4:
Номер 1
Для атрибута объектного типа можно:
Ответ:
 (1) выполнять инициализацию, используя оператор присваивания 
 (2) налагать ограничение NOT NULL
 
 (3) указывать в качестве типа любой объектный тип 
Номер 2
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE MyT1 AS OBJECT ( i1 INTEGER,
MEMBER FUNCTION fun1 (x INTEGER) RETURN MyT1); 
 (2)
CREATE TYPE MyT1 AS OBJECT ( r1 LONG, r2 RECORD); 
 (3)
CREATE TYPE MyT1 AS OBJECT (
r1 tbl1%ROWTYPE,
FUNCTION fun1 () RETURN INTEGER); 
Номер 3
Укажите, какие операторы, определяющие тело объектного типа для спецификации типа
CREATE TYPE MyT AS OBJECT (i1 INTEGER,
MEMBER FUNCTION fun1 (x INTEGER)
RETURN INTEGER);, имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION fun1 (x REAL) RETURN MyT IS
BEGIN RETURN100; END;
END; 
 (2)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION fun1 (x INTEGER)
RETURN INTEGER IS
BEGIN RETURN x+100; END;
END; 
 (3)
CREATE TYPE BODY MyT AS
MEMBER FUNCTION fun1 (x INTEGER) IS
BEGIN RETURN MyT (x.i1); END;
END; 
Упражнение 5:
Номер 1
Типом атрибута объектного типа может быть:
Ответ:
 (1) тип, определяемый атрибутом %TYPE
 
 (2) тип, определяемый атрибутом %ROWTYPE
 
 (3) тип BOOLEAN
 
 (4) объектный тип 
 (5) тип VARCHAR
 
Номер 2
Внешняя процедура может храниться в:
Ответ:
 (1) DLL-библиотеке 
 (2) любом внешнем файле 
 (3) в объекте базы данных 
 (4) хранимой процедуре базы данных 
Номер 3
Укажите, какие операторы, определяющие спецификацию объектного типа, имеют правильный синтаксис:
Ответ:
 (1)
CREATE TYPE MyT1 AS OBJECT (
MEMBER FUNCTION fun1 (x INTEGER) RETURN INTEGER); 
 (2)
CREATE TYPE MyT2 AS OBJECT (
FUNCTION fun1 (x MyT2) RETURN MyT2); 
 (3)
CREATE TYPE MyT3 AS OBJECT (
r1 REAL, MAP MEMBER FUNCTION fun1 ());