You are on page 1of 16

Form (A)

Ministry of Higher Education


University of Hail
Department of Computer Science and Software Engineering

Name :
ID:
Section :

Good Luck

NormalizationChapter10
Can you implement following relation by using RDBMS concept in oracle? If not,
how will you implement?
PROJ PROJECT
EMP
JOB
NUM NAME EMPNO NAME
CLASS
CHG/HR
13
Banking
103
John
SA
500

105
George Programmer
300
26 Telecom
115
Smith
BA
100

117
Wong
Engineer
300
39
Finance
113
Gopal
TL
1000

120
Zelaya
DBA
800

HRS
BILLED
8
8
10
7
4
3

TOTAL
CHARGE
4000
2400
1000
2100
4000
2400

ORDBMS NESTED TABLE


Implement the following relation by ORDBMS Concept by using nested table:
Implementation should include following SQL Command:
1. Table creation
2. Inserting records
3. Querying the price of itemid I007 for Order no O001
4. Modifying the qty from 21 to 10 for Itemid I002 for Order no O002.
5. Deleting an item having itemid=17
QUERY OPTIMIZATION
Write any SQL query linking two relations which you have created in Question2.
Optimize the query by heuristic method.
Note: Query should at least contains two query plan and decided which is the best
among the two.

MohammedFakrudeen

Page2

we have the following requirements for a university database that is


used to keep track of students transcripts:
(a) The university keeps track of each student's name (SNAME), student number
(SNUM), social security number (SSSN), current address (SCADDR) and phone
(SCPHONE), permanent address (SPADDR) and phone (SPPHONE), birthdate
(BDATE), sex (SEX), class (CLASS) (freshman, sophomore, ..., graduate),
major department (MAJORDEPTCODE), minor department `(MINORDEPTCODE)
(if any), and degree program (PROG) (B.A., B.S., ..., Ph.D.). Both ssn and
student number have unique values for each student.
(b) Each department is described by a name (DEPTNAME), department code
(DEPTCODE), office number (DEPTOFFICE), office phone (DEPTPHONE), and
college (DEPTCOLLEGE). Both name and code have unique values for each
department.
(c) Each course has a course name (CNAME), description (CDESC), code number
(CNUM), number of semester hours (CREDIT), level (LEVEL), and offering
department (CDEPT). The value of code number is unique for each course.
(d) Each section has an instructor (INSTUCTORNAME), semester (SEMESTER), year
(YEAR), course (SECCOURSE), and section number (SECNUM). Section numbers
distinguish different sections of the same course that are taught during the same
semester/year; its values are 1, 2, 3, ...; up to the number of sections taught
during each semester.
(e) A transcript refers to a student (SSSN), refers to a particular section, and
grade (GRADE).
Design an relational database schema for this database application. First show all
the functional dependencies that should hold among the attributes. Then, design
relation schemas for the database that are each in 3NF or BCNF. Specify the key
attributes of each relation. Note any unspecified requirements, and make
appropriate assumptions to make the specification complete.

Answer:
From the above description, we can presume that the following functional dependencies
hold on the attributes:
FD1: {SSSN} -> {SNAME, SNUM, SCADDR, SCPHONE, SPADDR, SPPHONE, BDATE, SEX, CLASS,
MAJOR, MINOR, PROG}
FD2: {SNUM} -> {SNAME, SSSN, SCADDR, SCPHONE, SPADDR, SPPHONE, BDATE, SEX, CLASS,
MAJOR, MINOR, PROG}
FD3: {DEPTNAME} -> {DEPTCODE, DEPTOFFICE, DEPTPHONE, DEPTCOLLEGE}
FD4: {DEPTCODE} -> {DEPTNAME, DEPTOFFICE, DEPTPHONE, DEPTCOLLEGE}
FD5: {CNUM} -> {CNAME, CDESC, CREDIT, LEVEL, CDEPT}
FD6: {SECCOURSE, SEMESTER, YEAR, SECNUM} -> {INSTRUCTORNAME}
FD7: {SECCOURSE, SEMESTER, YEAR, SECNUM, SSSN} -> {GRADE}

MohammedFakrudeen

Page3

The foreign keys will be as follows:


STUDENT.MAJOR -> DEPARTMENT.DEPTCODE
STUDENT.MINOR -> DEPARTMENT.DEPTCODE
COURSE.CDEPT -> DEPARTMENT.DEPTCODE
SECTION.SECCOURSE -> COURSE.CNUM
GRADES.(SECCOURSE, SEMESTER, YEAR, SECNUM) ->
SECTION.(SECCOURSE, SEMESTER, YEAR, SECNUM)
GRADES.SNUM -> STUDENT.SNUM
Note: We arbitrarily chose SNUM over SSSN for primary key of STUDENT, and
DEPTCODE over DEPTNAME for primary key of DEPARTMENT.

4. Consider the following relations for an order-processing application database at ABC, Inc.
ORDER (O#, Odate, Cust#, Total_amount)
ORDER-ITEM (O#, I#, Qty_ordered, Total_price, Discount%)
Assume that each item has a different discount. The Total_price refers to one item, Odate is the date on
which the order was placed, and the Total_amount is the amount of the order. If we apply a natural join on
the relations Order-Item and Order in this database, what does the resulting relation schema look like?
What will be its key? Show the FDs in this resulting relation. Is it in 2NF? Is it in 3NF? Why or why not?
(State any assumptions you make.)

5. CAR_SALE(Car#, Date_sold, Salesman#, Commision%, Discount_amt


Assume that a car may be sold by multiple salesmen and hence {CAR#, SALESMAN#} is the primary key.
Additional dependencies are:

MohammedFakrudeen

Page4

Date_sold ->Discount_amt
and
Salesman# ->commission%
Based on the given primary key, is this relation in 1NF, 2NF, or 3NF? Why or why not? How would you
successively normalize it completely?
6.
BOOK (Book_title, Authorname, Book_type, Listprice, Author_affil, Publisher)
Author_affil referes to the affiliation of the author. Suppose the following dependencies exist:
Book_title -> Publisher, Book_type
Book_type -> Listprice
Author_name -> Author-affil
(a) What normal form is the relation in? Explain your answer.
(b) Apply normalization until you cannot decompose the relations further. State the reasons behind each
decomposition.

MohammedFakrudeen

Page5

CHAPTER 13: DISK STORAGE, BASIC FILE STRUCTURES, AND HASHING


1. Consider a disk with the following characteristics (these are not parameters of
any particular disk unit): block size B=512 bytes, interblock gap size G=128
bytes, number of blocks per track=20, number of tracks per surface=400. A disk
pack consists of 15 double-sided disks.
(a) What is the total capacity of a track and what is its useful capacity (excluding
interblock gaps)?
(b) How many cylinders are there?
(c) What is the total capacity and the useful capacity of a cylinder?
(d) What is the total capacity and the useful capacity of a disk pack?
(e) Suppose the disk drive rotates the disk pack at a speed of 2400 rpm
(revolutions per minute); what is the transfer rate in bytes/msec and the block
transfer time btt in msec? What is the average rotational delay rd in msec? What
is the bulk transfer rate (see Appendix B)?
(f) Suppose the average seek time is 30 msec. How much time does it take (on the
average) in msec to locate and transfer a single block given its block address?
(g) Calculate the average time it would take to transfer 20 random blocks and
compare it with the time it would take to transfer 20 consecutive blocks using
double buffering to save seek time and rotational delay.

Useful Formulas:
Transfer rate tr= (total track size in bytes)/(time for one disk revolution in msec) bytes/msec
Block transfer time btt = B / tr msec
Average rotational delay rd = (time for one disk revolution in msec) / 2 msec
Bulk transfer rate btr= tr * ( B/(B+G) ) bytes/msec
Average time to locate and transfer a block = s+rd+btt msec
Time to transfer n random blocks = n * (s + rd + btt) msec
Time to transfer n consecutive blocks using double buffering = s + rd + 20*btt msec
Answer:
(a) Total track size = 20 * (512+128) = 12800 bytes = 12.8 Kbytes
Useful capacity of a track = 20 * 512 = 10240 bytes = 10.24 Kbytes
(b) Number of cylinders = number of tracks = 400
(c) Total cylinder capacity = 15*2*20*(512+128) = 384000 bytes = 384 Kbytes
Useful cylinder capacity = 15 * 2 * 20 * 512 = 307200 bytes = 307.2 Kbytes
(d) Total capacity of a disk pack = 15 * 2 * 400 * 20 * (512+128)
= 153600000 bytes = 153.6 Mbytes

MohammedFakrudeen

Page6

Useful capacity of a disk pack = 15 * 2 * 400 * 20 * 512 = 122.88 Mbytes


(e) Transfer rate tr= (total track size in bytes)/(time for one disk revolution in msec)
tr= (12800) / ( (60 * 1000) / (2400) ) = (12800) / (25) = 512 bytes/msec
block transfer time btt = B / tr = 512 / 512 = 1 msec
average rotational delay rd = (time for one disk revolution in msec) / 2 = 25 / 2
= 12.5 msec
bulk transfer rate btr= tr * ( B/(B+G) ) = 512*(512/640) = 409.6 bytes/msec
(f) average time to locate and transfer a block = s+rd+btt = 30+12.5+1 = 43.5 msec
(g) time to transfer 20 random blocks = 20 * (s + rd + btt) = 20 * 43.5 = 870 msec
time to transfer 20 consecutive blocks using double buffering = s + rd + 20*btt
= 30 + 12.5 + (20*1) = 62.5 msec
2. A file has r=20000 STUDENT records of fixed-length. Each record has the
following fields: NAME (30 bytes), SSN (9 bytes), ADDRESS (40 bytes), PHONE
(9 bytes), BIRTHDATE (8 bytes), SEX (1 byte), MAJORDEPTCODE (4 bytes),
MINORDEPTCODE (4 bytes), CLASSCODE (4 bytes, integer), and
DEGREEPROGRAM (3 bytes). An additional byte is used as a deletion marker. The
file is stored on the disk whose parameters are given in Exercise 4.18.
(a) Calculate the record size R in bytes.
(b) Calculate the blocking factor bfr and the number of file blocks b assuming an
unspanned organization.
(c) Calculate the average time it takes to find a record by doing a linear search on
the file if (i) the file blocks are stored contiguously and double buffering is used,
and (ii) the file blocks are not stored contiguously.
(d) Assume the file is ordered by SSN; calculate the time it takes to search for a
record given its SSN value by doing a binary search.

Useful Formulas:
bfr = floor(B / R) records per block
b = ceiling(r / bfr) blocks
Wasted space per block = B - (R * Bfr) bytes
Transfer rate tr= B/btt bytes/msec
Bulk transfer rate btr= tr * ( B/(B+G) ) bytes/msec
Linear Search:
Time to read n consecutive blocks= s+rd+(n*(B/btr))
Time to search n blocks randomly = n * (s + rd + btt)
Binary search:

MohammedFakrudeen

Page7

Time to search for a record = ceiling(log 2 b) * (s +rd + btt)


Answer:
(a) R = (30 + 9 + 40 + 9 + 8 + 1 + 4 + 4 + 4 + 3) + 1 = 113 bytes
(b) bfr = floor(B / R) = floor(512 / 113) = 4 records per block
b = ceiling(r / bfr) = ceiling(20000 / 4) = 5000 blocks
(c) For linear search
we search on average half the file blocks= 5000/2= 2500 blocks.
i. If the blocks are stored consecutively, and double buffering is used, the time to read
2500 consecutive block = s+rd+(2500*(B/btr))= 30+12.5+(2500*(512/409.6))
= 3167.5 msec = 3.1675 sec
ii. If the blocks are scattered over the disk, a seek is needed for each block, so the time
is: 2500 * (s + rd + btt) = 2500 * (30 + 12.5 + 1) = 108750 msec = 108.75 sec
(d) For binary search, the time to search for a record is estimated as:
ceiling(log 2 b) * (s +rd + btt)
= ceiling(log 2 5000) * (30 + 12.5 + 1) = 13 * 43.5 = 565.5 msec = 0.5655 sec

3. Suppose that a disk unit has the following parameters: seek time s=20 msec;
rotational delay rd=10 msec; block transfer time btt=1 msec; block size B=2400
bytes; interblock gap size G=600 bytes. An EMPLOYEE file has the following
fields: SSN, 9 bytes; LASTNAME, 20 bytes; FIRSTNAME, 20 bytes; MIDDLE INIT,
1 byte; BIRTHDATE, 10 bytes; ADDRESS, 35 bytes); PHONE, 12 bytes);
SUPERVISORSSN, 9 bytes; DEPARTMENT, 4 bytes; JOBCODE, 4 bytes; deletion
marker, 1 byte. The EMPLOYEE file has r=30000 STUDENT records, fixed-length
format, and unspanned blocking. Write down appropriate formulas and calculate the
following values for the above EMPLOYEE file:
(a) The record size R (including the deletion marker), the blocking factor bfr,
and the number of disk blocks b.
(b) Calculate the wasted space in each disk block because of the unspanned
organization.
(c) Calculate the transfer rate tr and the bulk transfer rate btr for this disk (see
Appendix B for definitions of tr and btr).
(d) Calculate the average number of block accesses needed to search for an
arbitrary record in the file, using linear search.
(e) Calculate the average time needed in msec to search for an arbitrary record in
the file, using linear search, if the file blocks are stored on consecutive disk
blocks and double buffering is used.
(f) Calculate the average time needed in msec to search for an arbitrary record in
the file, using linear search, if the file blocks are not stored on consecutive disk
blocks.

MohammedFakrudeen

Page8

(g) Assume that the records are ordered via some key field. Calculate the average
number of block accesses and the average time needed to search for an arbitrary
record in the file, using binary search.

Answer:
(a) R = (9 + 20 + 20 + 1 + 10 + 35 + 12 + 9 + 4 + 4) + 1 = 125 bytes
bfr = floor(B / R) = floor(2400 / 125) = 19 records per block
b = ceiling(r / bfr) = ceiling(30000 / 19) = 1579 blocks
(b) Wasted space per block = B - (R * Bfr) = 2400 - (125 * 19) = 25 bytes
(c) Transfer rate tr= B/btt = 2400 / 1 = 2400 bytes/msec
bulk transfer rate btr= tr * ( B/(B+G) )
= 2400*(2400/(2400+600)) = 1920 bytes/msec
(d) For linear search we have the following cases:
i. search on key field:
if record is found, half the file blocks are searched on average: b/2= 1579/2 blocks

(e) If the blocks are stored consecutively, and double buffering is used, the time to read
n consecutive blocks= s+rd+(n*btt)= 20+10+(1579/2)*1= 819.5 msec)
(f) If the blocks are scattered over the disk, a seek is needed for each block, so the time
to search n blocks is: n * (s + rd + btt)= (1579/2)*(20+10+1)= 24474.5 msec = 24.475 sec
(g) For binary search, the time to search for a record is estimated as:
ceiling(log 2 b) * (s +rd + btt)= ceiling(log 2 1579) * (20+10+1) = 11 * 31 = 341 msec = 0.341 sec
4. A PARTS file with Part# as hash key includes records with the following Part#
values: 2369, 3760, 4692, 4871, 5659, 1821, 1074, 7115, 1620, 2428,
3943, 4750, 6975, 4981, 9208. The file uses 8 buckets, numbered 0 to 7. Each
bucket is one disk block and holds two records. Load these records into the file in
the given order using the hash function h(K)=K mod 8. Calculate the average
number of block accesses for a random retrieval on Part#.
Answer:
The records will hash to the following buckets:
K h(K) (bucket number)
2369 1
3760 0
4692 4
4871 7
5659 3
1821 5
1074 2
7115 3
1620 4
2428 4 overflow
3943 7
4750 6

MohammedFakrudeen

Page9

6975 7 overflow
4981 5
9208 0
9209
Two records out of 15 are in overflow, which will require an additional block access. The
other records require only one block access. Hence, the average time to retrieve a random record is:
(1 * (13/15)) + (2 * (2/15)) = 0.867 + 0.266 = 1.133 block accesses

5. Consider the data are stored in the following order:


78,23,67,12,90
Find out:
1. What type of file (ordered,unordered or hash file)?
2. Explain in terms of
a. Insert
b. Search
c. Delete

6. Draw the block diagram which contain following parts:


a. Tracks
b. Blocks
c. Records
d. Cylinder
e. Spanned Record
f.

Unspanned Record

MohammedFakrudeen

Page10

CHAPTER 14: INDEXING STRUCTURES FOR FILES


1. Consider a relation of the following:

Empno
5677
1234
3456
9678

Ename
Mary
John
George
Thomas

Salary Deptno
8900.23
10
7823.67
10
5612.12
10
8923.23
20

The relations have more than 1 million records and following query is often executed.
Select ename,salary from employee where deptno in(10,20);
Suggest the suitable index for the relation to retrieve the records fastly. Justify your answer.
( Same type of questions will come for primary index,clustered index and secondary index)

2. A PARTS file with Part# as key field includes records with the following Part#
values: 23, 65, 37, 60, 46, 92, 48, 71, 56, 59, 18, 21, 10, 74, 78, 15, 16,
20, 24, 28, 39, 43, 47, 50, 69, 75, 8, 49, 33, 38. Suppose the search field
values are inserted in the given order in a B + -tree of DEGREE 4;
show how the tree will expand and what the final tree looks like. Show will you delete 60,74,16 and 49.

CHAPTER 17: INTRODUCTION TO TRANSACTION PROCESSING CONCEPTS AND THEORY

17.18 How many serial schedules exist for four transactions ? What are they? What is the total number
of possible schedules?
17.22 Which of the following schedules is (conflict) serializable? For each serializable schedule,
determine the equivalent serial schedules.
(a) r1 (X); r3 (X); w1(X); r2(X); w3(X)
(b) r1 (X); r3 (X); w3(X); w1(X); r2(X)
(c) r3 (X); r2 (X); w3(X); r1(X); w1(X)
(d) r3 (X); r2 (X); r1(X); w3(X); w1(X)

MohammedFakrudeen

Page11

17.23 Consider the three transactions T1, T2, and T3, and the schedules S1 and S2 given below. Draw
the serializibility (precedence) graphs for S1 and S2 and state whether each schedule is serializable or
not. If a schedule is serializable, write down the equivalent serial schedule(s).
T1: r1(x); r1(z); w1(x)
T2: r2(z); r2(y); w2(z); w2(y)
T3: r3(x); r3(y); w3(y)
S1: r1(x); r2(z); r1(x); r3(x); r3(y); w1(x); w3(y); r2(y); w2(z); w2(y)
S2: r1(x); r2(z); r3(x); r1(z); r2(y); r3(y); w1(x); w2(z); w3(y); w2(y)
17.24 Consider schedules S3, S4, and S5 below. Determine whether each schedule is strict,
cascadeless, recoverable, or nonrecoverable. (Determine the strictest recoverability condition that each
schedule satisfies.)
S3: r1(x); r2(z); r1(z); r3(x); r3(y); w1(x); c1; w3(y); c3; r2(y); w2(z); w2(y);c2
S4: r1(x); r2(z); r1(z); r3(x); r3(y); w1(x); w3(y); r2(y); w2(z); w2(y); c1; c2; c3;
S5: r1(x); r2(z); r3(x); r1(z); r2(y); r3(y); w1(x); w2(z); w3(y); w2(y); c3; c2;

Draw the state diagram of transactions

CHAPTER 18: CONCURRENCY CONTROL TECHNIQUES


17.18 How many serial schedules exist for four transactions? What are they? What is the total number of
possible schedules?
17.22 Which of the following schedules is (conflict) serializable? For each serializable schedule,
determine the equivalent serial schedules.
(a) r1 (X); r3 (X); w1(X); r2(X); w3(X)
(b) r1 (X); r3 (X); w3(X); w1(X); r2(X)
(c) r3 (X); r2 (X); w3(X); r1(X); w1(X)
(d) r3 (X); r2 (X); r1(X); w3(X); w1(X)
17.23 Consider the three transactions T1, T2, and T3, and the schedules S1 and S2 given below. Draw
the serializibility (precedence) graphs for S1 and S2 and state whether each schedule is serializable or
not. If a schedule is serializable, write down the equivalent serial schedule(s).
T1: r1(x); r1(z); w1(x)
T2: r2(z); r2(y); w2(z); w2(y)
T3: r3(x); r3(y); w3(y)
S1: r1(x); r2(z); r1(x); r3(x); r3(y); w1(x); w3(y); r2(y); w2(z); w2(y)
S2: r1(x); r2(z); r3(x); r1(z); r2(y); r3(y); w1(x); w2(z); w3(y); w2(y)

MohammedFakrudeen

Page12

17.24 Consider schedules S3, S4, and S5 below. Determine whether each schedule is strict,
cascadeless, recoverable, or nonrecoverable. (Determine the strictest recoverability condition that each
schedule satisfies.)
S3: r1(x); r2(z); r1(z); r3(x); r3(y); w1(x); c1; w3(y); c3; r2(y); w2(z); w2(y);c2
S4: r1(x); r2(z); r1(z); r3(x); r3(y); w1(x); w3(y); r2(y); w2(z); w2(y); c1; c2; c3;
S5: r1(x); r2(z); r3(x); r1(z); r2(y); r3(y); w1(x); w2(z); w3(y); w2(y); c3; c2;

Draw the state diagram of transactions

Assume that quantity of item A is 100 and you have sold 5 items. Is it a transaction? Justify your answer.
Explain any two of the following:
Lost update problem
Dirty Read
Unrepeteable Read
Inconsistent Analysis

CHAPTER 19: DATABASE RECOVERY TECHNIQUES

1. Consider the three following transactions:

Transaction T1
Read X
X:=X-100
Write X
Read Y
Y:=Y+100
Write Y

Transaction T2
Read A
A:=A+200
Write A

Transaction T3
Read Z
Z:=Z-500
Write Z

Consider the following transactional log file for above transactions:


Transaction Transaction Operations
UNDO
REDO Value
Begin
Id
Value
Marker
Y
T1
X:=X-100
1000
900
Y:=Y+100
500
Not Yet Done
Y
T2
A:=A+200
300
500
Y
T3
Z:=Z-200
500
300

Transaction
Commit
Marker
N
N
Y

Now assume that failure occurs at this point, then how the recovery of database will be done
Values

Initial

MohammedFakrudeen

Just before
Failure

Operation

Recovered
Database Value

Page13

Consider the following schedule of executing transactions and answers the questions that follow:

T1
T2
T3
T4
T5
T6
time

t1

t2

checkpoint

checkpoint

t3
checkpoint

t4
system crash

Using the RDU_M (Recovery using Deferred Update in a Multiuser environment) algorithm, identify the
transactions that need to be redone and those that need to be restarted
Transaction Id

UNDO / REDO
Operation

T1
T2
T3
T4
T5
T6

Using the RIU_M (Recovery using Immediate Update in a Multiuser environment) algorithm, identify the
transactions that need to be undone and those that need to be restarted.
Transaction Id

UNDO / REDO
Operation

T1
T2
T3
T4
T5
T6

MohammedFakrudeen

Page14

2. Figure 19.7 of the book shows the log corresponding to a particular schedule at the point of a system
crash for the four transactions T1, T2, T3, and T4. How will you do the recovery by
a. RDU_S
b. RIU_S

CHAPTER 23: DATABASE SECURITY AND AUTHORIZATION


23.22 Consider the relational database schema of Figure 5.5. Suppose that all the
relations were created by (and hence are owned by) user X, who wants to grant
the following privileges to user accounts A, B, C, D, and E:
(a) Account A can retrieve or modify any relation except DEPENDENT and can
grant any of these privileges to other users.
(b) Account B can retrieve all the attributes of EMPLOYEE and DEPARTMENT
except for SALARY, MGRSSN, and MGRSTARTDATE.
(c) Account C can retrieve or modify WORKS_ON but can only retrieve the
FNAME, MINIT, LNAME, SSN attributes of EMPLOYEE and the PNAME,
PNUMBER attributes of PROJECT.
(d) Account D can retrieve any attribute of EMPLOYEE or DEPENDENT and can
modify DEPENDENT.
(e) Account E can retrieve any attribute of EMPLOYEE but only for EMPLOYEE
tuples that have DNO = 3.
Write SQL statements to grant these privileges. Use views were appropriate.

CHAPTER 25: DISTRIBUTED DATABASE AND CLIENT-SERVER ARCHITECTURES


25.20 Consider the following relations:
BOOKS (Book#,Primary_author,Topic,Total_Stock,$price)
BOOKSTORE (Store#,City,State,Zip,Inventory_value)
STOCK (Store#,Book#,Qty)
Total_stock is the total number of books in stock and Inventory_value is the total inventory value for the
store in dollars.
(a) Give an example of two simple predicates that would be meaningful for the BOOKSTORE relation for
horizontal partitioning.
(b) How would a derived horizontal partitioning of STOCK be defined based on the partitioning of
BOOKSTORE?

MohammedFakrudeen

Page15

(c) Show predicates by which BOOKS may be horizontally partitioned by topic.


(d) Show how the STOCK may be further partitioned from the partitions in (b) by adding the predicated in
(c).

MohammedFakrudeen

Page16

You might also like