Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Формат имен объектов БД. / 10 сообщений из 10, страница 1 из 1
21.03.2014, 04:47
    #38592494
Volochkova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
Доброго дня, всем.

При сопровождении разных систем сталкиваюсь с двумя видами формирования имен объектов СУБД.

Таблички - SPRAV_ITEMS vs SPRAVITEMS vs SPRAV__ITEMS

тут все более менее понятно, что подчерки добавляют читабельности в коде.

А вот с именами полей в таблицах так же встречаются диалекты.
ItemID
ItemName
IsFolder
vs
Item_ID
Item_Name
Is_Folder

Есть ли какие то идеологические обоснования подчерков в именах полей?
Partner_Store_Name читается проще, но ItemID в начертании понтянее.

Спасибо.
...
Рейтинг: 0 / 0
21.03.2014, 09:28
    #38592570
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
Орацле, например, автоматом переводит названия полей в верхний регистр, если название не закавычено:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 
 
SQL> select 1 ItemID, 'OOO Убер Систем Солюшенз' Partner_Store_Name from dual;
 
    ITEMID PARTNER_STORE_NAME
---------- ------------------------
         1 OOO Убер Систем Солюшенз
 
SQL> 


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> create table t(itemID number, "itemName" varchar2(100), item_type number);
 
Table created
 
SQL> select * from t;
 
    ITEMID itemName                                      ITEM_TYPE
---------- --------------------------------------------- ----------
 
SQL> 

Без подчеркиваний совсем беда.
...
Рейтинг: 0 / 0
21.03.2014, 16:10
    #38593092
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
С другой стороны никто и не заставляет писать и читать имена так, как они хранятся в системных таблицах: их можно писать так, как они описаны в документации к БД. Вот если БД не документирована, тогда да, совсем беда.
...
Рейтинг: 0 / 0
24.03.2014, 08:03
    #38594151
Volochkova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
В C# куча классов, и без подчерков живут и нормально.
Есть ли какая то философия в подчерках?
...
Рейтинг: 0 / 0
24.03.2014, 08:26
    #38594159
Формат имен объектов БД.
VolochkovaЕсть ли какая то философия в подчерках?
Есть.
...
Рейтинг: 0 / 0
24.03.2014, 13:36
    #38594505
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
Volochkova,

попробуй почиатй что такое идентификатор переменной в спецификации языка какого нить
...
Рейтинг: 0 / 0
25.03.2014, 02:07
    #38595269
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
VolochkovaЕсть ли какие то идеологические обоснования подчерков в именах полей?
Partner_Store_Name читается проще, но ItemID в начертании понтянее.
Спасибо.

Тому несколько причин.

Если нет нормальной IDE, то удобно в запросах выделять ключевые слова капитализацией. Типа select NAME from TABLE. Это иногда упрощает чтение больших запросов, но при этом, разумеется, использовать аналог CamelCase уже не получается, не удобно, так что приходилось использовать подчерки.

Кроме того, некоторые СУБД до сих пор не различают регистр таблиц и полей, а раньше многие даже не сохраняли капитализацию и переделывали запрос по собственной воле (вот точно помню, что Oracle таким отличался когда-то).

Вообще, судя по примерам, это еще небольшие БД. В действительно больших были бы еще и префиксы у таблиц (для разделения по доменам) и еще какие-нибудь странные вещи.

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

Сейчас, честно говоря, разумнее в БД использовать тот же стандарт кодирования, что используется на AppLayer. Т.е. если БД используется из-под C# - то так и поступать. Таблицы - классы, поля - свойства. Это упрощает чтение и mapping :)

P.S. Вообще, на мой взгляд, подчерки сильно замедляют чтение кода (особенно при обсуждении по телефону). А уж какой ужас разбирать код с подчерками, распечатанный на плохом матричном принтере (который их просто не пропечатывает). Но это все тоже привычки очень старых дней )
...
Рейтинг: 0 / 0
26.03.2014, 02:30
    #38596492
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
DPH3Если нет нормальной IDE, то удобно в запросах выделять ключевые слова капитализацией.
Хм. Удобства здесь мало для чтения и ещё меньше для набора. Имхо просто рудимент от компиляторов 70-х годов, когда зачастую знакогенератор уже поддерживал регистр, а вот софт ещё требовал "обязательно больших".

DPH3Кроме того, некоторые СУБД до сих пор не различают регистр таблиц и полей,
Все нормальные.

DPH3а раньше многие даже не сохраняли капитализацию и переделывали запрос по собственной воле
Вот на это хотелось бы посмотреть. Прямо-таки представляю себе, как СУБД ночью логинится в SVN и тихонько переделывает запросы по собственной воле.

DPH3Таблицы - классы, поля - свойства. Это упрощает чтение и mapping :)
А главное, думать не надо. Типичный подход однозвенного мышления.

DPH3Вообще, на мой взгляд, подчерки сильно замедляют чтение кода
Вопрос привычки, имхо. Некоторые даже в ALLCAPS почти не тормозят.

DPH3А уж какой ужас разбирать код с подчерками, распечатанный на плохом матричном принтере (который их просто не пропечатывает).
Если он не пропечатывает минусы, ситуация гораздо хуже.
...
Рейтинг: 0 / 0
26.03.2014, 14:01
    #38596941
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
softwarerDPH3Если нет нормальной IDE, то удобно в запросах выделять ключевые слова капитализацией.
Хм. Удобства здесь мало для чтения и ещё меньше для набора. Имхо просто рудимент от компиляторов 70-х годов, когда зачастую знакогенератор уже поддерживал регистр, а вот софт ещё требовал "обязательно больших".

Ну, как всегда, дело привычки и личных предпочтений. Мне вот зачастую так удобнее. Особенно в "болтливых" диалектах типа DB2. Впрочем, у меня уже давно нет проектов с большим количеством кода на уровне БД. А когда были, так там обычно и какие-нибудь кодогенераторы выстраивались и прочая инфраструктура, которая заметно влияла на codestyle. Впрочем, при тысячах таблиц и десятках тысяч хранимок и при жестких ограничениях на длину идентификаторов приходится извращаться, да )

softwarerDPH3а раньше многие даже не сохраняли капитализацию и переделывали запрос по собственной воле
Вот на это хотелось бы посмотреть. Прямо-таки представляю себе, как СУБД ночью логинится в SVN и тихонько переделывает запросы по собственной воле.

Я про хранимки. Во времена двухзвенок я старался вообще не держать текстов запросов на клиенте, все в БД. А еще какой-то старый Oracle любил упорядочивать список полей во вьюшках по собственному усмотрению, дико раздражало )

softwarerDPH3Таблицы - классы, поля - свойства. Это упрощает чтение и mapping :)
А главное, думать не надо. Типичный подход однозвенного мышления.

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

softwarerDPH3Вообще, на мой взгляд, подчерки сильно замедляют чтение кода
Вопрос привычки, имхо. Некоторые даже в ALLCAPS почти не тормозят.

Вот я даже ALLCAPS предпочитаю подчеркам. Просто я при чтение кода подчерки тоже проговариваю (ну, привычка такая, еще с С), что сильно замедляет чтение.
Вкусовщина и традиции конкретного проекта/СУБД.
...
Рейтинг: 0 / 0
26.03.2014, 14:17
    #38596965
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат имен объектов БД.
DPH3Я про хранимки. ... А еще какой-то старый Oracle любил упорядочивать список полей во вьюшках по собственному усмотрению, ...
Видимо, это был ну очень старый Oracle. За те семнадцать лет, что я с ним работаю, с такими ужасами как-то не сталкивался :)

DPH3Ну, сейчас в многозвенке про слой хранения вообще стараются не думать
Вопрос имхо в определении "звена". Термин "многозвенка" сегодня по факту дезориентирующий, это просто бренд, которым называют определённую архитектуру решений, часто вовсе не многозвенную по сути.

DPH3А вот общий code style - вещь удобная, как ни странно )
Ну, у меня одно и то же среднее звено работает с четырьмя "БД" от разных команд и с разными code style, так что его удобство - вещь в данном случае умозрительная :)

DPH3Просто я при чтение кода подчерки тоже проговариваю (ну, привычка такая, еще с С),
Ну, code style по идее как раз избавляет от этой привычки. С тем же успехом можно выбирать ALLCAPS за то, что иначе надо проговаривать большие-маленькие буквы. Хотя идея проговаривать по телефону для меня вообще довольно странна, я уже и не вспомню, когда в последний раз таким занимался... мне так кажется, что это было в 1989-м году, потом не вспоминается :)
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Формат имен объектов БД. / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]