The University of Texas
CS 327e Spring 2003 Test
1
NAME:
__________________________________ LAST 4 DIGITS of SSN: __________________
Date: 2003-02-21 Duration: 60 mins Total: 19 Qs (100 pts), 1 bonus Q (2
pts).
For the multiple-choice questions
1 through 15, Use a pencil to circle the correct answer. Each multiple-choice
question carries 4 points.
For all questions, the
answers are marked in bold.
1) Relationships are always WEAK when they are created between
optional entities.
|
a. |
True. |
|
b. |
False. |
2) A table, that does not have a composite primary key i.e.
its PK is made up of 1 column, and is in 1NF, is
|
a. |
Not in 2NF. |
|
b. |
Also in 2NF. |
|
c. |
Can never hope to be in 3NF. |
|
d. |
Is made up of wood. |
3) A table is said to be in 3NF when
|
a. |
It is in 2NF and does not contain partial dependencies. |
|
b. |
It is in 1NF and contains transitive dependencies. |
|
c. |
It is in 2NF and does not contain any transitive dependencies. |
|
d. |
It is dependent on its 3 legs, instead of all 4. |
4) A Relational operator that yields all possible pairs of rows
from 2 tables is known as
|
a. |
Difference. |
|
b. |
Product. |
|
c. |
Select. |
|
d. |
Project. |
5) A Relational operator that yields all values for selected
attributes in a table is known as
|
a. |
Select. |
|
b. |
Project. |
|
c. |
Product. |
|
d. |
Difference. |
|
e. |
Join. |
6) A Natural Join is the result of a 3-stage process: PRODUCT, SELECT,
and UNION.
|
a. |
True. |
|
b. |
False. |
7) Within a table, the foreign key must be unique so that it will
identify each row. When this is the
case, the table is said to exhibit Entity Integrity.
|
a. |
True. |
|
b. |
False. |
8) If a foreign key contains either matching values or nulls, the
table(s) that makes use of such a foreign key is/are said to exhibit __________
integrity.
|
a. |
Restrictive |
|
b. |
Referential |
|
c. |
Secondary |
|
d. |
National |
9) When NULL values appear for unmatched values, as a result of a
JOIN between 2 tables, the type of join could be
|
a. |
Equi Join |
|
b. |
Left Outer Join |
|
c. |
Right Outer Join |
|
d. |
All of the above |
|
e. |
b. Or c. |
10) A recursive relationship is often found in a binary
relationship.
|
a. |
True. |
|
b. |
False. |
11) In a generalization hierarchy, the relationship between
supertype and subtype is 1:1.
|
a. |
True. |
|
b. |
False. |
12) In a 1:M relationship, if both sides are mandatory, the following foreign key rules and properties apply:
|
a. |
NOT NULL |
|
b. |
ON UPDATE CASCADE |
|
c. |
ON DELETE RESTRICT |
|
d. |
All of the above |
|
e. |
None of the above |
13) When making corrections/modifications, you would use the
following command
|
a. |
PLEASE CHANGE PRODUCT SET P_INDATE =
'01/18/2002' WHERE P_CODE
= '13-Q2/P2'; |
|
b. |
ROLLBACK PRODUCT SET P_INDATE =
'01/18/2002' WHERE P_CODE
= '13-Q2/P2'; |
|
c. |
EDIT PRODUCT SET P_INDATE =
'01/18/2002' WHERE P_CODE
= '13-Q2/P2'; |
|
d. |
UPDATE PRODUCT SET P_INDATE =
'01/18/2002' WHERE P_CODE
= '13-Q2/P2'; |
14) Both the Chen and Crow’s Foot models use rectangles to
represent entities.
|
a. |
True. |
|
b. |
False. |
15) Consider 3 tables in a database: T1, T2, T3.
T1 is in 3NF, T2 is in 2NF, and T3 is in 3NF. Hence, the entire
database is said to be in
|
a. |
1NF. |
|
b. |
2NF. |
|
c. |
3NF. |
|
d. |
4NF. |
|
e. |
BCNF. |
16)
(10 points) Consider the following table in 1NF:
STUDENT
(SSN, FirstName, LastName, Dept, Zip, State)
With
the following functional dependencies:
FD1) SSN à
FirstName, LastName, Dept, Zip, State
FD2) Zip à
State
Decompose this table into table(s) that is (are) in
3NF. Clearly show the resultant table(s) along with their respective FDs.
NOTE:
Since the table does not have a composite PK, it is already in 2NF.
STUDENT
(SSN, FirstName, LastName, Dept, Zip)
FD1)
SSN à FirstName, LastName, Dept,
Zip
ZIPINFO
(Zip, State)
FD2)
Zip à State
17)
Consider the suppliers-parts-projects database, sample data (same as lab1) for
which is shown in the last page.
Give
the names of suppliers who have shipped Blue parts.
a)
(5
points) Write the SQL.
SELECT
DISTINCT SUPPLIER.NAME
FROM
SUPPLIER, PART, SHIPMENT
WHERE
SHIPMENT.PID = PART.PID
AND
SHIPMENT.SID = SUPPLIER.SID
AND
PART.COLOR = 'Blue'
b)
(5
points) Draw the resulting table.
NAME
Adams
Blake
Jones
18)
Consider the suppliers-parts-projects database, sample data (same as lab1) for
which is shown in the last page.
(10
points) Draw the resulting table for the following query.
SELECT
PART.NAME, SUM (SHIPMENT.QTY) AS TOTALQUANTITY
FROM
PART, SHIPMENT
WHERE
PART.PID = SHIPMENT.PID
AND
(SHIPMENT.QTY > 300)
GROUP
BY PART.NAME
HAVING
SUM (SHIPMENT.QTY) > 800
NAME TOTALQUANTITY
Cam 900.0
Screw 4000.0
19) (10 points) Consider the suppliers-parts-projects database, sample data (same as lab1) for which is shown in the last page.
Write
the SQL for the following English statement:
Determine
the part name, along with the average quantity of its shipments, for all parts
that weigh at least 15.0 pounds.
SELECT
PART.NAME, AVG (SHIPMENT.QTY) AS
AVERAGEQUANTITY
FROM
PART, SHIPMENT
WHERE
PART.PID = SHIPMENT.PID
AND
PART.WEIGHT >= 15.0
GROUP
BY PART.NAME
(The
following is not required for the solution)
resulting
in
NAME AVERAGEQUANTITY
Bolt 150.0
Cog 325.0
Screw 388.88888888888891
BONUS
QUESTION:
(2
points) What does the “X” in IDEF1X stand for?
eXtended
SUPPLIER
|
SID |
Name |
Status |
City |
|
S1 |
Smith |
20 |
London |
|
S2 |
Jones |
10 |
Paris |
|
S3 |
Blake |
30 |
Paris |
|
S4 |
Clark |
20 |
London |
|
S5 |
Adams |
30 |
Athens |
PART
|
PID |
Name |
Color |
Weight |
City |
|
P1 |
Nut |
Red |
12.2 |
London |
|
P2 |
Bolt |
Green |
17.0 |
Paris |
|
P3 |
Screw |
Blue |
17.0 |
Rome |
|
P4 |
Screw |
Red |
14.0 |
London |
|
P5 |
Cam |
Blue |
12.0 |
Paris |
|
P6 |
Cog |
Red |
19.0 |
London |
PROJECT
|
JID |
Name |
City |
|
J1 |
Sorter |
Paris |
|
J2 |
Display |
Rome |
|
J3 |
OCR |
Athens |
|
J4 |
Console |
Athens |
|
J5 |
RAID |
London |
|
J6 |
EDS |
Oslo |
|
J7 |
Tape |
London |
SHIPMENT
|
SID |
PID |
JID |
Qty |
|
S1 |
P1 |
J1 |
200 |
|
S1 |
P1 |
J4 |
700 |
|
S2 |
P3 |
J1 |
400 |
|
S2 |
P3 |
J2 |
200 |
|
S2 |
P3 |
J3 |
200 |
|
S2 |
P3 |
J4 |
500 |
|
S2 |
P3 |
J5 |
600 |
|
S2 |
P3 |
J6 |
400 |
|
S2 |
P3 |
J7 |
800 |
|
S2 |
P5 |
J2 |
100 |
|
S3 |
P3 |
J1 |
200 |
|
S3 |
P4 |
J2 |
500 |
|
S4 |
P6 |
J3 |
300 |
|
S4 |
P6 |
J7 |
300 |
|
S5 |
P2 |
J2 |
200 |
|
S5 |
P2 |
J4 |
100 |
|
S5 |
P5 |
J5 |
500 |
|
S5 |
P5 |
J7 |
100 |
|
S5 |
P6 |
J2 |
200 |
|
S5 |
P1 |
J4 |
100 |
|
S5 |
P3 |
J4 |
200 |
|
S5 |
P4 |
J4 |
800 |
|
S5 |
P5 |
J4 |
400 |
|
S5 |
P6 |
J4 |
500 |