Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

An Introduction to Database Systems 8Ed - C J Date - Solutions Manual Episode 1 Part 3 pdf
Nội dung xem thử
Mô tả chi tiết
Copyright (c) 2003 C. J. Date page 3.7
and what the primary and foreign keys are (it isn't so important
to know exactly what the sample data values are!)." Mention the
fact that Fig. 3.8 is repeated inside the back cover of the book,
for ease of subsequent reference.
Answers to Exercises
3.1 As usual, some of the following definitions elaborate slightly
on those given in the body of the chapter.
• The term automatic navigation refers to the fact that (in a
relational system) the process of "navigating" around the
stored data in order to implement user requests is performed
automatically by the system, not manually by the user.
• A base relvar──also known as a real relvar [3.3]──is a relvar
that has independent or autonomous existence. More precisely,
it's a relvar that isn't a derived relvar (q.v.). It's not
necessarily the same thing as a "stored relvar."
• The catalog is a set of system relvars whose purpose is to
contain descriptors regarding the various objects that are of
interest to the system itself, such as base relvars, views,
indexes, users, integrity constraints, security constraints,
and so on.
• The term closure (of relational operations) refers to the
fact that (a) the output from any relational operation is the
same kind of object as the input──they're all relations──and
so (b) the output from one operation can become input to
another. Closure implies that we can write nested (relationvalued) expressions.
Note: We stress the point that when we say that the output
from each operation is another relation, we are talking from a
conceptual point of view. We don't necessarily mean to imply
that the system actually has to materialize the result of
every individual operation in its entirety. In fact, of
course, the system tries very hard not to, if such
materialization is logically unnecessary (see the brief
discussion of pipelined evaluation in the body of the
chapter).
• Commit is the operation that signals successful end-oftransaction. Any updates made to the database by the
transaction in question are now "made permanent" and become
visible to other transactions.
Copyright (c) 2003 C. J. Date page 3.8
• A derived relvar is a relvar whose value at any given time is
the result of evaluating a specified relational expression,
typically involving other relvars (ultimately, base relvars).
Note that (like a base relvar) a derived relvar is still a
variable!*──in other words, the term "relvar" does not refer
just to base relvars; moreover, derived relvars must be
updatable (for otherwise they cannot be said to be variables).
──────────
* To be more precise, a derived relvar is a variable if and only
if its defining relational expression involves at least one
relvar; otherwise it would be more accurate to think of it as a
relation constant (a "relcon"?), and it wouldn't be updatable.
──────────
• A foreign key is a column or combination of columns in one
relvar whose values are required to match those of the primary
key in some other relvar (or possibly in the same relvar).
Note: This definition is only approximate. A more precise
definition is given in Chapter 9 (where, among other things,
the point is stressed that a foreign key is a set of columns
and a foreign key value is a set of values──in fact, a
(sub)tuple).
• Join is a relational operation that joins two relations
together on the basis of common values in a common column.
Note: This definition is only approximate. A more precise
definition is given in Chapter 7.
• Optimization is the process of deciding how to implement user
access requests. In other words, it's the process of deciding
how to perform automatic navigation (q.v.).
• A predicate is a truth-valued function. Every relation has a
corresponding predicate that defines (loosely) "what the
relation means." Each row in a given relation denotes a
certain true proposition, obtained from the predicate by
substituting certain argument values of the appropriate type
for the parameters of the predicate ("instantiating the
predicate"). Note: These remarks are all true of relvars as
well as relations, mutatis mutandis.
• The primary key of a given relvar is a column or combination
of columns in that relvar whose values can be used to identify
rows within that relvar uniquely (in other words, it's a