Варианты соглашений по именованию объектов в БД
Несколько разных схем именования объектов в БД. Для примера будет взята база гипотетического блога, хранящая информацию о следующих сущностях: записях (posts), категориях (category) и пользователях (users). Один пост может попадать в одну или несколько категория (связь many-to-many), у одного поста всегда один автор (связь one-to-many).
Во всех вариантах первичные ключи будут обозначены звёздочкой, вторичные — символом плюса.
«Многословный» вариант
Его можно использовать практически на любой БД, если не используется ORM. Для промежуточных таблиц можно сокращать имена по первым буквам, чтобы оставить имена полей в пределах разумного
Posts Categories PostCategories Users ------ ---------- -------------- ----- NPost(*) NCategory(*) NPC(*) NUser(*) PostTitle CategoryTitle PCNPost(+) UserLogin PostDate PCNCategory(+) UserPassword PostText UserName PostNUser(+)
LINQ-style
При использовании LINQ удобно использовать следующую схему, чтобы созданные в LINQ-дизайнере объекты имели названия свойств, соответствующие принятым в .NET Framework'е соглашениям.
Posts Categories PostCategories Users ----- ---------- -------------- ----- Id(*) Id(*) Id(*) Id(*) Title Title PostId(+) Login Date CategoryId(+) Password Text Name UserId(+)
*nix-style
Подобную схему именования удобно использовать для MySQL в сочетании с ORM или без него.
posts categories post_categories users ----- ---------- --------------- ----- id(*) id id(*) id(*) title title post_id(+) login date category_id(+) password text name user_id(+)
