There is no "better" between those two designs. They are just different. So it depends on what you want to store in your database. If every field you store belongs to just one object, then the first design is the better choice, but if you want to have fields and objects stored and each one can relate to another, the second design is better. Let me give you ...


You try to insert Albums.ArtistId value (7) which is absent in Artisis.ArtistId values list now. So insertion fails. You cannot insert album of <unknown>, FK claims this is impossible, and server prevents this. Insert artist with ArtistId=7 first, then insert his albums.

Only top voted, non community-wiki answers of a minimum length are eligible