-
Notifications
You must be signed in to change notification settings - Fork 26
Database standards
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