+1. And a good test of your underlying data model is whether you can
identify a natural primary key. If you can't, chances are your model is
immature/flawed and needs more analysis.
Unfortunately identifying a natural primary key doesn't guarantee that one's model is mature, unblemished, and complete - the model writer may just not know what they don't know. But they may know enough, or the application is constrained enough, for it to be useful anyway.
David J.