Соглашения об именах таблиц базы данных для модульного приложения - PullRequest
1 голос
/ 15 февраля 2012

Я структурирую модульное php-приложение, используя MySQL в качестве базы данных.

Я бы предпочел использовать redbean в качестве библиотеки ORM.

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

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

Я рассматриваю следующую схему:

  • Основные компоненты

    • счет
    • EMAILADDRESS
    • и т.д.
  • Модули

    • ecommerce_product
    • ecommerce_order
    • account_ecommerce_order (таблица ссылок с основной таблицей)
    • ecommerce_order_ecommerce_product (таблица ссылок между таблицами модулей)

Должен ли я ставить перед таблицами "core" префикс "core _"?

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

Таблицы ссылок меня беспокоят, так как они могут быть чрезмерно длинными. Есть ли способы сделать это лучше?

1 Ответ

0 голосов
/ 18 февраля 2012

Я решил использовать приведенные выше имена таблиц и перешел на RedBean 3.

Подумав об этом, я почувствовал, что префиксы для основных компонентов не совсем полезны. Это также больше, чтобы набрать $account = R::dispense('core_account') по сравнению с $account = R::dispense('account').

Префикс core_ не добавляет синтетического значения и не улучшает читаемость.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...