|
Заблокирован
|
|
Правила именования таблиц и столбцов БД01.09.2022, 13:00. Показов 7296. Ответов 55
Метки нет (Все метки)
Господа, товарищи, граждане, помогите!
В части правил именования таблиц и столбцов в интернете царит жуткий разнобой. Нет ли таких правил, которые стали хотя бы относительно устоявшимся стандартом для всех, или для вашей компании, или для вас лично? Будьте так добры, дайте ссылку на них. P.S. Не хочется без крайней нужды изобретать велосипед. Точнее - попытался изобрести и уже вижу, что колеса не вполне круглые
0
|
|
| 01.09.2022, 13:00 | |
|
Ответы с готовыми решениями:
55
Правила именования переменных Правила именования переменных |
|
Заблокирован
|
||||
| 04.09.2022, 14:32 [ТС] | ||||
|
Вот тут полный список зарезервированных слов по (стандарту).
NAME - обычный шрифт NAMES - жирным Добавлено через 3 минуты
0
|
||||
|
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
|
|||
| 04.09.2022, 14:53 | |||
|
1
|
|||
|
Заблокирован
|
|||
| 04.09.2022, 15:12 [ТС] | |||
|
Добавлено через 5 минут Gluck99, попробую придерживаться, для начала, ваших правил. Или около того (?). Если у Вас будет возможность, может быть дадите более детальный их вариант? Это было бы интересно всем - было бы меньше подобных тем и подобного битья об стену лбом. Добавлено через 7 минут
0
|
|||
|
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
|
|||
| 04.09.2022, 15:50 | |||
|
а) чисто технически неудобно набирать - надо жать SHIFT, скорость работы уменьшается; б) в случае смешанного применения нижнего подчёркивания надо помнить, где ты его ставишь (в каких случаях), а где нет. Это требует разработки дополнительных правил. В моей парадигме подчёркивание только для имён таблиц - там каждое слово отделяется подчёркиванием и сразу ясно, как это выглядит. Для имён полей - горбатая нотация, и тут подчёркиванию практически нет места. Хотя я использую его и тут (редко) в основном для создания соответствия нотации на клиенте и в БД, иногда такое бывает полезно. Например, у нас есть какие-то наборы атрибутов на клиенте вида GHP_NAME_SCREEN_TOOL (выдумал только что), соответственно, поле имеет смысл назвать таким же образом. Обычно такое бывает в части обработки и хранения технических данных. Что касается бизнес-логики и прочего - там подчёркивание ни к чему; в) теряется эстетика, а она является обратной стороной читабельности.
1
|
|||
|
Заблокирован
|
||
| 04.09.2022, 16:21 [ТС] | ||
|
Понятно, спасибо!
Добавлено через 16 минут Забавно! Джо Селко не уступает в харизматичности формулировок самому Дейту:
0
|
||
|
Модератор
|
|||||||
| 04.09.2022, 20:53 | |||||||
|
переключение регистра ничуть не быстрее ввода символа пдчеркивания
1
|
|||||||
|
Заблокирован
|
||
| 04.09.2022, 21:48 [ТС] | ||
|
Добавлено через 1 минуту но логику использовать горбатую нотацию можно понять - так рекомендуют в c#, например, и для полного соответствия полей таблицы и переменных в c# это как бы логично. Но не догма!
0
|
||
|
Заблокирован
|
|
| 05.09.2022, 11:27 [ТС] | |
|
Попался очередной опус на тему правил наименования.
Опять что-то своё. Опять абсолютно противоречит во многом другим опусам. До смешного. Вывод - делать так, как это удобно тебе лично. Понять бы только ещё как мне удобно ![]() Как правило, понимаешь это слишком поздно) Когда удобно, это как правило не замечаешь, а вот когда неудобно - оно сразу вылазит) Мда. Беда ![]() С такого рода бедами постоянно сталкиваешься "в программировании". Это из-за того, что практика бежит впереди теории и либо теория не поспевает, либо теория не поспевает никогда - практическая область успевает настолько быстро преобразовываться. что теория постоянно где-то сзади, как кандалы непонятного предназначения. Мне кажется, что в СУБД это особенно очевидно.
0
|
|
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
|
| 05.09.2022, 11:47 | |
|
слишком длинные наименования загромождают как код программы, так и текст запроса. и, соответственно , усложняют жизнь при отладке. выбирая между ПроцентНалогаНаДобавдленнуюСтоимость и НДС я бы 100% выберу второе ) слишком короткие и не информативные наименование еще хуже. из этого и исходи
зы как-то работал со старым dbf-ником с наименованиями полей f1, f2,f3 и т.д. мрак ))
1
|
|
|
Заблокирован
|
||||
| 05.09.2022, 12:47 [ТС] | ||||
|
Добавлено через 27 минут Не проще ли было сделать информативный псевдоним для таблицы cities? Например city. И тогда было бы city.Name - всё понятно, название города (то, что Name это зарезервированное слово забудем на минутку, странно, что такое слово исключили из употребления). Хотя тут псевдоним не сильно короче - ведь city не сильно короче cities - но это в данном примере так, а если название таблицы громодкое, то псевдоним из одного слова может быть уместен. Но и тут всё-таки короче и меньше шансов сделать орф ошибку))) Псевдоним делается для сокращения записи. А тут в вашем примере получается, что название таблицы сокращается, а название столбца увеличивается. В итоге (конкретно в вашем примере) никакого сокращения. Я уж не говорю о том, что если небольшой запрос, то и псевдоним "с" не даст забыть, что это город. В общем, мне пока не очевидно, что нужно почти ко всем названиям столбцов лепить название сущности (согласно имени таблицы). Добавлено через 4 минуты Дело в том, что я начал уже было этот процесс переименования. И теперь вид структуры таблиц стал меня ужасать - пестрит везде эта сущность))) Не менее ужасает, что Name нельзя использовать для имени столбца. Добавлено через 23 минуты До кучи - о читаемости текста в верблюжьей нотации и с нижним подчеркиванием (но число испытуемых в исследовании не велико)
0
|
||||
|
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
|
||
| 05.09.2022, 13:01 | ||
|
Сокращать cities до city никакого смысла нет от слова совсем. Тот же Джо Селко делает псевдоним из одной буквы и цифры. К цифре у меня вопрос, кстати. У него в примерах кода псевдоним таблицы имеет наименование с1 и т.п., и по идее, где-то должен быть и с2, и, возможно, с3. Но их нет и быть не может. Я против цифр в псевдонимах, они только создают лишнюю неопределенность. Как исключение - да. А так псевдоним должен быть не длиннее трёх символов: x, xy, xyz. Для основных таблиц запроса один знак, для подзапросов и джойнов - 2 или 3 знака.
1
|
||
|
Заблокирован
|
||
| 05.09.2022, 15:07 [ТС] | ||
![]() Почитываю разные источники и только диву даюсь. Добавлено через 1 час 54 минуты Gluck99, спасибо! Я уже близок к разработке черновика собственного "корпоративного" стандарта) Пара уточняющих вопросов по вашему: 1. В названиях таблиц Вы используете только маленькие буквы и разделяете слова нижним подчеркиванием? А если в название будет входить аббревиатура? 2. Все названия полей (столбцов) начинаете с большой буквы? 3. Используете ли в названиях таблиц и полей кириллицу? Никогда, или иногда, или везде где хочется?
0
|
||
|
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
|
||||||||
| 05.09.2022, 18:01 | ||||||||
|
По названиям таблиц есть один важный, но многим неочевидный нюанс. Если СУБД установлен на Windows, то имена будут нечувствительны к регистру. А если на Linux - возможны варианты. Так, на Linux-MySQL запрос вида
Поэтому удобнее держать имена таблиц всегда в нижнем регистре - на любой ОС и на любом клиентском коде вы будете избегать глупых ошибок. 2. Да. Но возможны исключения в виде префиксов: lstNumberA, frmCaptionByte и т.п., когда надо выделить множество однородных полей в некую именованную группу. 3. Кириллицу (и тем более транслит ) не использую нигде и никогда, даже в виде исключений. Равно как и специальные символы, пробелы и т.п. Несмотря на возможности экранирования, ничего хорошего это не сулит, плюс ухудшает эстетику, а как я уже говорил, это обратная сторона читабельности. Официальный язык наименований - английский. Единственное место, где я использую кириллицу - это заметки-комментарии к полям, таблицам, триггерам и т.д.Вообще, разрабатывая стандарты для нейминга, надо держать в уме ещё и тот факт, что с вашей БД может работать не только ваше клиентское приложение, но и какое-нибудь другое (да, такое бывает). Причём написанное на незнакомом вам языке программирования и функционирующее на какой-нибудь не очень популярной ОС, и вообще с интерфейсом на арабском (внезапно!) языке. Задача вашей системы нейминга не усложнить работу таким приложениям (специальными символами, национальной кириллической кодировкой и т.п.), а облегчить. Латиница + английский язык = универсальность, независимость и некая гарантия работоспособности, несмотря на широкое распространение юникода.
1
|
||||||||
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
||
| 05.09.2022, 18:08 | ||
|
1
|
||
|
Заблокирован
|
|||
| 05.09.2022, 19:04 [ТС] | |||
|
P.S. У меня тут по ходу дела надо будет чужие данные обрабатывать периодически. Они в виде таблице в файле CSV. И там наименование полей на кириллице. Полей очень много. И я всё-таки решил на базе данных файла делать таблицу с теми полями, какие определены в этом файле - на кириллице. Поставлю вместо пробелов нижнее подчеркивание. Делать новый нейминг довольно муторно. Ввиду большого количества полей и мудрености терминологии. Но это будет таблица из разряда details. А самые реально нужные поля из них (штук 15-20) переименую в латиницу и на их базе сделаю основную таблицу. У этих таблиц будет одно число записей и соответствие будет по ID (один к одному). Как-то так. Добавлено через 7 минут Аватар, Вы поля с маленькой буквы именуете? Я пока склоняюсь к тому, чтобы поля с большой именовать. Добавлено через 5 минут А то просится так - NameP, NameS, NameSk или NameSK. А если наименование на русском и на английском, то английские пометить NameEnP, NameEnS... Мда, чисто визуально немного напрягает. Как ни странно, namep, names, namesk смотрится лучше. То, что это имя и так сразу видно, а чтобы разобраться в деталях - краткое или нет можно и присмотреться. Это к слову о подаче информации разного уровня значимости. Добавлено через 5 минут Ещё вариант использовать суффиксы после подчеркивания - name_p, name_s, name_sk. Но так эта деталь (краткое или полное) сразу визуально вылезает на первый план, хотя она далеко не всегда значима.
0
|
|||
|
408 / 242 / 88
Регистрация: 28.04.2022
Сообщений: 1,207
|
||
| 05.09.2022, 19:29 | ||
|
Или возьмём другое слово - сomment. Оно, кстати, как и name зарезервированное. Как называть поле? Comment нехорошо, надо бы Comments. Но если это comments, то опять-таки что это - множественное число или comment + постфикс "s"? И т.д., и т.п.
1
|
||
|
Заблокирован
|
||
| 05.09.2022, 19:38 [ТС] | ||
|
0
|
||
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
||
| 05.09.2022, 19:39 | ||
|
1
|
||
|
Заблокирован
|
||
| 05.09.2022, 19:41 [ТС] | ||
|
0
|
||
|
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
|
|
| 05.09.2022, 19:50 | |
|
та просто лень было шифт удерживать )
0
|
|
| 05.09.2022, 19:50 | |
|
Правила именования классов в CSS Правила именования тем и оформления сообщений в разделе Qt
Правила заполненя связанных таблиц Айфон не видит правила display: block; для таблиц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|