Вопрос

Я заметил, что многие компании используют префикс для своих таблиц базы данных. Например. таблицы будут называться MS_Order, MS_User и т. д. Есть ли веская причина для этого?

Единственная причина, по которой я могу придумать, - это избежать конфликта имен. Но так ли это на самом деле? Люди запускают несколько приложений в одной базе данных? Есть ли другая причина?

Это было полезно?

Решение

В SQL Server 2005 и более поздних версиях функция схемы исключает необходимость использования префиксов любого типа. Хороший пример их использования можно найти, прочитав о схемах в AdventureWorks .

В некоторых более старых версиях SQL-сервера наличие префикса для создания псевдо-пространства имен может быть полезно для БД с большим количеством таблиц.

Кроме этого, я не вижу смысла.

Другие советы

Огромные схемы часто имеют много таблиц с похожими, но разными целями. Таким образом, различные «сегментированные» соглашения об именах.

Черт, не получил первое сообщение: -)

Даже если база данных содержит только одно приложение, префиксы могут быть полезны для группировки похожих частей приложения. Таким образом, таблицы, содержащие информацию о клиентах, могут иметь префикс cust_, таблицы, содержащие информацию о хранилище, могут начинаться с inv_ (для инвентаря), таблицы, содержащие финансовую информацию, могут иметь префикс fin_ и т. Д.

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

Немного касательно исходного вопроса, я видел, что базы данных используют префиксы для указания типа данных, которые содержит таблица. Там будет префикс для таблиц поиска, которые, очевидно, довольно статичны как по размеру, так и по содержанию, и другой префикс для таблиц, которые содержат переменные данные. Это, в свою очередь, может быть разбито на наличие одного префикса для таблиц, которые добавляются, но на самом деле не меняются, таких как ведение журнала, обработанные заказы, транзакции клиентов и т. Д., И другой для более переменных данных, таких как баланс клиента или что-то еще. Таблицы ссылок также могут иметь собственный префикс, чтобы разделять их.

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

Хотя теперь, когда я об этом думаю, есть несколько дешевых провайдеров веб-хостинга, которые позволяют пользователям создавать очень небольшое количество баз данных, поэтому было бы возможно запустить несколько различных приложений, используя одну базу данных, поэтому до тех пор, пока имена не сталкиваются (и такое соглашение о префиксе, безусловно, поможет).

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

Префиксы - это хороший способ выяснить, какие объекты sql связаны с каким приложением, когда несколько приложений попадают в одну базу данных.

Я также по-разному добавлял префикс SQL-объектов в одном и том же приложении, чтобы упростить управление безопасностью. то есть все объекты с admin_ нуждаются в этой защите, а остальным нужно что-то еще.

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

Чаще всего он используется, если несколько приложений используют одну базу данных. Например, если вы устанавливаете Wordpress, он ставит перед всеми таблицами префикс " wp_ " ;. Это хорошо, если вы хотите, чтобы ваши приложения обменивались данными очень легко (например, сеансы для всех приложений в вашей компании).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top