(U03)

www.btinternet.com/~adrian.larner/database/pcnotes

PLATOCLAST
ON DATA

Notes and References

 

 

Editor's Introduction

 

1 (EF Codd's seminal paper)

EF Codd: A Relational Model of Data for Large Shared Data Banks, Communications of the ACM, Vol 13, No 6 (June 1970), hereafter “A Relational Model

2 (Date’s “splendid introduction”)

CJ Date: An Introduction to Database Systems, Volume I (Fifth Edition, Addison-Wesley 1990), hereafter “Introduction

3 (other works by Date)

The other works are CJ Date: Relational Datebase, Selected Writings (Addison-Wesley 1986), hereafter “Selected Writings”; and (with Andrew Warden) Relational Datebase, Writings 1985-1989 (Addison-Wesley 1990), hereafter “Writings 1985-1989”.

4 (an “efficient” or “economical” theory)

See Nelson Goodman: Problems and Projects (Hackett Publishing Co. 1972), Section VII, Simplicity.

5 (criteria of identity)

Here, as elsewhere, Platoclast draws heavily on the work of PT Geach, especially Logic Matters (Blackwell 1972). Section 7, Identity Theory; also Ontological Relativity and Relative Identity in MK Munitz (Ed): Logic and Ontology (New York University Press 1973).

6 (“essentiality”)

CJ Date, Introduction, Section 15.2

7 (relative identities)

See PT Geach, op cit.

8 (Simplicity)

See Nelson Goodman, op cit.

9 (overlapping)

The concept of “overlapping” and the theory defined on it (the Calculus of Individuals) are taken from Nelson Goodman: The Structure or Appearance (D Reidel Publishing Co. 1977), Part One, On the Theory of Systems.

10 (attack on set theory)

Also inspired by Nelson Goodman, op cit. and Problems and Projects, Section IV, Individuals.

11 (“Pitman’s”)

“Pitman’s” – a popular shorthand script, named after its inventor, Sir Isaac Pitman, 1813-97, and employed by Ms Genudomini to record these lectures

 

Notes and
References

 

 

Lecture I

 

1 (data base)

At Ms Genudomini’s request, I have retained Platoclast’s idiosyncratic expression of “data base” as two words throughout.

2 (Date’s Introduction)

CJ Date: Introduction, Chapters 11 to 15

3 (Dr Codd first proposed the Relational Model)

EF Codd: op cit

4 (Lady Lovelace’s achievement in programming)

Ada Augusta, Countess of Lovelace, collaborator of Charles Babbage

5 (the same such-and-such)

On the subjects of criteria of identity and relative identity (expounded at some length in Lectures VI and VII) Platoclast draws heavily on PT Geach, op cit

6 (no field types in addition to fields)

The refusal to treat “types” as additional (abstract, set-theoretical) objects is defended at some length in Lectures VII and IX.

7 (Date’s ... properties of relations)

CJ Date: Introduction, Page 261

8 (Dr Codd’s proposal)

EF Codd: A Relational Model. The proposal referred to is, it seems, that there should be no implicit connection between records. I.e. that all connections should be in data. Platoclast interprets this proposal in the sense that a record should comprise only its explicit data, its fields.

9 (R is a record when there is something that is the same record as R.)

The definition of “is a ...” on “is the same ... as” is taken from PT Geach, op cit
, and exploited by Platoclast, particularly in Lecture VII.

10 (essential)

CJ Date: Introduction, Section 15.2. The section begins, “The only data structure provided in the relational model is the relation itself.” It goes on to argue against any other essential structures. Platoclast will argue (in Lecture IX) that even the relation (or table) should not be an essential structure. He uses the “vandal” test as a test for essentiality.

11 (Well, almost the only way.)

Platoclast’s reservation is that fields in a Relational system are also “held together” by occurring in the same relation.

12 (not a duplicate ... the same record)

The subject of duplicate records is more complex than is indicated here. It is further discussed following Lecture XXIV and in Lecture XXVI.

13 (contains all and only the rows)

Platoclast later explains that he regards this criterion as defective, the term “contains” being ambiguous. See Lecture IX.

14

See Lecture XXVII.

15 (“we’ve been here before”)

When discussing “having only one way to hold fields together”, i.e. records comprising only their fields. In a sense, Platoclast’s eventual rejection of the essentiality of tables (Lecture IX) can be understood as removing one of these “dimensions”. Along with this goes the rejection of Primary Keys, the principal row indexing mechanism within a table (see Lecture XXIV).

16

Platoclast here (and in Lecture XXVII) defends a very strict interpretation of “first normal form”. He would treat “date” as a data type with “YEAR”, “MONTH”, and “DAY” functions (see Lecture XVI, following which he defends the distinction between dates and intervals.

17 (normality)

Non-normal relations are addressed in Lecture XXVII and following the Informal Symposium (substituted for Lecture XXVIII).

18 (“normal records”)

The distinction between the relational concepts (like “normality”) that can be defined on records and extended to tables, and those that apply only to tables, affects Platoclast’s entire exposition. Thus, when first discussing data manipulation, he addresses only Restrictions, Projections, and Inner Joins (applicable to records, and by extension to tables). He long postpones consideration of the Relational Union and Difference operators (i.e. the other primitive relational operators, but applicable only to tables), and, when he does discuss them, proposes a very different handling. The motivation for this is his wariness of the complexities of aggregates (especially sets).

19 (Date’s definition of “relation”)

CJ Date: Introduction, Section 11.3

20 (Nulls)

See Lectures X and XI.

 

Notes and
References

 

 

Lecture II

 

1 (more efficient ... theory)

The efficiency measure is taken from Nelson Goodman: Problems and Projects, Section VII, Simplicity. It is more difficult to compare the efficiency of theories based on different logics; though clearly, ceteris paribus, a gain in efficiency is obtained by using a simpler logic, for instance, by going from a logic to a subset of that logic. This is precisely what Platoclast does in Lectures XV to XVIII.

2 (Overlaps)

“Overlaps” is the sole primitive in Nelson Goodman’s “Calculus of Individuals”, from which definitions D1 to D8, postulates P1 to P3, and schema S1 are taken. This provides a method of aggregation significantly weaker than using sets. See The Structure or Appearance, Part One.

3 (definitions [are] abbreviations)

Platoclast, following Nelson Goodman, uses a very strict sense of “definition”, which rules out, for instance, recursive definitions, (“cheating”, see Lecture XXII), such as:

For integers, x, y, z:
x > y =df
x is the successor of y or FOR SOME z, x is the successor or z and z > y.

4 (x as a pronoun)

The interpretation of variables as pronouns comes from WVO Quine: Methods of Logic Revised Edition (Routledge & Kegan Paul, 1974), Chapter 22, and other works.

5

That the variables range only over records (“things”), not over predicates, is what makes the logic “first order”.

6 (FOR EACH)

Platoclast expresses the universal quantifier using “EACH”, rather than “ALL”. The former is a better translation of the original Latin quantifier, ”omnes”, and avoids the collective connotation of “all”.

7 (Table)

It will be appreciated that a table, in this sense, is not necessarily rectangular (i.e. of uniform format). F could hold true of records of different format.

8 (“Format” or record-type definitions DF1 to 3, and DF5)

The intended definitions are:

DFl x is a format =df
FOR SOME y, y form-overlaps x.
DF2 x is form-part of y =df
FOR EACH z, if z form-overlaps x then z form-overlaps y.
DF3 x is a proper form-part of y =df
x is form-part of y and y is not form-part of x.
DF5 x is a form-field =df
FOR EACH y, not y is a proper form-part of x.

9 (Definitions based on value-normality)

The intended definitions are:

D12 x is a value-normal selection of y =df
x is value-normal and x is part of y and FOR EACH z, if z is value-normal and z is part of y then x is not a proper part of z.
 
Dl3 x is the same value as y =df
FOR EACH z, if z is a value-normal selection of x or z is a value-normal selection of y then z is a value-normal selection of x +y.
 
D14 x val-overlaps y =df
FOR SOME z, z is the same value as x and z overlaps y.

10 (record-value definitions DV1 to 3, and DV5)

The intended definitions are:

DVl x is a value =df
FOR SOME y, y val-overlaps x.
 
Along with DF!, this shows how Platoclast treats neither types nor values as additional to records. The type (or value) of a record is any record having the same type (or value) as it.
DV2 x is val-part of y =df
FOR EACH z, if z val-overlaps x then z val-overlaps y.
DV3 x is a proper val-part of y =df
x is val-part of y and y is not val-part of x.
DV5 x is a val-field =df
FOR EACH y, not y is a proper val-part of x.

11 (domains)

Domains are discussed again in Lectures III and XII.

 

Notes and
References

 

 

Lecture III

 

1 (domain)

What Platoclast does here is similar to his treatment of “types”. A domain may be thought of as a type of value, the “edit function” determining of a value whether it is of that type. In effect, Platoclast avoids admitting domains in addition to the values that are drawn from them.

2 (Set Theory)

Platoclast is here saying that a set is intended to serve both to aggregate its members into a whole, and to classify each of them (as “a member”). He believes that no single coherent concept can achieve both this aggregation and this classification. See Lecture IV.

3 (“Douglas is a slacker!”)

Out of respect for Professor Platoclast’s wishes, the editor has left unchanged what in his opinion were unnecessary and gratuitously insulting examples of propositions.

4 (Frege)

Gottlob Frege, one of the founders of modern predicate logic.

5 (“Please shut the window.”)

Platoclast is intending to show that not all sentences are propositions because questions and commands are sentences, but neither true nor false. Equally, open sentences (predicates), such as “x is diligent”, or – in English – “He or she is diligent” are neither true nor false.

6 (“Bloomsbury”)

The distinguished, if unconventional, social group in which Lord (Bertrand) Russell moved.

7 (Jacob is father of Dinah.)

The examples are taken from The Holy Bible, The Book of Genesis. (The editor has been unable, according to Ms Genudomini, to identify all of Platoclast’s scriptural references.)

8 (singular they)

The editor has left Platoclast’s idiosyncratic singular “they” (for “he or she”) throughout.

9

WVO Quine: Set Theory and its Logic (Revised Edition, Harvard University Press 1969), Chapters 2 and 3, Virtual Classes and Virtual Relations

10

The story is told, somewhat less metaphorically, in Kneale and Kneale: The Development of Logic (Clarendon Press, Oxford 1984), Chapter XI.

 

Notes and
References

 

 

Lecture IV

 

1 (Constructionalism)

See Nelson Goodman: Problems and Projects, Section I, I The Revision of Philosophy.

2 (projection)

Here“projection” is used in the sense of non-strict (or “optional”) projection; see Lecture XI.

3

See Lecture III. It is, perhaps, this passage that brings out most clearly Platoclast’s distinction between “classification” and “aggregation”. Aggregation is what is achieved by repeated application of the “+” operator, or by schema S1, “aggregation with confusion” because one cannot tell from the aggregate alone which objects were used to form it; one cannot pick them out. Classification, by a predicate (or, equivalently, labelling with a common name), does enable objects to be picked out, but doesn’t aggregate them. The concept of “set” or “class” is intended both to aggregate and to classify (“aggregation without confusion”); but Platoclast argues that this concept is incoherent. By staying within the confines of the FOPC, or – equivalently – handling only normal records, no aggregation is required.

4

EF Codd: The Relational Model for Database Management, Version 2 (Addison- Wesley, 1990), hereafter “RMV2”, Section 1.1 Page 4 and Section 2.1 Page 30

5

See Lecture IX.

6 (Inner Join v Cartesian Product)

See Lectures IX and XIV, and the Informal Symposium substituted for Lecture XXVIII.

7 (“We blame each other”)

“We blame each other” presumably implies that the idea emerged from conversations between the two of them, and exactly which one originated it is uncertain. To the best of the editor’s knowledge, Warden is a professional software developer in the employ of JCN (UK) Ltd, and a literary collaborator of Date’s, but not a clerk in Holy Orders. Platoclast presumably means that Warden is his “father confessor” in a metaphorical sense (with respect to the “Relational Faith” perhaps).

8

Andrew Warden: Table_Dee and Table_Dum in CJ Date: Writings 1985-1989

9

Platoclast, surprisingly, could properly be described as a male (though rather old-fashioned) feminist. His suggestion here is that it is our patriarchal thought habits that mislead us in making this interpretation.

 

Notes and
References

 

 

Lecture V

 

1

Platoclast’s point is that the places in predicates admit only either names or variables. “No-one” is effectively a negation of a quantification of a variable. A reflexive represents a function on a predicate, forming another predicate with one fewer places.

2 ("nothings")

The reference is perhaps to The Holy Bible, Book of the Prophet Isaiah, Chapters 44 and 46.

3

PT Geach: Logic Matters, Section 4 Intentionality

4 (“Shakespearean”)

Op cit, 4.3 Quantification Theory and the Problem of Identifying Objects of Reference

5 (Join Trap)

See EF Codd: A Relational Model.

6 (Leibnitzian Identity)

What Platoclast calls “Leibnizian” identity is that of classical identity theory, named after Leibniz, mathematician and philosopher.

 

Notes and
References

 

 

Lecture VI

 

1

CJ Date: Selected Writings, Chapter 2, Page 26

2

WVO Quine: The Ways of Paradox and other essays (Harvard University Press, 1976), Chapter 18 A Logistical Approach to the Ontological Problem, and other works

3

The reference is to William Reynolds, whose most accessible work is currently C Kalra and W Reynolds: Integrated Business System Management (IBSM) in The UK Computer Measurement Group, 1990 Conference Proceedings (UKCMG, Slough), Pages 390 to 400. But Platoclast’s remarks, here and elsewhere, apparently reflect unpublished conversations.

4

See PT Geach: Logic Matters, Section 7, Identity Theory.

5

The definition of systemic identity is obtained as follows. The identity, say x=y is defined as a conjunction of clauses. The clause for each monadic primitive predicate in the language of the system, say F, is “F(x) IFF F(y)”; for each dyadic primitive, say G, it is “FOR EACH z, G(x,z) IFF G(y,z) AND G(z,x) IFF G(z,y)”. Platoclast’s own example shows the triadic case; extension to predicates of higher degree is obvious.

 

Notes and
References

 

 

Lecture VII

 

1

See Nelson Goodman: Problems and Projects, Section IV, 1 A World of Individuals.

2

Platoclast’s argument – that one cannot count under absolute identity – may be appreciated by considering the answer to the question: when you point at “that” (to count it), what is it that you’re pointing at? If we say, for instance, “that inscription”, or “that alphabetic letter”, then we smuggle in our criterion of identity (“same inscription” or “same alphabetic letter”). We are then counting using a relative identity. But if we avoid saying “that what”, then we have no means of knowing what to count next: if we choose “this”, is “this” the same (absolutely) as “that”? There is no test, so we cannot say.

3

CJ Date: Selected Writings, Chapter 2, Page 26

4

See Nelson Goodman, Problems and Projects, Section IV, 1 A World of Individuals. The argument in the remainder of this chapter is presumably Platoclast’s own. He uses Geach’s concept of Relative Identity to support Goodman’s Nominalism (though Geach himself admits sets, and Goodman himself espouses absolute identity).

5

See Kneale and Kneale: The Development of Logic, Chapter XI.

6

In order to meet the requirements of the set theoretician, Platoclast has redefined “is an alphabetic letter” to hold true of a set. Such a set has as members the inscriptions that were formerly said to be “alphabetic letters”. These inscriptions cannot now be so called, because of the requirement that to be an alphabetic letter is to be a member of the set of alphabetic letters. They are, rather, members of an alphabetic letter, i.e. members of a member of the set of alphabetic letters.

7

Platoclast’s point here is that set theoreticians could not object to the relative identity, “is the same alpha-inscription as”, as such. They could, presumably, object to its use (and therefore to the use of any merely relative identity) to count with. So he goes on to show that there is no alternative: unless all non-sets are excluded, absolute identity cannot be used to count.

8

“There is no end” because the ultimate constituents, the atoms, of the universe – both objective and subjective – would have to be identified and distinguished. Platoclast would claim that a particular inscription is identifiable as “the same inscription”, despite there being indefinitely many “things” that are the same inscription as it: time-slices of it, what various observers see when they look at it, and so on. Therefore, if the inscription were to be defined as the set of all things that were the same inscription, that set would be ill-defined in respect both to its members (time-slices? views? anything else?) and to its cardinality. See Lecture IX: “these sets contain a vague and shifting number of vague and shifty objects”.
 
What Platoclast proposes is to use a relative identity, such as “is the same alphabetic letter”, and to introduce as many other relative identities as are required (“is the same inscription”, “is the same inscription viewed by the same person at the same time”, and so on). Just what the “ultimate” constituents of any such “thing” (any such alphabetic letter, or inscription, etc.) might be, is a question that need not be determined ( and cannot be determined). Notice however that by using untyped quantification (“FOR SOME x” or “something”, rather than “FOR SOME alphabetic letter, x” or “some letter” – see Lecture X) he allows the system to be open to the introduction of narrower distinctions.

 

Notes and
References

 

 

Lecture VIII

 

1

Ms Genudomini reports that she objected to the male chauvinism of this story, with its implication that girls – unlike boys – understand nothing of mechanical things like cars. “As I tell the story”, replied Platoclast, “it’s not about cars, it’s about a girl’s acuity in Philosophical Logic.”

2

Consider a theory in which “I” is a systemic identity and “J” is a systemic identity. Then, if we had alb and NOT aJb, the former would allow us to substitute “b” for “a” at any occurrence, and specifically in “NOT aJb”, giving NOT bJb, which contradicts the systemic identity, “bJb”.

3 (“Fletcher”, “Engineer”)

“Fletcher” denotes a maker of arrows; “Engineer” is used as a surname in the Indian sub-continent.

4

See PT Geach: Logic Matters, Section 7, Identity Theory.

5

Platoclast’s motivation for the use of “Independent” appears in Lecture XXV.

6

The reader should take note of two consequences of this new interpretation. Firstly, splitting a record (a proposition) by projecting it twice (going from “FOR SOME x, F(x) AND G(x)” to “FOR SOME x, F(x)” and “FOR SOME y, G(y)”) loses information on interpretation, even if – in terms of content – it is non-loss decomposable (i.e. the record could be syntactically restored by a natural join). See Lecture XXIV.
 
Secondly, it is precisely this information loss that avoids the Join Trap, in that joining, say “FOR SOME x, F(x) AND x is the same P as p” and “FOR SOME y, G(y) AND y is the same P as p” does not give the fallacious “FOR SOME x, F(x) AND G(x) AND x is the same P as p”. It gives the safe: “FOR SOME x, FOR SOME y, F(x) AND G(y) AND x is the same P as y, viz p”.

7

An injunction of Socrates’, probably quoted at memory

8

EF Codd: Extending the Database Relational Model to Capture More Meaning in ACM TODS 4 No 4 (December 1979). See also: CJ Date, Introduction Section 22.6 Page 596.

 

Notes and
References

 

 

Lecture IX

 

1

EF Codd: A Relational Model

2

See Lecture VII.

3

Platoclast here defends himself against the criticism that the sort of database he is proposing would perform badly, because the entire database would need to be searched for any sort of record. Performance is not determined by (conceptually) essential structures, but merely by the actual structures used. Thus records of a common type could still be kept in one table (“file”), just as records in a Relational database can be connected by (inessential) pointers.

4

Platoclast’s conception is rather simpler than it appears at first. It is that, say, Employee Forms should be those records returned by a query like: SELECT * FROM database WHERE Names (‘EMPLOYEE’, RECORDID). I.e. each kept record whose RECORDID identifies an Employee Form. “Names (‘EMPLOYEE’, RECORDID)” might be, in a simple case, “RECORDID LIKE ‘EMP*’”. Call the view defined on this query “EMPFORM”, and assume it has columns RECORDID, EMPNO, ...; then the view EMPLOYEE is definable as: SELECT EMPNO, ... FROM EMPFORM. In terms of content, the proposal is almost trivial, but its importance lies in the interpretation given to the different levels of record.

 

Notes and
References

 

 

Lecture X

 

1

Platoclast rejects “definite” (typed) quantification because he wants the variables always to range over the distinguishable entities of the system, even if addition of other predicates (other record types) distinguishes formerly indistinguishable entities. But there is an unstated argument behind his unusual interpretation of “Each P is an F”. (It is this interpretation that gives rise to the oddities.)
 
In a conventional “many-sorted” logic we regard “FOR SOME P, F(P)” (Some P is an F) as equivalent to “FOR SOME x, P(x) AND F(x)”; and “FOR EACH P, F(P)” as equivalent to “FOR EACH x, IF P(x) THEN F(x)”. Platoclast has no quarrel with this in respect of the existential quantification, but he reads the universal quantification (not unreasonably) as” Each thing is, if a P, an F.”
 
What he wants to say is that “Each P is an F” means merely: “This holds true of each thing that is a P: something that is the same P as it is an F.” He would start with the predicate, “... is a P that is an F”, and would say that x is a P that is an F when FOR SOME y, x is the same P as y AND F(y). His favourite example is that an inscription, say i, could be a letter (say “A”), and that that letter (i.e. some inscription, say j, that is the same letter) could be written in a given book. Then i might be not written in the book, and yet it would be a letter (viz A) that was written in the book.

Thus, “There is a P that is an F” comes out as: “FOR SOME x, P(x) AND FOR SOME y, x is the same P as y AND F(y)”; and “Each P is an F” accordingly as “FOR EACH x, IF P(x) THEN FOR SOME y, x is the same P as y AND F(y)”. The former can be simplified. It becomes: “FOR SOME y, y is the same P as y AND F(y)”.

 

Notes and
References

 

 

Lecture XI

 

1

EF Codd: More Commentary on Missing Information in Relational Databases in ACM SIGMOD Record 16, No 1 (March 1986), and RMV2 Chapter 8. Also CJ Date, Introduction, Section 15.6 Page 384.

2

EF Codd, RMV2: Codd actually says, “What is the truth value of the inequality BIRTHDATE > 66-1-1 for a missing birthdate? It is clearly neither TRUE nor FALSE. Instead, it can be said to be MAYBE (meaning maybe true and maybe false) ...” It is unclear whether Codd intends “TRUE” and “true” in this passage to have the same meaning. If so, then it is contradictory “to say that the truth value is clearly not TRUE and also is maybe true. It may be that he intends “TRUE” to mean “clearly true” (known to be true), and we should read “clearly neither TRUE nor FALSE” as “neither clearly true nor clearly false”. But then we would not have a “truth-valued” system at all, for “clearly true” and “clearly false” are not truth values: “true” and “false” are.

3

CJ Date: Selected Writings Chapter 15

4

I.e. they couldn’t see how to deny “Unknown = Unknown”, taking “Unknown” as a value.

5

Lecture XXIV

6

The reference is probably to a proof by Godel, mentioned in GE Hughes and MJ Cresswell: An Introduction to Modal Logic (Methuen, 1972). The proof is, briefly: for an n-valued logic we take n+1 propositional letters; let us suppose for a 3-valued logic, p, q, r, and s. Now we have to find the identity operator of the logic, say “=” . Take the three-valued logic formerly favoured by Codd with values, “KNOWN TRUE”, “KNOWN FALSE”, and “UNKNOWN”. The identity “p=q” is definable as (p IFF q) OR (MAYBE p) AND (MAYBE q). Now consider the propositions: “p=q”, “p=r”, “p=s”, “q=r”, “q=s”, and “r=s”. As we have only three values, at least one of these six propositions must be be KNOWN TRUE (the identity is that operator which, when applied to two propositions of the same truth value, returns a proposition with the value KNOWN TRUE). And therefore the proposition “p=q OR p=r OR p=s OR q=r OR q=s OR r=s” has the value KNOWN TRUE. But it is obviously false to say that if we choose any four arbitrary propositions then there will be two of them whose identity is KNOWN TRUE. And we could not say that that alternation (ORing) is true, let alone KNOWN TRUE. For that would be to say that “p=q” is KNOWN TRUE, or that “p=r” is KNOWN TRUE, or etc. But it might easily be that none of them is KNOWN TRUE. The proof is easily extended to any finite number of values.

 

Notes and
References

 

 

Lecture XII

 

1

Andrew Warden: Into the Unknown in CJ Date: Writings 1985-1989

2

Compare the reinterpretation of “no-one” and “herself” in Lecture V.

3

CJ Date: Introduction, Section 12.3 Page 279

4

Op cit Section 12.5 Page 284

5

CJ Date: Selected Writings, Chapter 15

6

CJ Date: An Introduction to Database Systems, Chapter 15 Section 15.6 Page 388

7

This remark was probably sardonic rather than sarcastic. Platoclast was not unaware of his own vanity.

8

See Lecture XVI.

 

Notes and
References

 

 

Lecture XIII

 

1

The reader is advised here to consider Platoclast’s hint, “I... continue the argument ...assuming CI, ...you will be able to do the translation at your will and leisure.” I.e. the “translation” to EI. See Lecture XXIV

2

Andrew Warden: The Naming of Columns and subsequent papers, in CJ Date: Writings 1985-1989

3

It should be noted that Pb is the same record as Qb in Platoclast’s example, and yet Pb and Qb have different interpretations. The difference is conveyed by the relations in which these rows are found, p and q. Consequently, the characteristic of being found in such-and-such a relation, because it conveys meaning over and above that contained in the record itself, is an essential feature of these rows. See Lecture IX.

 

Notes and
References

 

 

Lecture XIV

 

1

The reader should not assume that Professor Platoclast was entirely accurate in his assessments of these degree grades.

 

Notes and
References

 

 

Lecture XV

 

1

See RMV2, Page 66: A relational DBMS must not support Cartesian product as an explicitly separate operator.

2

See the the Informal Symposium substituted for Lecture XXVIII.

3

See Lecture XX.

 

Notes and
References

 

 

Lecture XVI

 

1

EF Codd: A Relational Model

2

CJ Date: Writings 1985-1989 Chapter 3 Section 3 Page 63

3

Professor Platoclast affects not to understand modern British currency, converted from pounds, shillings, and pence to the decimal pounds and new pence in 1971.

4

Platoclast here demonstrates that the concept “date-pair” makes sense by giving an appropriate criterion of identity. He would argue that if we have a test to distinguish whether or not one thing is the same date pair as another, then it is absurd to deny that “date-pair” makes sense. The sense it makes is precisely that given by the criterion of identity. Consequently, “(D1+D2)”, also makes sense: it is a title of a date-pair (as defined).

 

Notes and
References

 

 

Lecture XVII

 

1 ("thou")

A “thou” is a thousandth of an inch.

2

Platoclast follows PT Geach in regarding logic as applicable to – and he therefore draws his examples from – any field of interest: linguistics, mathematics, theology.

3 (Rods)

A (square) rod is an old English agricultural measure, 1/160 of an acre or 30.25 square yards.

4

For further development see the Clarification, below, and Lecture XXIII.

 

Notes and
References

 

 

Lecture XVIII

 

1

Historically, the proof of the unprovability of set theory (and any other theory strong enough to found number thoery) was discovered first, by Godel; the lack of any proof procedure for consistency of expressions of the FOPC was demonstrated by Church, and the lack of any proof procedure for fmite inconsistency of such expressions was demonstrated by Trachtenbrot.

2

See Lecture XVI.

3

EF Codd: A Relational Model.

 

Notes and
References

 

 

Lecture XIX

 

1

EF Codd: A Relational Model.

2

MA Jackson: Principles of Program Design, Academic Press, London, 1975

3

I.e. CHANGE(FIELD) is effectively a “level break” on FIELD. See Lecture XX.

 

Notes and
References

 

 

(There are no notes on Lecture XX)

Lecture XXI

 

1

See Lecture XXIII.

2

G Peano formalised arithmetic using the FOPC, a few primitive predicates, a small number of axioms (of which Platoclast mentions two), and the axiom schema of mathematical induction.

 

Notes and
References

 

 

Lecture XXII

 

1

Probably Platoclast is referring to NA Lorentzos and RG Johnson: Extending Relational Algebra to Manipulate Temporal Data, Information Systems, Vo113, No 3 (1988).

2

In making this rather cavalier statement, Platoclast must have assumed that his students had (as he would have said) better eyes than most. Avoiding nested queries, as he would have done, this is the required definition:
SELECT SFROM.PERSON, SFROM.TASK, SFROM.SLOTTIME, STO.SLOTTIME
  FROM SLOT SPREC, SLOT SFROM, SLOT STO, SLOT S
 WHERE (SPREC.PERSON = SFROM.PERSON
    AND SFROM.PERSON = STO.PERSON
    AND STO.PERSON = S.PERSON)
   AND (SPREC.SLOTTIME + int = SFROM.SLOTTIME
    AND SPREC.TASK ¬= SFROM.TASK)
   AND (SFROM.SLOTTIME < S.SLOTTIME
    AND S.SLOTTIME <= STO.SLOTTIME)
   AND SFROM.TASK ¬= STO.TASK
   AND SFROM.TASK ¬= S.TASK
 GROUP BY SFROM.PERSON, SFROM.TASK, SFROM.SLOTTIME, STO.SLOTTIME
HAVING 1 = COUNT (*)
I.e. we join four copies of SLOT: SPREC (which is immediately to precede SFROM), SFROM (having the desired FROMTIME), STO (having the desired TOTIME), and S. The WHERE condition then ensures that:
They all pertain to the same person.
 
SFROM.SLOTTIME is a FROMTIME (it immediately follows a slot pertaining to a different task; “int” is the slot length).
 
The FROMTIME to the TOTIME is a possible period, and the S.SLOTTIMEs fall in or immediately after that period.
 
The TOTIME is not in that period (but could be immediately after it), because it pertains to a different task.
 
Each S.SLOTTIME also pertains to a different task.
Now, if the FROMTIME to the TOTIME is indeed a desired period then its record will have been selected, along with the preceding slot in SPREC and its following slot, viz STO, in S. So we have to consider which of the selected records are desired periods. Consider the GROUPing, which gives one group for each possible period. Obviously there is only one SPREC, SFROM, and STO in each group. Think of the S records that might be in the group. The earliest S is the first slot after the SFROM slot that pertains to a different task (of course, for the same person). And, only if that is the sole S in the group do we retain the group (that is what the HAVING does). But one S in the group is the STO slot; so we retain the group only if the STO slot is the only S slot in it. So the STO is the earliest slot following the SFROM and pertaining to a different task for the same person; so its SLOTTIME is the TOTIME of the period starting at FROMTIME.

This is, it will be observed, merely a formalisation in SQL of Platoclast’s own definition, given in the next paragraph. The complexity arises principally from:

The translation of “for each slot ---” to “NOT for some slot NOT ---” and then to “HAVING 0 = COUNT (slot such that NOT ---)”
 
The removal of the condition from the COUNT to the restriction, i.e. to “WHERE ...NOT HAVING 0 = COUNT (*)”.
 
The adjustment to avoid the “0 = COUNT (*)” in SQL, by precisely relaxing the WHERE condition (from “<” to “<=”) and accordingly converting to “1 = COUNT (*)”.
Compare the examples in Lecture XX.

3

Deliberately provocative singular “themself” (sic).

 

Notes and
References

 

 

(There are no notes on Lecture XXIII)

Lecture XXIV

 

1

Platoclast’s implication is: rework the entire course of lectures.

2 (duplicate rows)

CJ Date: Relational Database, Writings 1985-1989, Chapter 4

 

Notes and
References

 

 

Lecture XXV

 

1

I.e. the nesting might be of infinite depth. The reference is to a rather unpleasant traditional rhyme: “Greater fleas have lesser fleas, Upon their backs to bite ’em, And lesser fleas have smaller fleas, And so ad infinitum.

2

See Lecture XXII.

 

Notes and
References

 

 

Lecture XXV

 

1

I.e. the nesting might be of infinite depth. The reference is to a rather unpleasant traditional rhyme: “Greater fleas have lesser fleas, Upon their backs to bite ’em, And lesser fleas have smaller fleas, And so ad infinitum.

2

See Lecture XXII.

 

Notes and
References

 

 

Lecture XXVI

 

1

Holy Bible, Book of Ecclesiastes

2

The structure envisaged by Platoclast comprises the following record types:
LOCATION, with key LOCN_ID
 
LOCATION_CONTAINMENT with key CONTAINING_LOCN_ID and CONTAINED_LOCN_ID, meaning that CONTAINING_LOCATION immediately contains CONTAINED_LOCATION
 
LOCATION_REF, with key REFERENCE_TYPE and REFERENCE, and having a LOCN_ID column: it means that REFERENCE (e.g. “Norwich”), which is of type REFERENCE_TYPE (e.g. Town or Diocese), names the identified LOCATION.
There might be unreferenced LOCATIONs, i.e. those whose identifiers were not found in any LOCATION_REF record (because they were merely intersections of other LOCATIONs).

3

Contrast Platoclast’s approach to these “extensions” to the DML in Lectures XVI and XVIII.

4

CJ Date: Writings 1985-1989, Chapter 16

 

Notes and
References

 

 

(There are no notes on Lecture XXVII)

An Informal Symposium

 

1

WVO Quine: Set Theory and its Logic, Chapter 4

 

Notes and
References

 

 

Lecture XXIX

 

1

CJ Date: Writings 1985-1989, Chapter 1

 

Notes and
References

 

 

Lecture XXX

 

1

EF Codd: The Relational Model

2

The record is incomplete at this point.

 

SITE HOME PAGE

 

THE DATABASE PAGE

THE DATABASE PAPERS

Platoclast on Data: Contents

 

Copyright © 1993, 2001 Adrian Larner. The author asserts all moral rights.