What’s a spurious tuple?

What the heck is a spurious tuple, anyway? A “tuple” is a record in a database: a row in a spreadsheet. It’s supposed to reflect a thing (a customer, book, location) or a relationship (a book’s author, a customer’s order, a location’s employees).

A spurious tuple is, basically, a record in a database that gets created when two tables are joined badly. In database-ese, spurious tuples are created when two tables are joined on attributes that are neither primary keys nor foreign keys. For further explanation (including even more database-ese than that), see:

Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 3rd ed. (Reading, MA: Addison-Wesley, 2000), p. 473-475 (section 14.1.4).

I learned about both spurious tuples (in Databases I) and fugitive documents (in Government Documents) during the same semester in library school. Many of us thought that both terms would be great names for rock bands.

Or web sites.