Udai Karan Mathur Ответов: 2

Соглашение об именовании баз данных Sql server


Здравствуйте, В настоящее время я работаю в проекте, который использует sql server в качестве бэкэнда.

Я также работал с различными базами данных, такими как Oracle, Mysql и Postgres.

Я создал базу данных в Sql Server и создал таблицу и ее столбцы с подчеркиванием и всеми строчными буквами.

plan_master (таблица)
(
plan_master_id (ПК)
plan_name
)

план_ подробно (таблица)
(
plan_detail_id (ПК)
plan_master_id (ФК)
фактическая дата
)

С тех пор эту практику я видел также в Mysql, Postgres и Oracle.

Теперь наш клиент пришел в картину и сказал, что это неправильная практика. Правильный способ условного обозначения таблиц и столбцов - это использование падежа pascal без подчеркивания.

Например.

PlanMaster (табл.)
(
PlanMasterId (ПК)
Planname на
)

Планетайл (таблица)
(
PlanDetailId (ПК)
PlanMasterId (ФК)
EffectiveDate
)

Пожалуйста, посоветуйте, какая практика правильна и почему.

Если наша практика неверна для sql server, то мне придется переименовать почти 80 таблиц и их столбцов, а это огромное влияние на уже разработанный код c#.

Что я уже пробовал:

Я создал функцию в базе данных, которая будет возвращать имя случая pascal.

2 Ответов

Рейтинг:
2

Wendelius

Я согласен с MadMyche, это в основном предпочтение, так что если в контракте не указано, какой стандарт использовать, или пусть клиент укажет его, то и то, и другое правильно. Лично я использую корпус Pascal вообще без подчеркиваний, но, как уже было сказано, это мое предпочтение.

Ведь главное-это четкость и читабельность. Они частично достигаются с помощью именования, но более важную роль играет документация. Если документация сделана хорошо как для сервера, так и для клиента, детали используемого именования, такие как регистр Паскаля или подчеркивания, становятся почти бессмысленными. Конечно, название должно быть описательным, но в обоих ваших примерах я считаю, что это так.

Одна вещь, которую все еще следует принимать во внимание, - это чувствительность к регистру. Если база данных нечувствительна к регистру, вы все равно можете выполнять запросы, используя символы верхнего или нижнего регистра в именах объектов.


MadMyche

Спасибо за ваше согласие

Patrice T

Согласен +5

Рейтинг:
16

MadMyche

Ни то, ни другое не является неправильным; все это вопрос предпочтения и мнения. Лично я предпочитаю их соглашение об именовании и сохраняю подчеркнутые имена для мостовых/матричных таблиц и для хранимых процедур.

Что касается клиента, то все сводится к тому, что было указано в контракте, и если они должны были одобрить соглашение об именовании, то вы должны соответствовать этой спецификации. Если это не упоминается, то вам нужно сообщить им об этом и о том, что будет задержка для переделки, которая необходима


Patrice T

Согласен +5