CHAPTER
1
Introdu tion
Solutions for the Pra ti e Exer ises of Chapter 1
Pra ti e Exer ises
1.1
Answer:
Two disadvantages asso iated with database systems are listed below.
a. Setup of the database system requires more knowledge, money, skills, and
time.
b. The omplexity of the database may result in poor performan e.
1.2
Answer:
a. Exe uting an a tion in the DDL results in the reation of an obje t in the
database; in ontrast, a programming language type de laration is simply
an abstra tion used in the program.
b. Database DDLs allow onsisten y onstraints to be spe ied, whi h pro-
gramming language type systems generally do not allow. These in lude
domain onstraints and referential integrity onstraints.
. Database DDLs support authorization, giving di erent a ess rights to
di erent users. Programming language type systems do not provide su h
prote tion (at best, they prote t attributes in a lass from being a essed
by methods in another lass).
d. Programming language type systems are usually mu h ri her than the SQL
type system. Most databases support only basi types su h as di erent
types of numbers and strings, although some databases do support some
omplex types su h as arrays and obje ts.
1
,2 Chapter 1 Introdu tion
e. A database DDL is fo used on spe ifying types of attributes of relations;
in ontrast, a programming language allows obje ts and olle tions of ob-
je ts to be reated.
1.3
Answer:
Six major steps in setting up a database for a parti ular enterprise are:
Dene the high-level requirements of the enterprise (this step generates a
do ument known as the system requirements spe i ation.)
Dene a model ontaining all appropriate types of data and data relation-
ships.
Dene the integrity onstraints on the data.
Dene the physi al level.
For ea h known problem to be solved on a regular basis (e.g., tasks to be
arried out by lerks or web users), dene a user interfa e to arry out the
task, and write the ne essary appli ation programs to implement the user
interfa e.
Create/initialize the database.
1.4
Answer:
Data redundan y and in onsisten y. This would be relevant to metadata to
some extent, although not to the a tual video data, whi h are not updated.
There are very few relationships here, and none of them an lead to redun-
dan y.
Di ulty in a essing data. If video data are only a essed through a few
predened interfa es, as is done in video sharing sites today, this will not
be a problem. However, if an organization needs to nd video data based
on spe i sear h onditions (beyond simple keyword queries), if metadata
were stored in les it would be hard to nd relevant data without writing
appli ation programs. Using a database would be important for the task of
nding data.
Data isolation. Sin e data are not usually updated, but instead newly re-
ated, data isolation is not a major issue. Even the task of keeping tra k of
who has viewed what videos is ( on eptually) append only, again making
isolation not a major issue. However, if authorization is added, there may
be some issues of on urrent updates to authorization information.
, Pra ti e Exer ises 3
Integrity problems. It seems unlikely there are signi ant integrity on-
straints in this appli ation, ex ept for primary keys. If the data are dis-
tributed, there may be issues in enfor ing primary key onstraints. Integrity
problems are probably not a major issue.
Atomi ity problems. When a video is uploaded, metadata about the video
and the video should be added atomi ally, otherwise there would be an
in onsisten y in the data. An underlying re overy me hanism would be
required to ensure atomi ity in the event of failures.
Con urrent-a ess anomalies. Sin e data are not updated, on urrent a ess
anomalies would be unlikely to o ur.
Se urity problems. These would be an issue if the system supported autho-
rization.
1.5
Answer:
Queries used in the web are spe ied by providing a list of keywords with no spe-
i syntax. The result is typi ally an ordered list of URLs, along with snippets
of information about the ontent of the URLs. In ontrast, database queries
have a spe i syntax allowing omplex queries to be spe ied. And in the rela-
tional world the result of a query is always a table.
,