DB2 Self Test

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Self-test DB2 for z/OS Fundamentals

Document: e1067test.fm
22/01/2013

ABIS Training & Consulting


P.O. Box 220
B-3000 Leuven
Belgium

TRAINING & CONSULTING

INTRODUCTION TO THE SELF-TEST DB2 FOR


Z/OS FUNDAMENTALS
This test will help you determine if youve obtained the objectives of the DB2 for z/OS fundamentals course, or if you would benefit from following the course.
The test itself consists of 25 multiple-choice questions. This will take you 20 to 25 minutes
to complete.
Some questions only have one answer. Others have multiple answers. In that case, the
number of expected answers is indicated.
Write down your answer(s) and compare with the given solutions which you can find at
the end. Depending upon your score, you will also find our recommendation concerning
the DB2 for z/OS fundamentals course.

22/01/2013

Self-test DB2 for z/OS Fundamentals

QUESTIONS SELF-TEST DB2 FOR Z/OS


FUNDAMENTALS
1.

Given the following cursor declaration:


DECLARE COURSEUPDATE CURSOR FOR
SELECT CSTITLE
FROM TU00001.COURSES
FOR UPDATE OF CDUR
Which of the following embedded SQL statements will use this cursor correctly?

2.

O (a)

UPDATE TU00001.COURSES
SET CDUR = 5

O (b)

UPDATE TU00001.COURSES
SET CDUR = 5
WHERE CURRENT OF COURSEUPDATE

O (c)

UPDATE SET CDUR = 5


WHERE CURRENT OF COURSEUPDATE

O (d)

UPDATE TU00001.COURSES C
SET C.CSTITLE = 'New Title'
WHERE CURRENT OF COURSEUPDATE

The following commands are issued against a database containing a table named
TBACCAD.TUTCOURSES:
CREATE ALIAS TBACCAD.COUR
FOR TBACCAD.TUTCOURSES;
CREATE ALIAS USR.COUR
FOR TEMP.COUR;
CREATE ALIAS TU00001.COURSES FOR USR.COUR
if user TU00001 issues the following statement:
SELECT * FROM COUR
which of the following objects will be accessed?
O (a)

TBACCAD.COUR

O (b)

USR.COUR

O (c)

TEMP.COUR

O (d)

TU00001.COUR

22/01/2013

Self-test DB2 for z/OS Fundamentals

3.

4.

5.

6.

7.

Which of the following statements concerning storage groups is NOT true?


O (a)

All the volumes in a storage group must be of the same device type (e.g. tape, disk, ...).

O (b)

Volumes can only have standard VSAM datasets allocated.

O (c)

The volumes in a storage group are controlled by a VSAM catalog.

O (d)

Storage groups may overlap. The same volume may belong to more than one storage
group.

When using DCLGEN to generate a table declaration, which information concerning this table
is NOT available in the generated output?
O (a)

The null indicators of the columns/fields.

O (b)

The primary key of the table.

O (c)

The datatypes of columns/fields.

O (d)

The data structures specific to the programming language.

Complete the following sentence correctly:


A database can not be dropped ...
O (a)

... while a DB2 utility has control of any part of the database.

O (b)

... if there is still a user connected to the database.

O (c)

... if there is a referential constraint pointing to a table of this database from a table of
another database.

O (d)

... before all indexes connected to tables of this database are dropped.

Assume that the database TRAINING exists, that it contains a tablespace TSDEFAULT, and that
you have the authority to create tables in it. Suppose there is a table called PERSONS in an other
database. Which of the following SQL statements is NOT correct?
O (a)

CREATE TABLE TEST1 LIKE PERSONS IN TRAINING.TSDEFAULT

O (b)

CREATE TABLE TEST1 LIKE PERSONS

O (c)

CREATE TABLE TEST1 LIKE PERSONS IN DATABASE TRAINING

O (d)

CREATE TABLE TEST1 LIKE PERSONS IN TABLESPACE TSDEFAULT

When declaring a foreign key on a table, referencing an existing primary key with complete definition, what might differ between foreign key and primary key?
O (a)

The order of the included columns.

O (b)

The nullability of one of the included columns.

O (c)

The data type of the included columns.

O (d)

The length of the included columns, if its datatype is VARCHAR.

22/01/2013

Self-test DB2 for z/OS Fundamentals

8.

When a column has an extension of WITH DEFAULT NULL, and a unique index is created on this
column, what will be the effects on the possible null values in that column?
O (a)

Nulls are no longer allowed, since nulls arent unique.

O (b)

There is still a single null allowed, since it is unique as such.

O (c)

It has no influence on the possible null values; DB2 doesnt consider nulls when it comes
to an index.

O (d)

The extension will make the creation of an unique index impossible.

9.

Which statement about an index is NOT true?


O (a)

An index has its own INDEX SPACE, automatically created.

O (b)

An index always has a balanced tree structure.

O (c)

A clustering index influences the physical sequence of data in the tablespace.

O (d)

The name of an index can be mentioned in a Select statement, to improve the performance of the query.

10.

There are three types of authorization associated with a user in DB2. Which of the following is
NOT one of them?

O (a)

Primary Authorization ID

O (b)

Secondary Authorization ID

O (c)

SQL Authorization ID

O (d)

Current SQLID

11.

Complete correctly:
When a user has a SELECT authorization on a certain base table, and he creates a view on that
table alone, then he/she ...

O (a)

... only has a SELECT authorization on that view.

O (b)

... also has DELETE authorization on that view because he/she is the creator of the view.

O (c)

... will notice that he cannot create the view (authorization error).

O (d)

... can only execute an UPDATE as long as the definition of the view is not exceeded.

22/01/2013

Self-test DB2 for z/OS Fundamentals

12.

Which statement about tablespaces is true?

O (a)

A tablespace is divided in units called pages, which hold one or more rows of a table. If
a row of 6000 bytes is placed in a 4K page, the page will automatically be resized to 8K.

O (b)

A tablespace is divided in units called pages, which hold one or more rows of a table. If
a row of 6000 bytes is placed in a 4K page, the row will automatically be split over two
pages.

O (c)

Dropping a tablespace will not only remove all tables of the tablespace itself, but also all
indexes created on these tables, even though they are stored separately in their own
indexspace.

O (d)

When creating a tablespace, one must indicate either the storage group or the bufferpool
to be used by this tablespace. If neither is defined, the creation of the tablespace will fail.

13.

An embedded SQL statement returns a sqlcode of - 811, with a message of:


THE RESULT OF AN EMBEDDED SELECT STATEMENT IS A TABLE OF MORE THAN ONE ROW, OR
THE RESULT OF THE SUBQUERY OF A BASIC PREDICATE IS MORE THAN ONE VALUE
What might be the problem and solution, without changing the logical result of the SQL query?
(2 answers)

[_] [a]

A subquery was used in the embedded SQL statement. Rewrite the statement without
subquery, i.e., use a join instead.

[_] [b]

The SQL statement was not a singleton select. A cursor will be needed

[_] [c]

The SQL statement was correct. Check the consistency of the data in the tables; check
especially for duplicates in a column where one does not expect it.

[_] [d]

A UNION was used in the embedded SQL statement. Rewrite the SQL statement as two
separate statements, or use a UNION ALL.

14.

When granting and revoking authorizations, which of the following aspects will NOT be taken
into consideration by DB2?

O (a)

The timestamps of earlier GRANT-s.

O (b)

The presence of WITH GRANT OPTION on earlier GRANT-s.

O (c)

Authorizations on base tables in views.

O (d)

Whether the GRANTEE is an existing user ID for RACF.

22/01/2013

Self-test DB2 for z/OS Fundamentals

15.

Consider the following SQL statement, executed by user TU00001:


CREATE VIEW BELGIAN_COMPANIES
AS
SELECT *
FROM
COMPANIES
WHERE
COCOUNTRY = 'BE'
User TU00044 has INSERT authority on this view, what would happen if he tries to insert a row
into this view, where the COCOUNTRY field of that line contains a value of GB?

O (a)

The row will be inserted in the table TU00001.COMPANIES, but it will never show up in a
SELECT on this view.

O (b)

The row will be inserted only if the user has an authority to insert on table
TU00001.COMPANIES, but it will never show up in a SELECT on this view.

O (c)

The row wont be inserted because the field COCOUNTRY doesnt have the value BE.

O (d)

You cant insert into a view, because views dont contain actual data; theyre just virtual
windows on base tables.

16.

What happens when the execution of a utility is terminated by the TERM command?

O (a)

The execution ends abnormally, the corresponding row in the SYSUTIL table is not
removed, all resources are freed.

O (b)

The execution ends normally, the corresponding row in the SYSUTIL table is not removed,
all resources are freed.

O (c)

The execution ends normally, the corresponding row in the SYSUTIL table is removed, all
resources are freed.

O (d)

The execution ends abnormally, the corresponding row in the SYSUTIL table is removed,
all resources are freed.

O (e)

The execution ends abnormally, the corresponding row in the SYSUTIL table is not
removed, all resources remain blocked.

O (f)

The execution ends normally, the corresponding row in the SYSUTIL table is not removed,
resources remain blocked.

17.

Which of the following statements concerning locking on TABLESPACE level is correct?

O (a)

When a TABLESPACE is S-locked (Shared use) by another user, a U lock (Update use)
can be placed. However, an X lock (eXclusive use) on this level will force the S lock to
be dropped, its transaction to be rolled-back to be able to place the X lock.

O (b)

When a TABLESPACE is S-locked by another user, a U-lock can be placed. However, an


X-lock is not compatible and will have to wait until the S-lock is released.

O (c)

When a TABLESPACE is S-locked by another user, a U lock can be placed. However, an


X lock is not compatible. A IX lock (Intent to eXclusively use) will be placed to indicate
that a X lock is waiting to be placed.

O (d)

When a TABLESPACE is S-locked by another user, neither a U lock or an X lock is compatible on this level. In both cases an I lock (IU lock, IX lock) will be placed to indicate that
a U lock or X lock is waiting to be placed.

22/01/2013

Self-test DB2 for z/OS Fundamentals

18.

Besides on TABLE and TABLESPACE level, on what level can implicit locks be placed by DB2?

O (a)

On ROW, SEGMENT and PARTITION level.

O (b)

On ROW, PAGE and SEGMENT level.

O (c)

On PAGE, SEGMENT and PARTITION level.

O (d)

On ROW, PAGE and PARTITION level.

19.

If the SQLCA is included in the program, which of the following host-variables is NOT known and
as such unavailable for the program?

O (a)

SQLWARN

O (b)

SQLCODE

O (c)

SQLNUM

O (d)

SQLSTATE

22/01/2013

Self-test DB2 for z/OS Fundamentals

20.

Consider the following declarations (either in COBOL or in PL/I):


COBOL:
01 PERSONS.
10 PNUMBER
10 PLASTNAME
10 PFIRSTNAME.
49 PFIRSTNAME-LEN
49 PFIRSTNAME-TEXT
01 NUM
01 INDICATOR.
10 IND
PL/I:
DCL 1 PERSONS,
5 PNUMBER
5 PLASTNAME
5 PFIRSTNAME
DCL 1 NUM
DCL 1 INDICATOR,
5 IND(3)

PIC
PIC

S9(9) COMP.
X(40).

PIC
PIC
PIC

S9(4) COMP.
X(20).
9(9).

PIC

S9(4) COMP OCCURS 3 TIMES.

BIN FIXED(31),
CHAR(40),
CHAR(20) VAR;
BIN FIXED(31);
BIN FIXED(15);

The column PNUMBER is the primary key. Which of the following embedded SQL statements is
correct?
O (a)

SELECT
FROM
INTO
WHERE

PLASTNAME
PERSONS
:PLASTNAME:IND(2)
PNUMBER = :NUM

O (b)

SELECT
INTO
FROM
WHERE

PLASTNAME
:PLASTNAME:IND(2)
PERSONS
PNUMBER = :NUM

O (c)

SELECT
FROM
INTO
WHERE

*
PERSONS
:PERSONS:IND
PNUMBER = :NUM

O (d)

SELECT
INTO
FROM
WHERE

*
:PERSONS:IND
PERSONS
PNUMBER = :NUM

22/01/2013

Self-test DB2 for z/OS Fundamentals

21.

Which of the following statements concerning the use of indicator variables in embedded SQL
statements is the MOST correct one?

O (a)

For every single column that can be NULL, we should add an indicator variable to the
host variable. Columns that cant be NULL dont need an indicator variable added to their
host variables, but if they have such an indicator variable, this will not generate an error.

O (b)

For every single column that can be NULL, we should add an indicator variable to the
host variable. Columns that cant be NULL, mustnt have an indicator variable added to
their host variables, otherwise an error would be generated.

O (c)

For every single NULL value returned to the programs host variables, we should add an
indicator variable to the receiving host variable. If we dont, an error will be generated.

O (d)

For every single NULL value returned to the programs host variables, we should add an
indicator variable to the receiving host variable. If we dont, this might generate an error,
viz. when the host variable hasnt been used before this instance.

22.

Consider the following:


DECLARE
FOR
SELECT
FROM
WHERE

CURS CURSOR
*
TAB1
COL1 > :NUM

Which of the following embedded SQL statements will NOT generate an error?
O (a) FETCH
INTO
FROM

*
:HOSTTAB1:IND
TAB1

O (b)

FETCH
INTO

O (c)

SELECT
INTO
FROM

*
:HOSTTAB1:IND
CURS

O (d)

SELECT
INTO

CURS
:HOSTTAB1:IND

23.

CURS
:HOSTTAB1:IND

Consider the following embedded SQL statement:


SELECT
INTO
FROM
WHERE

PFNAME
:PFNAME:IND
TUTPERSONS
PLNAME = :PLNAME

In which order should the following program variables be evaluated by the part of the program
just after this SQL statement?
O (a)

SQLCODE, IND, PFNAME

O (b)

IND, PLNAME, PFNAME

O (c)

SQLCODE, PFNAME, IND

O (d)

SQLCODE, PLNAME, PFNAME

22/01/2013

Self-test DB2 for z/OS Fundamentals

10

24.

The following is the CREATE statement for a table in DB2, executed by user TU00001:
CREATE TABLE COURSES
( CID
CHAR(4)
CSTITLE CHAR(45)
CLTITLE VARCHAR(60)
CDUR
SMALLINT
CAPRICE DECIMAL(9,2)
IN TRAINING.TSDEFAULT

NOT NULL,
NOT NULL,
,
NOT NULL,
NOT NULL)

The same table was declared using embedded SQL in an application:


DECLARE TABLE TU00001.COURSES
( CID
CHAR(4)
NOT NULL,
CSTITLE CHAR(45)
,
Caprice DECIMAL(9,2) NOT NULL,
CDUR
SMALLINT
NOT NULL)
What will happen?
O (a)

An error will occur at BIND time:


COLUMN Caprice IS NOT AN INSERTED COLUMN OF TABLE TU00001.COURSES

O (b)

An error will occur at BIND time:


ORDER OF COLUMNS IS NOT CONSISTENT WITH TABLE TU00001.COURSES

O (c)

A warning will occur at BIND time:


NUMBER OF COLUMNS IS NOT CONSISTENT WITH TABLE TU00001.COURSES

O (d)

Neither an error nor a warning will occur at BIND time.

25.

When should we execute a REBIND rather than a BIND? (2 answers)

[_] [a]

When the embedded SQL of the application is changed.

[_] [b]

When an index is added to one of the tables used by the embedded SQL.

[_] [c]

When a new user is executing an application in which unqualified tables are used in the
embedded SQL.

[_] [d]

After the execution of a RUNSTATS.

22/01/2013

Self-test DB2 for z/OS Fundamentals

11

EVALUATION.
Here are the correct answers to all questions:
1.

2.

3.

4.

5.

6.

7.

8.

9.

10. c
11. a
12. c
13. b c
14. d
15. a
16. c
17. b
18. d
19. c
20. d
21. a
22. b
23. a
24. d
25. b d
Give 1 point per correctly answered question. A question is correctly answered if all indicated answers are given.
If your score is more than 80%, you do not have to follow the course. You have now mastered the necessary knowledge to follow the DB2 for z/OS advanced programming
course, the DB2 for z/OS SQL performance course, and/or the DB2 for z/OS administration course.
When you have a score between 50% and 80%, following the course DB2 for z/OS fundamentals can improve your knowledge.
When your score is less than 50%, we strongly suggest you to follow this course DB2 for
z/OS fundamentals. Be sure your basic SQL knowledge is sufficient: fill out the corresponding self-test (see PDF file) to verify this.

22/01/2013

Self-test DB2 for z/OS Fundamentals

12

You might also like