PSR-ы для MySQL

StalkerClasses

Новичок
В PHP есть стандарты кодирования (например PSR-1, PSR-2, PSR-4). Есть книги чистый код.
Есть ли какие-то стандарты при разработке БД?
 

AnrDaemon

Продвинутый новичок
PSR - это точно такие же статьи. Это не догма, не норматив - это мысли вслух определённого круга людей.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Гугли, возможно найдешь
 

miketomlin

Новичок
В таких рекомендациях по (му)скулу бредней достаточно. Как и в PSR :)

Например, «не называйте поля так же, как таблицу, чтобы не было конфузов». Хотя у нас проектировщики БД часто так называют поле первичного ключа с числовым id для USING-оптимизации и упрощения сборки сложных запросов с присоединениями таблиц (имя id в первую очередь используется для поля со слагами). Правда, во всех фреймворках обычно используется хотя бы минимальный табличный префикс «_», так что формально имена отличаются, например _user и user. Но в таких рекомендациях могут и табличный префикс не советовать использовать :) P.S. Я глянул первую статью на Медиуме с гугл-СЕРПа по ссылке выше.
 
Последнее редактирование:

miketomlin

Новичок
Avoid semantically — meaningful primary key names. A classic design mistake is creating a table with primary key that has actual meaning like ‘name’ as primary key. In this case if someone changes their name then the relationship with the other tables will be affected and the name can be repetitive losing its uniqueness.
Просто зашкварное обоснование того, что это «ошибка» («если кто-то изменит...»:)). Может, кто-то лучше сможет обосновать?
 

StalkerClasses

Новичок
Насколько понял нет стандартов в мускуле. Тот же Id поле можно назвать:

id
table_id
IdTable или TableId
 

Valick

Новичок
обычно используется нижнее подчёркивание, верблюжий в мускуле не комильфо
 

miketomlin

Новичок
Насчет больших букв я согласен с написанным в той статье – не надо. Я такое только у ПТУшников и прочей школоты видел, ну и в Access. Что же касается первичного/внешних ключей, к id и table_id еще можно добавить tab_id, table, tab, tid.
 

miketomlin

Новичок
У нас проектировщики для первичного ключа используют id или tab(le). Если есть слаги, то только tab(le), за исключением тех редких случаев, когда в первичном ключе используются слаги.

А еще встречал, когда таблица именуется во множ. числе, а поля ключей в ед., например _users и user. P.S. Но это редкость. Почему, писал выше: могут быть проблемы при сборке сложных запросов.
 
Последнее редактирование:

StalkerClasses

Новичок
У нас проектировщики для первичного ключа используют id или tab(le). Если есть слаги, то только tab(le), за исключением тех редких случаев, когда в первичном ключе используются слаги.

А еще встречал, когда таблица именуется во множ. числе, а поля ключей в ед., например _users и user. P.S. Но это редкость. Почему, писал выше: могут быть проблемы при сборке сложных запросов.
Думаю мне пока этого хватит:


Мне особенно понравилась идея как именуются as префиксы. Что это по первому символу таблицы.

Плохо что нет такого же универсального psr как в php.
 
Сверху