-
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