Откуда программа должна знать id для поиска обьекта c его помощью?
Допустим есть куча обьектов в базе данных, каждый со своим уникальным id. Чтобы запустить функцию поиска по id, нужно ей передать этот самый id. Обьясните откуда программа должна знать его в самом начале поиска?
Именно поэтому поиск в бд возможен не только по id, но и по любому другому полю. Да и id необязательно суррогатен, он может быть натуральным, т.е. отображать идентификатор из реальной жизни.
Vitsliputsli Нужно же знать что ищешь, а id может быть набором символов, который никто знает. Вот я и задумался может оно как-то в программе удерживается, но вчера мне пришла мысль для чего может использоваться поиск по id, возможно быть такое, что в кэше хранится не вся информация? Тогда чтобы что-то получить дополнительно придется лезть в базу данных, можно id из кэша взять и найти этот обьект в бд
harliy, да, бывают и такие решения, например ищете в Эластике, он отдает id, а уже по id забираете данные из основной базы. Либо, так или иначе уже знаете id, как описал Василий Банников.
Варианта два:
1. Она узнала его в момент создания объекта. (либо он сгенерирован самой программой, либо он был сообщён базой данных. оператор CREATE ... RETURNING id;
2. Запросил список из этих объектов (всех или по условию)