Skip to content
Anton edited this page Dec 27, 2013 · 4 revisions

Описание

На данной странице описаны правила именования таблиц, колонок, индексов и внешних ключей.

Настройки

Используйте InnoDB как стандартный Storage Engine для MySQL.

Использование

Именование таблиц

  • при именовании таблиц следует использовать underscore нотацию
  • название таблиц обязательно должно быть в нижнем регистре
  • существительные следует использовать во множественном числе: users, pages, и т.д.
  • для обозначения связанной таблицы один-ко-многим следует использовать имя основной таблицы как первую часть, и имя связи как вторую часть: users -> users_actions
  • для обозначения таблиц для связи многое-ко-многим следует использовать имена связываемых таблиц без изменений: users -> users_roles <- roles
  • допускает использование префиксов для набора таблиц под определенный функционал: acl_roles, acl_privileges, и т.д.

Примеры:

acl_roles
acl_privileges
pages
users

Именование полей

  • при именование полей следует использовать CamelCase нотацию для того, чтобы у нас не было конфликтов со стандартами кодирования в PHP
  • для обозначения связанных полей следует использовать единственное число: pages.userId -> users.id

Именование внешних связей

  • при именовании связей следует использовать underscore нотацию
  • обязательный префикс FK_
  • первая часть имени должна содержать описание текущей таблицы
  • вторая часть - описание связанной таблицы
  • между частями следует использовать предлог _to_

Примеры:

FK_pages_to_users
FK_auth_to_users

Именование индексов

  • при именовании индексов следует использовать underscore нотацию
  • для уникальных индексов следует использовать префикс UNIQUE_
  • для индексов которые введены для обеспечения работы внешних ключей следует использовать префикс FK_, имя индекса не обязательно должно совпадать с именем внешнего ключа
  • имя индекса должно однозначно говорить о назначении

Database standards
Requirements
Server
Notes
HTML and CSS
JavaScript
Database
Modules
ACL
API
Cache
Categories
Comments
Media
Options
Pages
System
Tests
Twitter
Users

Clone this wiki locally