Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.04.28;
Скачать: CL | DM;

Вниз

Название поля первичного ключа.   Найти похожие ветки 

 
Игорь Шевченко ©   (2012-12-25 13:34) [80]

Медвежонок Пятачок ©   (25.12.12 13:22) [76]


> нарушено ограничение такое то


Обычно достаточно имени ограничения


 
знайка   (2012-12-25 13:35) [81]

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

В исключениях пишут какое поле и из какой таблицы, или где-то не так?


 
Ega23 ©   (2012-12-25 13:40) [82]


> Если бы тока ID, то оно еще ладно, а то ведь сущности обрастают
> всякой "фигнёй" типа наименований, дополнительной информации
> или там, например, дат создания/модификации. :)

Ну да, я в целом.
Банальный пример:

create table groups (
id int
caption varchar
)

create table entities (
id int,
groupid int,
caption varchar
)

и банальный запрос с клиента

select g.caption, e.id, e.groupid, e.caption as entitycaption
 from groups g join entities e on (g.id=e.groupid)


А когда таких id, caption, changetime, imageindex, sortorder и ты.ды. дофига, тогда ой.


 
vuk ©   (2012-12-25 13:44) [83]

to Игорь Шевченко ©   (25.12.12 13:34) [79]:

> У нас  поболе будет.

Ну так я и говорю - мож пока не доросли до путаницы. Гораздо большей проблемой уже давно является плохая впихуемость в голову всех тонкостей функционирования. От этого правильными именованиями уже не спасешься. :)


 
vuk ©   (2012-12-25 13:50) [84]

to Ega23 ©   (25.12.12 13:40) [82]:

> и банальный запрос с клиента
>  select g.caption, e.id, e.groupid,
>  e.caption as entitycaption  from groups g join entities
> e on (g.id=e.groupid)

Угу, в том и пакость, что я сегодня могу написать "e.caption as entitycaption", а завтра "e.caption as фигзнаетчо". Потому, что лень искать, как в других местах переименовали. :)


 
Игорь Шевченко ©   (2012-12-25 13:54) [85]

vuk ©   (25.12.12 13:44) [83]


> Гораздо большей проблемой уже давно является плохая впихуемость
> в голову всех тонкостей функционирования. От этого правильными
> именованиями уже не спасешься. :)


Не сыпь мне соль на рану :)


 
Ega23 ©   (2012-12-25 13:59) [86]


> Угу, в том и пакость, что я сегодня могу написать "e.caption
> as entitycaption", а завтра "e.caption as фигзнаетчо". Потому,
>  что лень искать, как в других местах переименовали. :)


Вьюхи спасают. но это тоже дело такое, неоднозначное.


 
Игорь Шевченко ©   (2012-12-25 14:03) [87]

Ega23 ©   (25.12.12 13:59) [86]


> Вьюхи спасают


В данном случае совсем не спасают.


 
Ega23 ©   (2012-12-25 15:32) [88]


> В данном случае совсем не спасают.

В одном месте править. Хотя это уже совсем другой холивар :)


 
Аббат Пиккола   (2012-12-25 16:17) [89]

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


 
Игорь Шевченко ©   (2012-12-25 16:41) [90]

Ega23 ©   (25.12.12 15:32) [88]

Ты предлагаешь на каждый запрос создавать view ? А зачем ?


 
Jeer ©   (2012-12-25 16:51) [91]


> что при росте проекта всякая, поначалу казавшаяся блестящей
> и оптимальной,


но недальновидно спроектированная архитектура... и т.д.


 
Kerk ©   (2012-12-25 16:53) [92]


> Игорь Шевченко ©   (25.12.12 16:41) [90]
> Ega23 ©   (25.12.12 15:32) [88]
>
> Ты предлагаешь на каждый запрос создавать view ? А зачем ?

В некоторых СУБД запросов фактически нет, есть только view :)


 
Ega23 ©   (2012-12-25 17:10) [93]


> Ты предлагаешь на каждый запрос создавать view ? А зачем?

Я ничего не предлагаю. Я просто о плюсах и минусах префиксов.
В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.


 
Jeer ©   (2012-12-25 18:05) [94]


> В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.


Попробовав разное, к этому приходят не все, но многие.


 
MsGuns ©   (2012-12-25 18:11) [95]

>Kerk ©   (25.12.12 16:53) [92]
>В некоторых СУБД запросов фактически нет, есть только view :)

Например в Хохлопарусе


 
vuk ©   (2012-12-25 18:41) [96]

to Ega23 ©   (25.12.12 17:10) [93]:

> Я ничего не предлагаю. Я просто о плюсах и минусах префиксов.
> В принципе, было бы неплохо, чтобы имя поля в БД было уникальным.
>

Я бы сказал не так. Поля, хранящие одинаковые по смыслу данные должны, по возможности, называться одинаково.


 
Jeer ©   (2012-12-25 18:59) [97]


> Поля, хранящие одинаковые по смыслу данные должны


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


 
картман ©   (2012-12-25 22:53) [98]

http://www.youtube.com/watch?v=_Hl4iDfARv8


 
Медвежонок Пятачок ©   (2012-12-25 23:34) [99]

неужели это еще не внесли в список экстремистких материалов?


 
Игорь Шевченко ©   (2012-12-26 00:12) [100]

картман ©   (25.12.12 22:53) [98]

+100500! :)


 
Германн ©   (2012-12-26 02:41) [101]


> и да, имена полей в таблице не должны дублировать ее имя.
>
>

Единственный раз случайно нарушил это правило, но проблем не заполучил.


 
Германн ©   (2012-12-26 02:46) [102]


> Дмитрий С ©   (23.12.12 14:07)
>
> Предположим таблица новостей `new`.
> Как лучше назвать поле PK:
> id или new_id ?
>

По мне лучше так:
Таблицу назвать news, а поле id_new. Ибо это не столь идентификатор таблицы, сколь идентификатор конкретной новости.


 
знайка   (2012-12-26 12:33) [103]


> Единственный раз случайно нарушил это правило, но проблем
> не заполучил.
Откуда им взяться, с неба упадут?


 
Inovet ©   (2012-12-26 12:39) [104]

> [102] Германн ©   (26.12.12 02:46)
> id_new

Ещё не лучше, весь цимус пропадает от этого new.

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


 
Пит   (2012-12-26 13:04) [105]

Программисты такие программисты ))

Обсуждаемые проблемы в реальных проектах вообще проблемами не являются, по сути. Во всех проектах, которые я видел - всегда есть гораздо более хреновые вещи, которые мешают жить. В контексте чего PK называй хоть id, хоть news_id, хоть my_beautiful_key.

Конечно, это потому что я видел исключительно хреновые проекты.


 
Jeer ©   (2012-12-26 15:28) [106]


> это потому что я видел исключительно хреновые проекты.


Мне повезло - вообще чужие не видел и дасть Тот, не увижу.
А свои я хреновыми не назову:)


 
Дмитрий С ©   (2012-12-27 04:29) [107]


> А свои я хреновыми не назову:)

Это вообще большая загадка: откуда берутся хреновые программы?


 
Jeer ©   (2012-12-27 10:33) [108]

От тех, кто смотрит чужие хреновые и копирует:)


 
Германн ©   (2012-12-28 02:12) [109]


> знайка   (26.12.12 12:33) [103]
>
>
> > Единственный раз случайно нарушил это правило, но проблем
> > не заполучил.
> Откуда им взяться, с неба упадут?

А фиг их знает! Но иметь в программе два идентификатора с одним именем - это напряжно.


 
Inovet ©   (2012-12-28 02:18) [110]

> [109] Германн ©   (28.12.12 02:12)
> Но иметь в программе два идентификатора с одним именем - это напряжно.

А имена полей/функций одинаковые в разных классах?


 
Владислав ©   (2012-12-28 03:40) [111]


> картман ©   (25.12.12 22:53) [98]


:-D

Осталось выбрать наимудрейшего. Ну или провозгласить. :)



Страницы: 1 2 3 вся ветка

Текущий архив: 2013.04.28;
Скачать: CL | DM;

Наверх




Память: 0.67 MB
Время: 0.01 c
15-1356769502
Undertacker
2012-12-29 12:25
2013.04.28
Как прочитать сохраненные файлы Оперы-мини?


15-1356810276
alexdn
2012-12-29 23:44
2013.04.28
Новый космодром


2-1350564355
nikomp
2012-10-18 16:45
2013.04.28
чтение/запись компонентов


15-1356813003
Юрий
2012-12-30 00:30
2013.04.28
С днем рождения ! 30 декабря 2012 воскресенье


4-1264961719
ProgRAMmer Dimonych
2010-01-31 21:15
2013.04.28
Получить шрифт заголовка окна без обращения к реестру