I am trying to learn about databases and at the moment starting to read general stuff about multidimensional database design. The trouble is, I don't even know the basics about databases, like what is natural key (same as primary key made of single components?) or surrogate key... Could anyone explain the following paragraph (we are talking about star schema here):
- "Another important feature is that all natural keys are replaced with surrogate keys: this means that every join between the fact & dimension tables is based on surrogate keys, not each surrogate key should have a generalised structure. i.e. based on simple integers. The use of surrogate keys allows the data in the warehouse to have some independence from the data used and produced by OLTP systems. For example, each branch has a natural key, namely the branchID and surrogate key branchID."
I cannot see any difference between this surrogate key and foreign key in fact table....
and I had the impression that the data produced in any data model should be wholly independent from the programing, OLTP etc? So the line about surrogate keys not always based on simple entegers must give a clue?