Подтвердить что ты не робот

Что такое префикс таблицы?

Что такое префикс таблицы и каковы его преимущества и недостатки? Это связано с MySQL.

4b9b3361

Ответ 1

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

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

Используя разные префиксы таблиц, вы можете позволить Joomla Installation # 1 знать, что предполагается использовать всю таблицу с префиксом JOS_, а Joomla Installation # 2 должна использовать все таблицы с префиксом JOS2 _

Ответ 2

Некоторые люди выступают за tbl или tbl_ (например, tbl_MyTable или tblMyTable), в то время как другие идут с суффиксом, например MyTable_T.

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

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

Ответ 3

Таблицы не требуют префиксов.

Это зависит только от вас.

Однако мы префиксные таблицы относятся к MODULES в приложении, к которому они принадлежат, просто для более удобного группирования таблиц.

Ответ 4

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

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

Ответ 5

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

например. t_user или t_order теперь возможны.

Ответ 6

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

Вы часто видите префиксы таблиц в ситуациях, где:

  • Несколько сценариев объединяются вместе на один веб-сайт, а готовый веб-сайт должен обмениваться данными, но имена таблиц конфликтуют без префикса, уникального для каждого script.

  • Вы добавляете функциональность к script, которую вы приобрели, и хотите различать таблицы, родные этим script, и новые таблицы, которые вы вручную создаете. Таким образом, если вы создадите новую таблицу, она не будет конфликтовать с будущими обновлениями базы script, так как она имеет другой префикс таблицы.

  • У вас есть план хостинга, который предоставляет только одну базу данных и вы хотите использовать эту базу данных для обслуживания нескольких сценариев. (Это не рекомендуется по разным причинам, но я видел, как пользователи это делают.)

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

Ответ 7

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

Недостатком является то, что вы можете быть ограничены по отношению к названию таблицы. Для этого Oracle имеет ограничение до 30 символов. Если вы используете "Tbl_" в качестве префикса, вы автоматически теряете 4 символа. Это может быть проблемой.