HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

What normal form does a surrogate key violate?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
whatviolatenormaldoessurrogateformkey

Problem

I have following question:

"What normal form does a surrogate key violate?"

My thought was the 3rd normal form, but I'm not quite sure it's just an assumption i am making. Could someone explain that to me?

Solution

Arguably, it doesn't.

Adding a surrogate key is an implementation decision (to respect how the RDBMS works) taken at implementation time. During modelling and normalisation, you should end up with BCNF (slightly stricter and more correct 3NF) without surrogate keys

That is, introducing surrogate keys at the start of the design process is wrong. Even though we all do it...

Context

StackExchange Database Administrators Q#16554, answer score: 12

Revisions (0)

No revisions yet.