It's commonly understood that in the relational model:
- Every relational operation should yield a relation.
- Relations, being sets, cannot contain duplicate rows.
Imagine a 'USERS' relation that contains the following data.
ID FIRST_NAME LAST_NAME
1 Mark Stone
2 Jane Stone
3 Michael Stone
If someone runs a query select LAST_NAME from USERS
, a typical database will return:
LAST_NAME
Stone
Stone
Stone
Since this is not a relation - because it contains duplicate rows - what should an ideal RDBMS return?