Errata to

Halpin, T. A. 2001, Information Modeling and Relational Databases

(Morgan Kaufmann: San Francisco).

 

Last updated: 2006 April 30

 

 

 

Many errata in the first printing of the book were corrected in the second printing, released in February 2003. To determine the print version of your copy of the book, look at the row of digits below the copyright notice on the verso of the main title page: the final digit denotes the print version (e.g. 1 = first printing, 2 = second printing).

���� If you spot any other errors, please e-mail them to the author at [email protected]. Thanks to all who reported errors, especially Andy Carver, proof-reader extraordinaire!

 

 

Corrections to Second Printing

 

The following corrections should be made to the second printing of Halpin, T.A. 2001, Information Modeling and Relational Databases, Morgan Kaufmann: San Francisco. The symbol �� means �is replaced by�.

 

p. 70, Table 3.5 header: "A relational table" "An output report".

 

p. 77, Ex. 3.3, Q. 6: �Birth Year� �Year�.

 

p. 150, para. 1, line 5: �Credit column� �Lecturer column�.

 

p. 180, para. 2, line 5: �3� �4�.

 

p. 207, para. 6, line 4: �CD 654321-1� �CD 654321-2�.

 

p. 244, Figure, last line, Deposit column: Insert �600�.

 

p. 254, Specialization Procedure:

��������� Line 1: Delete �of its attached supertype�.

��������� Line 2: �not just� �stronger than�.

 

p. 275, last line: ��� --�; remove trailing spaces at end of line.

 

p. 295, para. 3, line 3: �{�m�,�f�}� �{�m�,�f}�.

 

p. 374, para. 2, first sentence: Delete word range �not that � but rather�.

 

p. 387, para. 2, line 2: �instances from� �instances form�.

 

p. 397, Ex. 9.8, Q. 1, last row of table, Power column: �72� �48�.

 

p. 419, para. 3

line 6: �carRegNr �[carRegNr]�

line 9: �carModel, empNrcarModel, [empNr]�

 

p. 431, Fig. 10.28 Derivation rule: �totalQtySsoldtotalQtySold�.

 

p. 437, Q. 16 Figure: The uses predicate in SoftwarePackage uses ComputerLanguage should read from right to left (e.g. change it to �<< uses�).

 

p. 438, Ex. 10.3, Q. 17 figure: Add predicate name �is from� beside top role of the association between Degree and Uni.

 

p. 471:

Line 2: �003)� �003), and that the same car may be driven by more than one employee (ABC123)�

Line 3: �name� �name, sex�

 

p. 488, Table 11.3:

date, first, level� �DATE, FIRST, LEVEL�

������ before, row, trigger� �BEFORE, ROW, TRIGGER�

 

p. 489, Table 11.4 caption: �SQL-89� �SQL-89 (assume upper-case version)�

 

p. 493, Ex 11.4, Q. 1:

in which of SQL-89, SQL-92, or SQL:1999?� in SQL-89, if shifted to upper-case?�

Add Question 2:

�Which of the entries in Question 1 are legal identifiers in which of SQL-92 and SQL:1999?�

 

p. 517:

Figure 11.47, 4th SQL query, last line: �name� firstname

First para.: Append �If the system is case-insensitive (the default for SQL Server), the result table in the second query should include Aries.

 

p. 538, last SQL query example, line 8: �Pupil2� �Pupil�.

 

p. 547, Ex. 11.10 Q. 3: Question number �3� �2�.

 

p. 555, line 3: [default literal | null | user] [default {literal | null | user}]

 

p. 561, last para., line 2: �cascadedcascade�.

 

p. 587, Corollary 3: �disjunction� �the disjunction�.

 

p. 595, Fig. 12.24: Delete �A UC is understood to span the objectified predicate.�

 

p. 605, line 1: �disjunction� �exclusive disjunction�.

 

p. 609,

Fig. 12.38: Connect equality constraint to left-hand roles, not the role-pairs.

Fig. 12.39: Add name �T� to the upper predicate on the right hand side.

 

p. 610, Fig. 12.40, right hand side only: �Discipline� DisciplineSet

 

p. 653, Fig. 12.69:

The uniqueness constraint on Review assigns Rating should span just the left role, not both roles.

 

p. 701, para. 2, last sentence: �An exercise question is included at the end of this section to help you appreciate� �The instructor�s guide includes an extra question for Exercise 10.3 that demonstrates�.

 

Online Appendix C:

p. C-3, para. 2, last line: �Now suppose that Eve is consider the query� �Now consider the query�.

 

 

Corrections to First Printing

 

The following corrections should be made to the first printing of Halpin, T.A. 2001, Information Modeling and Relational Databases, Morgan Kaufmann: San Francisco. The symbol �� means �is replaced by�. Most, but not all, of these corrections have been made to the second printing.

 

p. xix:

para. 1, line 4: �peak� �pique�

para. 2, line 1: �development B:� �development.�

 

p. xxi, para. 2, line 1: �peak� �pique�

 

p. 10, para. 4, last line: �where each column is unique� �where each column entry occurs only once in its column�

 

p. 42, line 9: �primary way or� �primary way of�

 

p. 70, Table 3.5 header: "A relational table" "An output report".

 

p. 77, Ex. 3.3, Q. 6: �Birth Year� �Year�.

 

p. 71:

line 9: �Bloggs F� Bloggs FB�

���� para. 5, line 3: �different student numbers� �different student numbers,

suggesting that different students may have the same name�.

 

p. 86, Fig. 3.15: rightmost predicate should connect to the nested object type, not a role within it.

 

p. 106, last line: �entity types� �value types�

 

p. 107:

first line: �value types� �entity types�

para. 4, lines 7-9:

������� for use within. A number � support for the Visual Studio.net method ��

�� for use within Visual Studio.net. A number � support for the method ��

 

p. 115, para. 2, line 3: �make each value the same� �make each value different�

 

p. 132, para. 2: �So outer joins have little relevance to conceptual modeling, and we will ignore them for now. However,� �It is possible however to use outer joins to construct derived fact types that include null values in their associated fact tables. Moreover,�.

 

p. 137, para. 2: Replace all of the paragraph after the first sentence by: �For example, a point in 3-dimensional space might be identified using the sentence types Point has x- Coordinate, Point has y- Coordinate, Point has z- Coordinate, with an external uniqueness constraint spanning the three coordinate roles.�

 

p. 150, para. 1, line 5: �Credit column� �Lecturer column�.

 

p. 155: Left-align �and studied Subject� with �Person scored Rating�

 

p. 173, para. 4, line 2: �scheme or� �scheme or is�.

 

p. 180, para. 2, line 5: �3� �4�.

 

p. 185, line 3: �expert in Group� �expert in Language�

 

p. 207, para. 6, line 4: �CD 654321-1� �CD 654321-2�.

 

p. 244, Figure, last line, Deposit column: Insert �600�.

 

p. 252, para. 3, line 3: delete �and objectified predicates,�

 

p. 254, Specialization Procedure:

��������� Line 1: Delete �of its attached supertype�.

��������� Line 2: �not just� �stronger than�.

 

p. 255, Fig. 6.43: Add the tuple (103, 5) to the pregnancies fact table

 

p. 266, Ex. 6.5, Q.6, Planets table, Nr of moons column:

for Jupiter: 16 28

for Saturn:24 30

 

p. 275, last line: ��� --�; remove trailing spaces at end of line

 

p. 281, Fig. 7.5: Add link with mandatory role dot to connect Paper to first role of

���� �Paper has Title�.

 

p. 295, para. 3, line 3: �{�m�,�f�}� �{�m�,�f}�.

 

p. 302, para. 4, line 3: �add, delete, or swap nodes� �add or delete nodes�.

 

p. 307, para. 3, lines 8-9: �the required driver� �a driver�.

 

p. 341, Fig. 8.37(b): the role connectors from Part should connect to the roles within the Containment association.

 

p. 374, para. 2, first sentence: Delete word range �not that � but rather�.

 

p. 387, para. 2,

�������������������� line 2: �instances from� �instances form�.

�������������������� line 6: �yRx �not yRx�.

 

p. 397, Ex. 9.8, Q. 1, last row of table, Power column: �72� �48�.

 

p. 419,

Fig. 10.15(a): Add mandatory constraint to first role of �Employee uses Car�.

para. 3

line 6: �carRegNr �[carRegNr]�

line 9: �carModel, empNrcarModel, [empNr]�

 

p. 425,

���� Bullet point: Append �Add a subset constraint to this primary key from each column sequence mapped from non-functional roles (if any) of the independent object type.�

Fig. 10.24: Extend the key of Work to include phase.

 

p. 429, Rmap step 5: Append �Non-functional roles of independent object types map to column sequences that reference the independent table.�

 

p. 431, Fig. 10.28 Derivation rule: �totalQtySsoldtotalQtySold�.

 

p. 437, Q. 16 Figure: The uses predicate in SoftwarePackage uses ComputerLanguage should read from right to left (e.g. change it to �<< uses�).

 

p. 438, Ex. 10.3, Q. 17 figure: Add predicate name �is from� beside top role of the association between Degree and Uni.

 

p. 445, para. 4

line 1: �only where� captures the �only where� clause captures just a;

line 2: �exactly where� the �exactly where� clause.

 

p. 448, para. 3, line 1: �Push the primary� �Copy the primary�.

 

p. 453, 2nd relational schema (half way down the page): remove all square brackets.

 

p. 469, 4 lines from bottom: �A X B where c �(A X B) where c

 

p. 470, two instances: �A X B where �(A X B) where

 

p. 471:

Line 2: �003)� �003), and that the same car may be driven by more than one employee (ABC123)�

Line 3: �name� �name, sex�

 

p. 482, Q. 5(a): Delete �has� from role connected to Gender.

 

p. 483,

Q. 8: Move subset constraint right (center between surname and forename)

Q. 9: Move top subset constraint right (start at Invoice.customerNr)

���� �� Move bottom subset constraint right (start at LineItem.itemCode)

 

p. 488, Table 11.3:

date, first, level� �DATE, FIRST, LEVEL�

������ before, row, trigger� �BEFORE, ROW, TRIGGER�

 

p. 489, Table 11.4 caption: �SQL-89� �SQL-89 (assume upper-case version)�

 

p. 493, Ex 11.4, Q. 1:

in which of SQL-89, SQL-92, or SQL:1999?� in SQL-89, if shifted to upper-case?�

Add Question 2:

�Which of the entries in Question 1 are legal identifiers in which of SQL-92 and SQL:1999?�

 

p. 517:

Figure 11.47, 4th SQL query, last line: �name� firstname

First para.: Append �If the system is case-insensitive (the default for SQL Server), the result table in the second query should include Aries.

 

p. 524, fig. 11.51: second �from Expert� �from Novice�; �level�� ��level��.

 

p. 525, ���� para. 3, line 3: Delete �where m n,�.

 

p. 538, last SQL query: �from Pupil2� from Pupil�.

 

p. 545, Fig. 11.57, last line: �language� = �Canada country = �Canada�.

 

p. 547, Ex. 11.10 Q. 3: Question number �3� �2�.

 

p. 553, para. 3, line 1: �the logic is� �in SQL-89 the logic becomes�.

 

p. 555, line 3: [default literal | null | user] [default {literal | null | user}]

 

p. 561:

��������� create table Voter declaration, last line: �char(4)))� �char(4))))�.

��������� last para., line 2: �cascadedcascade�.

 

p. 570, para. 2, line 6: �A B� �(A B)�.

 

p. 577, line above Patient indulges in Vice translation: �in the first� �in terms of the first�.

 

p. 584, third corollary to PSG1: �A�s role� Ai�s role�.

 

p. 587, Corollary 3: �each� �the disjunction�.

 

p. 588, Fig. 12.18(b): connector from top right-hand role to Driver should be solid, not dashed.

 

p. 595, Fig. 12.24: Delete �A UC is understood to span the objectified predicate.�

 

p. 596: Fig. 12.25(b): uniqueness constraint on Evaluation was for Subject should span both roles, not just the first role.

 

p. 599, Figs. 12.30 and 12.31: rightmost predicate should connect to the nested object type, not a role within it.

 

p. 605, line 1: �disjunction� �exclusive disjunction�.

 

p. 609,

Fig. 12.38: Connect equality constraint to left-hand roles, not the role-pairs.

Fig. 12.39: Add name �T� to the upper predicate on the right hand side.

 

p. 610, Fig. 12.40, right hand side only: �Discipline� DisciplineSet

 

p. 622, para. 3, line 4: �number of tables� �number of tables or columns�.

 

p. 636, para. 6, line 5: �uniqueness� �only uniqueness�.

 

p. 652, Fig. 12.68: Add mandatory constraint to bottom role of Committee is chaired by Person.

 

p. 653, Fig. 12.69:

The uniqueness constraint on Review assigns Rating should span just the left role, not both roles.

Move the mandatory constraint from the bottom role of Person is chair2 of Committee to the bottom role of Person is chair1 of Committee.

 

p. 687, Fig. 13.18: Add the reference mode �(nr)� to the Account object type.

 

p. 701, para. 2, last sentence: �An exercise question is included at the end of this section to help you appreciate� �The instructor�s guide includes an extra question for Exercise 10.3 that demonstrates�.

 

p. 763, author details, line 1:

the database modeling, enterprise� �database modeling in the enterprise�

 

Answers to odd-numbered questions:

 

Ex. 3.4, Q. 7(g): �Company uses Computer� �Person uses Computer�.

 

Answers to even-numbered questions:

 

Ex. 4.4, Q. 2(c): Role attached to predicate inside nested object type should instead be attached to the nested object type itself.

 

Online Appendix C:

p. C-3, para. 2, last line: �Now suppose that Eve is consider the query� �Now consider the query�.