Лучший способ назвать таблицы

Лучше использовать подчеркивание при именовании таблиц, или лучше использовать Camel-регистр?

Пример table_name или tableName какой лучше? Существует ли причина использовать также, что это?

13
задан Brian Tompsett - 汤莱恩 4 June 2017 в 11:22
поделиться

7 ответов

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

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

Я также поддержу Роба Бука по самому важному пункту - последовательности. И, раз уж мы заговорили об этом, могу ли я сделать косвенный комментарий насчет единообразия имен полей? Сейчас я работаю с системой, в которой я обнаружил, что поле «prodid» в одной таблице на самом деле имеет то же содержимое, что и «style» в другой, а другая система имеет «deliverydate» в одной таблице и «datedelivered» в Другая.

12
ответ дан 1 December 2019 в 22:38
поделиться

Я полагаю, что многие РСУБД игнорируют регистр, поэтому использование схем именования в верблюжьем регистре может просто не сработать.

Главное, чтобы имена столбцов и таблиц были описательными, независимо от того, какой синтаксис вы выберете. Если они описывают данные, никого не будет волновать, используете ли вы верблюжий регистр, подчеркивание и т. д.

2
ответ дан 1 December 2019 в 22:38
поделиться

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

Например, если вы инкапсулируете данные * в класс с именем UserInfo, таблица также должна называться UserInfo.

* Вы инкапсулируете данные, верно?

1
ответ дан 1 December 2019 в 22:38
поделиться

Я предпочитаю использовать описательные имена и использовать регистр Паскаля (TableName).

Избегайте сокращений, и если вам все же нужно использовать сокращение, относитесь к нему как к слову (используйте DaylightSavingsTimeInfo или DstInfo вместо DSTInfo).

В названии не может быть единственного правильного ответа, поэтому лучше всего выбрать что-то и оставаться последовательным. Худшее - это смешать множество стандартов.

1
ответ дан 1 December 2019 в 22:38
поделиться

Все, что я прочитал, указывает на то, что лучшим соглашением является использование строчных букв как для имен баз данных, так и для имен таблиц. Если вам нужно объединить несколько слов, разделите их подчеркиванием - избегайте дефисов в именах таблиц, иначе вам придется ставить галочки во всех именах таблиц и имен баз данных каждый раз, когда вы на них ссылаетесь.

Кроме того, следующий параметр конфигурации, вероятно, имеет отношение к тому, что вы спрашиваете:

mysql> show global variables like 'lower%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |
+------------------------+-------+
2 rows in set (0.00 sec)

Что касается имен полей, я обычно использую верблюжий регистр.

3
ответ дан 1 December 2019 в 22:38
поделиться

Вместо того, чтобы дать вам краткую обратную связь по нескольким причинам для этого, я предоставлю ссылку на рекомендации Пинала Дейва по кодированию SQL. Они были хорошо продуманы, объяснены и, кажется, следуют моим собственным предпочтениям в отношении того, как следует называть и использовать вещи и т. Д.

Наслаждайтесь!

1
ответ дан 1 December 2019 в 22:38
поделиться

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

Делайте то, что вам удобно и что лучше всего вытекает из вашей клавиатуры.

По моему опыту, я некоторое время назад перешел на ROR из .net и был пойман на том, как я всегда видел, как люди делают эти вещи, и подчеркивал свои таблицы, но через некоторое время я пренебрегал этой опцией из-за моего старого доброго удобства именования SQL .

то же для столбцов.

Удачи

1
ответ дан 1 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: