How do you handle descriptive database table names and their effect on foreign key names?

Posted by Carvell Fenton on Stack Overflow See other posts from Stack Overflow or by Carvell Fenton
Published on 2010-03-30T12:17:55Z Indexed on 2010/03/30 12:23 UTC
Read the original article Hit count: 368

Filed under:
|
|
|

Hello,

I am working on a database schema, and am trying to make some decisions about table names. I like at least somewhat descriptive names, but then when I use suggested foreign key naming conventions, the result seems to get ridiculous. Consider this example:

Suppose I have table

session_subject_mark_item_info

And it has a foreign key that references

sessionSubjectID

in the

session_subjects 

table.

Now when I create the foreign key name based on fk_[referencing_table]__[referenced_table]_[field_name] I end up with this maddness:

fk_session_subject_mark_item_info__session_subjects_sessionSubjectID

Would this type of a foreign key name cause me problems down the road, or is it quite common to see this?

Also, how do the more experienced database designers out there handle the conflict between descriptive naming for readability vs. the long names that result?

I am using MySQL and MySQL Workbench if that makes any difference.

Thanks!

© Stack Overflow or respective owner

Related posts about database

Related posts about foreign-key