• I think your concern #2 is something you shouldn't let happen.

    Concern #1 can perhaps be answered by saying don't put the name in the people table. Instead of people and aka tables, have a people table and a names table. The people table can have date of birth, date of death, and - if you really want it - a reference to a record in the names table (to indicate the "real" name). The names table has to have a name and a reference to the people table. Presumably you will use auto-generated surrogate keys in both these tables. Each table will probably have additional fields I haven't mentioned. Fo exarmple you will perhaps want to indicate whether a person was an actor, a director, a producer, a cameraman,....or some combination of these functions and perhaps hold that information in the people table (which introduces a problem: which names did he use in which functions) or distributed over the names table or not hol;d it anywhere (better design - you can pick the info up by looking at references from a function table to the names table if primary key of the function table combine film identity and function identity).

    But trying a few different schemas and trying to normalise them to EKNF (that's more normalised than 3NF but less normalised than BCNF) and also to elimnate nullable columns where reasonable will probably get you more progress than a boring grey-haired old fart like me telling you how to do it, so I suggest you play around with some ideas and see what comes out when you normalise (provided you can see what the normal forms mean in a context where some columns are nullable - if you don't you had better make sure you eliminate all nullable columns before deciding how to normalise, and prepare to write some pretty wide joins). If you are lucky what that will give you is actually a schema which represents all functiponal dependencies (because it's EKNF) but is also in BCNF (since in almost all schemas all the keys are elementary keys), which would mean that it was safe to go on to 4NF if there are any multifunctional dependencies you could eliminate. That, I think, is where you should want to be.

    Tom