Databases Reference

In-Depth Information

where
rx
is a relational expression and
bx
is a boolean expression, returns TRUE if and only if the condition

denoted by
bx
evaluates to TRUE for every tuple in the relation denoted by
rx
.
End of aside.

The foregoing state of affairs notwithstanding, I'll assume throughout this topic that FDs can be stated using

the simpler arrow notation illustrated earlier. Analogous remarks apply to other kinds of dependencies also (in

particular, to join dependencies and multivalued dependencies, which are introduced in Chapters 9 and 12,

respectively).

I'll close this chapter with a little teaser. Assuming the only constraints that apply to the suppliers-and-parts

database are the foregoing FD and the specified key (and foreign key) constraints, then we can say that relvars S, P,

and SP are in second, fifth, and sixth normal form, respectively. To understand the significance of these

observations, please read on!

EXERCISES

The purpose of these exercises is to test your knowledge of relational theory. Most of them can't be answered from

material in the present chapter alone. However, everything mentioned here, and in the answers to these exercises in

Appendix D, is discussed in detail in
SQL and Relational Theory
.

2.1

What's
The Information Principle?

2.2

Which of the following statements are true?

a.

Relations (and hence relvars) have no ordering to their tuples.

b.

Relations (and hence relvars) have no ordering to their attributes.

c.

Relations (and hence relvars) never have any unnamed attributes.

d.

Relations (and hence relvars) never have two or more attributes with the same name.

e.

Relations (and hence relvars) never contain duplicate tuples.

f.

Relations (and hence relvars) never contain nulls.

g.

Relations (and hence relvars) are always in 1NF.

h.

The types over which relational attributes are defined can be arbitrarily complex.

i.

Relations (and hence relvars) themselves have types.

2.3

Which of the following statements are true?

a.

Every subset of a heading is a heading.

b.

Every subset of a body is a body.