-
Notifications
You must be signed in to change notification settings - Fork 26
Database standards
На данной странице описаны правила именования таблиц, колонок, индексов и внешних ключей.
Используйте 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
-
для хранения даты создания следует создать поле
created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
-
для хранения даты последней правки следует создать поле
updated timestamp NULL DEFAULT NULL
- при именовании связей следует использовать underscore нотацию
- обязательный постфикс
_fk
- первая часть имени должна содержать описание текущей таблицы
- вторая часть - описание связанной таблицы
- далее - имена полей в индексе
Примеры:
auth_users_id_fk
users_actions_users_id_fk
- при именовании индексов следует использовать underscore нотацию
- для уникальных индексов следует использовать постфикс
_uindex
Database standards
Requirements
Server
Notes
— HTML and CSS
— JavaScript
— Database
Modules
— ACL
— API
— Cache
— Categories
— Comments
— Media
— Options
— Pages
— System
— Tests
— Twitter
— Users