Существует ли соглашение об именовании для MySQL?



вот как я делаю это:




  1. имена таблиц строчные, используют подчеркивания для разделения слов и являются единственными (например, "foo", "foo_bar" и т. д.

  2. у меня вообще (не всегда) есть автоматическое приращение PK. Я использую следующее соглашение: tablename_id (например, 'foo_id', 'foo_bar_id' и т. д.).

  3. когда таблица содержит столбец, который является внешним ключом, я просто копирую имя столбца этого ключа из любой таблицы, из которой он пришел. Например, скажем, таблица 'foo_bar' имеет FK ' foo_id '(где 'foo_id' - это ПК 'foo').

  4. при определении FKs для обеспечения ссылочной целостности я использую следующее: tablename_fk_columnname (например, в Примере 3 это будет 'foo_bar_foo_id'). Поскольку это комбинация имени таблицы и имени столбца, она гарантированно будет уникальной в базе данных.

  5. я упорядочиваю столбцы следующим образом: PKs, FKs, затем остальные столбцы в алфавитном порядке


есть ли лучший, более стандартный способ сделать это?

713   4  

4 ответов:

Я бы сказал, что в первую очередь: будьте последовательны.

Я думаю, что вы почти там с конвенциями, которые вы изложили в своем вопросе. Несколько комментариев, хотя:

пункты 1 и 2 хороши, я считаю.

Точка 3 - к сожалению, это не всегда возможно. Подумайте о том, как бы вы справились с одной таблицей foo_bar столбцы foo_id и another_foo_id обе ссылки foo таблица Именования Условности

возможно, вы захотите ввести соглашение об именах для индексов-это будет отличным подспорьем для любой работы с метаданными базы данных, которую вы, возможно, захотите выполнить. Например, вы можете просто вызвать индекс foo_bar_idx1 или foo_idx1 - полностью зависит от вас, но стоит задуматься.

имена столбцов в единственном и множественном числе

это может быть хорошей идеей, чтобы решить сложную проблему множественного числа против одного в именах столбцов, а также ваш имя(ы) таблицы. Этот предмет часто вызывает большой дискуссии в сообществе БД. Я бы придерживался особых форм как для имен таблиц, так и для столбцов. Там. Я уже говорил.

главное здесь конечно последовательность!

согласованность является ключом к любому стандарту именования. Пока это логично и последовательно, вы на 99% там.

сам стандарт является очень личным предпочтением - так что если вам нравится ваш стандарт, а затем работать с ним.

чтобы ответить на ваш вопрос прямо - нет, MySQL не имеет предпочтительного соглашения/стандарта именования, поэтому прокатка вашего собственного прекрасна (и ваш кажется логичным).

MySQL имеет краткое описание их более или менее строгих правил:

https://dev.mysql.com/doc/internals/en/coding-style.html

наиболее распространенный codingstyle for MySQL от Simon Holywell:

http://www.sqlstyle.руководство/

см. Также этот вопрос: существуют ли какие-либо опубликованные рекомендации по стилю кодирования для SQL?

к счастью, разработчики PHP не являются "фанатиками верблюда", как некоторые сообщества разработчиков, которых я знаю.

ваши условности, все нормально.

просто пока они а) просты, и Б) последовательны - я не вижу никаких проблем:)

PS: Лично я думаю, что 5) это перебор...

Comments

    Ничего не найдено.