Está en la página 1de 10

Contents

r

Introduction

r
r.r

Information and data

r
r.:

Databases and database management systems

r.

Data models

j
r..r

Schemas and instances

6
r..:

Abstraction levels in

dbms

s

6
r..

Data independence

r.

Languages and users

8
r..r

Database languages

8
r..:

Users and designers

q
r.j

Advantages and disadvantages of

dbms

s

ro
r.6

Bibliography

ro

Part

I

. Relational databases

13

:

The relational model

rj
:.r

The structure of the relational model

rj
:.r.r

Logical models in database systems

rj
:.r.:

Relations and tables

r6
:.r.

Relations with attributes

r8
:.r.

Relations and databases

:o
:.r.j

Incomplete information and null values

:6
:.:

Integrity constraints

:8
:.:.r

Tuple constraints

o
:.:.:

Keys

o
:.:.

Keys and null values

:.:.

Referential constraints

:.

Conclusions

8
:.

Bibliography

8
:.j

Exercises

q

viii

Contents


Relational algebra and calculus

r
.r

Relational algebra

:
.r.r

Union, intersection, difference

:
.r.:

Renaming

.r.

Selection

j
.r.

Projection

.r.j

Join

q
.r.6

Queries in relational algebra

j6
.r.

Equivalence of algebraic expressions

jq
.r.8

Algebra with null values

6:
.r.q

Views

6j
.:

Relational calculus

6
.:.r

Domain relational calculus

68
.:.:

Qualities and drawbacks of domain calculus

:
.:.

Tuple calculus with range declarations

.

Datalog

.

Bibliography

8o
.j

Exercises

8r


sql

8j
.r

Data denition in

sql

8
.r.r

Elementary domains

8
.r.:

Schema denition

qo
.r.

Table denition

qr
.r.

User dened domains

qr
.r.j

Default domain values

q:
.r.6

Intra-relational constraints

q
.r.

Inter-relational constraints

q
.r.8

Schema updates

q
.r.q

Relational catalogues

qq
.:

sql

queries

roo
.:.r

The declarative nature of

sql

ror
.:.:

Simple queries

ror
.:.

Aggregate queries

rr
.:.

Group by queries

rr6
.:.j

Set queries

r:o
.:.6

Nested queries

r::
.

Data modication in

sql

r:8
..r

Insertions

r:8
..:

Deletions

r:q
..

Updates

ro
.

Other denitions of data in

sql

rr
..r

Generic integrity constraints

rr
..:

Assertions

r:
..

Views

r

Contents



ix

..

Views in queries

rj
.j

Access control

r6
.j.r

Resources and privileges

r6
.j.:

Commands for granting and revoking privileges

r
.6

Use of

sql

in programming languages

r8
.6.r

Integration problems

rq
.6.:

Cursors

ro
.6.

Dynamic

sql

r:
.6.

Procedures

rj
.

Summarizing examples

r
.8

Bibliography rjo
.q Exercises rjo
Part II. Database design 155
j Design techniques and models rj
j.r The database design process rj8
j.r.r The life cycle of information systems rj8
j.r.: Methodologies for database design r6o
j.: The Entity-Relationship model r6
j.:.r The basic constructs of the model r6j
j.:.: Other constructs of the model ro
j.:. Final overview of the e-r model r
j. Documentation of e-r schemas rq
j..r Business rules r8o
j..: Documentation techniques r8:
j. Bibliography r8
j.j Exercises r8
6 Conceptual design r8q
6.r Requirements collection and analysis r8q
6.: General criteria for data representation rq
6. Design strategies rq6
6..r Top-down strategy rq6
6..: Bottom-up strategy rq8
6.. Inside-out strategy :or
6.. Mixed strategy :o:
6. Quality of a conceptual schema :o
6.j A comprehensive method for conceptual design :o
6.6 An example of conceptual design :oj
6. case tools for database design :oq
6.8 Bibliography :rr
6.q Exercises :rr
Logical design :r
.r Performance analysis on e-r schemas :r8
x Contents
.: Restructuring of e-r schemas :::
.:.r Analysis of redundancies ::
.:.: Removing generalizations ::6
.:. Partitioning and merging of entities and relationships ::q
.:. Selection of primary identiers :
. Translation into the relational model :
..r Entities and many-to-many relationships :
..: One-to-many relationships :6
.. Entities with external identiers :
.. One-to-one relationships :8
..j Translation of a complex schema :q
..6 Summary tables :r
.. Documentation of logical schemas :r
. An example of logical design :j
..r Restructuring phase :6
..: Translation into the relational model :q
.j Logical design using case tools :jo
.6 Bibliography :jr
. Exercises :jr
8 Normalization :jj
8.r Redundancies and anomalies :j6
8.: Functional dependencies :j
8. BoyceCodd normal form :jq
8..r Denition of BoyceCodd normal form :jq
8..: Decomposition into BoyceCodd normal form :6o
8. Decomposition properties :6:
8..r Lossless decomposition :6:
8..: Preservation of dependencies :6j
8.. Qualities of decompositions :66
8.j Third normal form :6
8.j.r Denition of third normal form :6
8.j.: Decomposition into third normal form :68
8.j. Other normalization techniques :6q
8.6 Database design and normalization :o
8.6.r Verication of normalization on entities :r
8.6.: Verication of normalization on relationships ::
8.6. Further decomposition of relationships :
8.6. Further restructurings of conceptual schemas :j
8. Bibliography :6
8.8 Exercises :6
Part III. Database technology 281
q Technology of a database server :8
q.r Denition of transactions :8
Contents xi
q.r.r acid properties of transactions :8j
q.r.: Transactions and system modules :8
q.: Concurrency control :8
q.:.r Architecture of concurrency control :8
q.:.: Anomalies of concurrent transactions :88
q.:. Concurrency control theory :qo
q.:. Lock management or
q.:.j Deadlock management oj
q. Buffer management o
q..r Architecture of the buffer manager o
q..: Primitives for buffer management o8
q.. Buffer management policies ro
q.. Relationship between buffer manager and le system ro
q. Reliability control system rr
q..r Architecture of the reliability control system r:
q..: Log organization r
q.. Transaction management rj
q.. Failure management r
q.j Physical access structures :o
q.j.r Architecture of the access manager :r
q.j.: Organization of tuples within pages :r
q.j. Sequential structures :
q.j. Hash-based structures :j
q.j.j Tree structures :
q.6 Query optimization :
q.6.r Relation proles
q.6.: Internal representation of queries 6
q.6. Cost-based optimization q
q. Physical database design r
q..r Denition of indexes in sql
q.8 Bibliography
q.q Exercises
ro Distributed architectures q
ro.r Client-server architecture jr
ro.: Distributed databases j
ro.:.r Applications of distributed databases j
ro.:.:Local independence and co-operation jj
ro.:.Data fragmentation and allocation j6
ro.:.Transparency levels j8
ro.:.jClassication of transactions 6o
ro. Technology of distributed databases 6r
ro..r Distributed query optimization 6:
ro..:Concurrency control 6
ro..Failures in distributed systems 68
xii Contents
ro. Two-phase commit protocol 6q
ro..r New log records 6q
ro..:Basic protocol o
ro..Recovery protocols :
ro..Protocol optimization
ro..jOther commit protocols j
ro.j Interoperability
ro.j.r Open Database Connectivity (odbc)
ro.j.:x-open Distributed Transaction Processing (dtp) 8
ro.6 Co-operation among pre-existing systems 8r
ro. Parallelism 8
ro..r Inter-query and intra-query parallelism 8
ro..:Parallelism and data fragmentation 8j
ro..Speed-up and scale-up 86
ro..Transaction benchmarks 8
ro.8 Replicated databases 88
ro.8.r New functions of replication managers qo
ro.q Bibliography qr
ro.ro Exercises qr
Part IV. Database evolution 395
rr Object databases q
rr.r Object-Oriented databases (oodbmss) q8
rr.r.r Types qq
rr.r.: Classes o:
rr.r. Methods o
rr.r. Generalization hierarchies o8
rr.r.j Persistence rr
rr.r.6 Redenition of methods r:
rr.r. Renement of properties and methods r
rr.r.8 The object-oriented database manifesto r6
rr.: The odmg standard for object-oriented databases r
rr.:.r Object Denition Language: odl r
rr.:.: Object Query Language: oql rq
rr. Object-Relational databases (ordbmss) :
rr..r sql- data model :
rr..: sql- query language :
rr.. The third generation database manifesto :8
rr. Multimedia databases :q
rr..r Types of multimedia data :q
rr..: Queries on multimedia data o
rr.. Document search r
rr.. Representation of spatial data :
rr.j Technological extensions for object-oriented databases
Contents xiii
rr.j.r Representation of data and identiers j
rr.j.: Complex indexes 6
rr.j. Client-server architecture
rr.j. Transactions 8
rr.j.j Distribution and interoperability: corn q
rr.6 Bibliography r
rr. Exercises :
r: Active databases
r:.r Trigger behaviour in a relational system 8
r:.: Denition and use of triggers in Oracle q
r:.:.r Trigger syntax in Oracle q
r:.:.:Behaviour of triggers in Oracle jo
r:.:.Example of execution jo
r:. Denition and use of triggers in in: j:
r:..r Trigger syntax in in: j:
r:..:Behaviour of triggers in in: j
r:..Example of execution j
r:. Advanced features of active rules j
r:.j Properties of active rules jj
r:.6 Applications of active databases j
r:.6.r Referential integrity management j
r:.6.:Business rules 6o
r:. Bibliography 6r
r:.8 Exercises 6r
r Data analysis 6j
r.r Data warehouse architecture 6
r.: Schemas for data warehouses 6q
r.:.r Star schema 6q
r.:.:Star schema for a supermarket chain r
r.:.Snowake schema
r. Operations for data analysis
r..r Query formulation interfaces
r..:Drill-down and roll-up j
r..Data cube
r. Development of the data warehouse q
r..r Bitmap and join indexes 8o
r..:View materialization 8r
r.j Data mining 8r
r.j.r The data mining process 8:
r.j.:Data mining problems 8:
r.j.Data mining perspectives 8j
r.6 Bibliography 86
r. Exercises 86
xiv Contents
r Databases and the World Wide Web 8q
r.r The Internet and the World Wide Web qo
r.r.r The Internet qo
r.r.: The World Wide Web qr
r.r. html q:
r.r. http q
r.r.j Gateways q
r.: Information systems on the Web qj
r.:.r Publication and consultation on the Web q6
r.:.:Transactions on the Web q6
r.:.Electronic commerce and other new applications q
r. Design of data-intensive Web sites q8
r..r A logical model for data-intensive hypertexts qq
r..:Levels of representation in Web hypertexts jo:
r.. Design principles for a data-intensive Web site joj
r. Techniques and tools for database access through the Web jo8
r..r Database access through cgi programs jo8
r..:Development tools jro
r..Shortcomings of the cgi protocol jrr
r..Simulating long connections for transactions jrr
r..jServer-based alternatives to the cgi approach jr:
r..6Client-based alternatives to the cgi approach jr
r.j Bibliography jr6
r.6 Exercises jr
Part V. Appendices & Bibliography 519
Appendix A Microsoft Access j:r
.r System characteristics j::
.: Denition of tables j:
.:.r Specication of join paths j:8
.:.: Populating the table j:q
. Query denition jo
..r Query By Example jo
..: The sql interpreter j6
. Forms and reports j8
.j The denition of macros jq
Appendix B DB2 Universal Database j
n.r db: overview j
n.r.r Versions of the system j
n.r.: Instances and schemas of db: jj
n.r. Interaction with db: jj
n.: Database management with db: j6
n.:.r Interactive tools j6
n.:.: Application programs jjr
Contents xv
n. Advanced features of db: jj
n..r Extension of sql for queries jj
n..: Object-oriented features of db: jj8
Appendix C Oracle PL/SQL j6j
c.r Tools architecture of Oracle j6j
c.: Base domains j6
c. The object-relational extension of Oracle j6q
c. pl/sql language j:
c..r Execution of pl/sql in a client-server environment j
c..: Declarations of variables and cursors j
c.. Control structures j6
c.. Management of exceptions j8
c..j Procedures j8o
c..6 Packages j8j
Bibliography j8
Index jq
xvi Contents