Маркировка имен хранимых процедур - PullRequest
0 голосов
/ 26 января 2009

Вы когда-нибудь задумывались над тем, как выглядит схема базы данных Википедии? Я недавно прочитал эту ветку от reddit .

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

Одна вещь, которую я не замечаю, это то, как они называют свои хранимые процедуры. Они вообще используют SP?

Я использую MS SQL Server. Префикс всех хранимых процедур с помощью USP_ или SP_ кажется излишним и антипригодным, поскольку проводник объектов уже разобрался со мной. Как вы называете свои СП?

Ответы [ 4 ]

3 голосов
/ 26 января 2009

Мне нравится, как их таблицы помечаются префиксом, чтобы вы могли сразу сказать, какова его функциональность, назначение и связь с другими таблицами

Вот почему у вас есть схемы в SQL Server, вы создаете схему для группировки нескольких объектов, а затем вы можете предоставить сотруднику отдела кадров только доступ к схеме HR

Префикс всех хранимых процедур с помощью USP_ или SP_ кажется излишним и антипригодным, так как проводник объектов уже разобрался со мной. Как вы называете своих ИП?

SP_ никогда не следует использовать, потому что вы получите снижение производительности, всякий раз, когда SQL-сервер «видит» процесс, начинающийся с sp_, он сначала проверяет основную базу данных, в худшем случае, если MS решит отправить процесс с нормальным именем в качестве вашего и начинается с sp_, ваш никогда не будет выполнен

Кстати, не все используют проводник проекта, некоторым нравится делать это в T-SQL

0 голосов
/ 03 ноября 2009

Я начал именовать все объекты SQL с префиксом тип . Например ...

<b>Photo Gallery Database Objects</b> (abbreviated list)
Old Name          | New Name
-------------------------------------------------
tblCategories     | tblPGCategories
tblItems          | tblPGItems
spGetCategories   | spPGGetCategories
spUpdateCategory  | spPGUpdateCategory
spGetItems        | spPGGetItems
spUpdateItem      | spPGUpdateItems
<b>Event Calendar Database Objects</b> (abbreviated list)
Old Name          | New Name
-------------------------------------------------
tblCategories     | tblECCategories
tblItems          | tblECItems
spGetCategories   | spECGetCategories
spUpdateCategory  | spECUpdateCategory
spGetItems        | spECGetItems
spUpdateItem      | spECUpdateItems

Мы разработали множество веб-сайтов, и, когда клиенту нужна часть функциональности, мы думали, что сможем продать другим, мы создали его как виджет . Затем мы продадим эти виджеты другим клиентам.

Это работало отлично, пока мы не начали добавлять виджеты, которые мы разработали с других сайтов. Мы получили дубликаты имен для некоторых из нашего кода. Таким образом, по необходимости мы реализуем тип виджета соглашение об именах. Это позволило очень легко интегрировать все созданные нами виджеты.

0 голосов
/ 02 ноября 2009

Я считаю полезным назвать обработанный процесс как TableName_Action

пример RefClient_Insert, RefClient_Search, RefEmployee_Delete

Таким образом, поскольку таблицы сгруппированы (в данном случае Ref = Reference), SP также сгруппированы.

Обратите внимание, что я использовал _ просто для ясности, вы можете пропустить его, если хотите.

0 голосов
/ 26 января 2009

Я лично префикс своих хранимых процедур с уникальным именем описывает, что он делает. Например.

SelectUserAccountById

или

InsertUserAccount

Обычно в имени таблицы указывается имя, в приведенном выше примере таблица будет UserAccount.

Я не ставлю свои хранимые процедуры с префиксом SP или чем-то подобным, ЕСЛИ Я не строю расширение, которое входит в структуру, такую ​​как DotNetNuke, тогда я использую префикс для названия моей компании.

...