Страница 1 из 1

Значение поля RDB$DB_KEY?

Добавлено: 20 июн 2006, 17:59
Naidenov
Подскажите пожалуйста, для чего в каждой пользовательской (не системной) таблице в неявном виде присутствует поле RDB$DB_KEY? Какие в нем хранятся значения, откуда они берутся и для чего используются?

Добавлено: 20 июн 2006, 18:02
Merlin
Не три, не чеши, само пройдёт. Когда (если) понадобится, тогда вопрос будет стоять по-другому. :)

Добавлено: 20 июн 2006, 18:21
Naidenov
Merlin писал(а):Не три, не чеши, само пройдёт. Когда (если) понадобится, тогда вопрос будет стоять по-другому. :)
Прямо как на сеансе у гомеопата. :) Если у тебя нет желания отвечать, не сори многозначительными сообщениями с претензией на гениальность. Может кто другой откликнется и растолкует по-человечески.

Добавлено: 20 июн 2006, 18:29
Merlin
Для достижения гениальности вообще-то, уж если приспичило, достаточно набрать сие заклинание в гугле и почитать статейки Клавдия. Аднака интерес к этому зверю обычно говорит о безудержном стремлении жить без ПК и не менее обычно ведёт к глюкам и поломатым данным. Так что, чиста из человеколюбия - лучше всё-тки как все, по камушкам, если нет крайней нужды. А когда она есть, то вопрос действительно формулируется другой.

Добавлено: 20 июн 2006, 18:32
WildSery

Добавлено: 20 июн 2006, 18:38
kdv
для чего в каждой пользовательской (не системной) таблице в неявном виде присутствует
это физический номер записи. Тебе оно надо?

Добавлено: 20 июн 2006, 18:43
WildSery
kdv писал(а):это физический номер записи. Тебе оно надо?
Или всё же адрес :wink:

Добавлено: 20 июн 2006, 19:21
dimitr
WildSery писал(а):Или всё же адрес
монопенисуально. Игра терминами.

Добавлено: 21 июн 2006, 08:14
CCB
для одной, неправильно спроектированной, базы пришлось писАть утилиту удаления задвоенных записей используя именно это поле...

Добавлено: 21 июн 2006, 11:58
WildSery
CCB писал(а):для одной, неправильно спроектированной, базы пришлось писАть утилиту удаления задвоенных записей используя именно это поле...
Нечем тут хвастаться. Можно было обойтись и без системных объектов, например, курсор использовать.

Добавлено: 21 июн 2006, 12:02
CCB
WildSery писал(а):
CCB писал(а):для одной, неправильно спроектированной, базы пришлось писАть утилиту удаления задвоенных записей используя именно это поле...
Нечем тут хвастаться. Можно было обойтись и без системных объектов, например, курсор использовать.
если внимательно читать классиков, то курсоры, временные таблицы и иже с ними - это излишества и не входят в стандарт SQL-92...

Добавлено: 21 июн 2006, 12:07
dimitr
что не мешает им входить в SQL-99...

Добавлено: 21 июн 2006, 12:11
WildSery
CCB писал(а):если внимательно читать классиков, то курсоры, временные таблицы и иже с ними - это излишества и не входят в стандарт SQL-92...
rdb$db_key тоже не входит.

Добавлено: 21 июн 2006, 12:27
CCB
WildSery писал(а):rdb$db_key тоже не входит.
зато в него входит - select FieldName from TableName, вот и приходим к select rdb$db_key from TableName

Добавлено: 21 июн 2006, 12:42
CCB
dimitr писал(а):что не мешает им входить в SQL-99...
опять почитаем классиков - Селко Д. "Стиль программирования Джо Селко на SQL", 2006 г.
стр. 149
"Применение временных таблиц обычно является признаком плохого дизайна. Чаще всего их применяют для хранения промежуточных данных, как мы в 1950-х годах использовали временные магнитные ленты."

"Зачем же они (курсоры (прим. маё)) тогда вообще нужны? Главные причины - незнание основ SQL и старые привычки."

Добавлено: 21 июн 2006, 13:08
Merlin
CCB писал(а):для одной, неправильно спроектированной, базы пришлось писАть утилиту удаления задвоенных записей используя именно это поле...
Вот это уже ближе к постановке реального вопроса... А также починка поломатой базы. Кстати, я так понимаю, коллега тут рядушком под курсором имел в ввиду where current of? Так это и есть использование rdb$db_key за минусом одной операции позиционирования ;)

Добавлено: 21 июн 2006, 14:40
Naidenov

Добавлено: 21 июн 2006, 14:52
Naidenov
kdv писал(а):это физический номер записи. Тебе оно надо?
Да. Мне нужно было удалить из нескольких таблиц, не имеющих уникальных ключей, дубликаты записей. Кроме того, хотелось попутно разобраться, как этот номер вообще формируется? Вообщем, потратив некоторое количество ДРАГОЦЕННОГО времени на поиски нужной информации, я таки нашел ответы на свои вопросы здесь http://www.ibase.ru/devinfo/deldupes.htm. Жаль только, что вместо фактических разъяснений или конкретных ссылок приходиться читать околосущностное словоблудие или беспредметные споры, вызванные глубинным мужским желанием "померяться у кого больше" (я имею ввиду знания по той или иной проблеме)... :(

Добавлено: 21 июн 2006, 16:05
kdv
Да. Мне нужно было удалить из нескольких таблиц, не имеющих уникальных ключей, дубликаты записей.
на сайте есть документ,
www.ibase.ru/devinfo/deldupes.htm
ообщем, потратив некоторое количество ДРАГОЦЕННОГО времени на поиски нужной информации
я бы выразился, да стесняюсь. сразу в поиск сходить или конкретный вопрос задать было нельзя?
Жаль только, что вместо фактических разъяснений или конкретных ссылок приходиться читать околосущностное словоблудие или беспредметные споры, вызванные глубинным мужским желанием "померяться у кого больше" (я имею ввиду знания по той или иной проблеме)..
хочешь забаню, за оскорбление участников форума?
Ты задал абстрактный вопрос. Если бы ты задал КОНКРЕТНЫЙ вопрос, а не занимался словоблудием, то ответ бы получил в течение минуты.

Добавлено: 22 июн 2006, 07:35
CCB
Naidenov писал(а):Жаль только, что вместо фактических разъяснений или конкретных ссылок приходиться читать околосущностное словоблудие или беспредметные споры, вызванные глубинным мужским желанием "померяться у кого больше" (я имею ввиду знания по той или иной проблеме)... :(
ух ты, какие мы нежные, я аж праслезился...