Exactly. Primary key is a subset of attributes - thus necessarily populated by values.
It's worth considering the correspondence between the concept of functional dependency in the relational model, and the concept of a pure function in functional programming. The issue under discussion, then, is whether referential transparency is afforded in the database.
While referential transparency in a database is achieved momentarily at the right isolation level, it is not achieved in the eternal sense of a pure function.
This is because the functional dependency in FP encodes an intensional definition, whereas the functional dependency captured in a relation is extensional, usually modelling the state of the knowledge of the relevant world, and therefore being subject to change.
It's worth considering the correspondence between the concept of functional dependency in the relational model, and the concept of a pure function in functional programming. The issue under discussion, then, is whether referential transparency is afforded in the database.
While referential transparency in a database is achieved momentarily at the right isolation level, it is not achieved in the eternal sense of a pure function.
This is because the functional dependency in FP encodes an intensional definition, whereas the functional dependency captured in a relation is extensional, usually modelling the state of the knowledge of the relevant world, and therefore being subject to change.