|
|
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Всем привет от самоучки любителя выносящего мозг десятилетиями ))))) И так друзья, кому не в лом, ответьте рекомендациями. Много повидал подходов и реализаций. Где то свои пихнул ))) С годами менялось представление о тех или иных вещах.... Так вот, я все это к чему- прошу помощи! Исходные данные: 1. Очень очень очень ленивый программист самоучка. 2. СУБД Postgre 3. Подобие софта работающего с СУБД пункта 2. 4. Не хочу классов в прямом понимании ))))))))))) как отдельных сущностей - только Query 5. Классы хочу, но лишь как базовые, для предоставления общих свойств и методов и возможно где то реалзизации интерфейсов, для дочерних (зебегая вперед, все вьюшки - фреймы и редакторы формы наследуемые, но это только для моей лени, что свойства и метода по сто раз одни и те же не мутить) -реализовано. Забегая вперед, я да же MVVM реализовал на c#(wpf) но вот не лежит душа и все тут, порыпался порыпался, добился результатов и все... комп неделю не включал домашний )))) вернулся к Delphi. И так в чем суть то в обще вопросов, а она в логике архитектуры, вот чего мне всегда реально не хватало, так это подобного опыта с нуля. Что я решил. 1. DataModule , на него кидаю кучки Query (надоели мне все сложные запросы и всяческие FieldByName в последствии), ну допустим справочников. Это чисто плоские..точнее сами запросы плоские, типа Select поля from таблица. -За чем? - Другие Query, без сложных запросов (если того не требуют, а просто связь отобразить) выполнят не сложный запрос к другим таблицам, а прилукапятся. И тут первый вопрос, что быстрее, если таблица уже вскрыта в DataModule и сделается лукап нового Query по полю или запрос c присоединением Join, с точки зрения как нагрузки сети , так и (пусть это глупо прозвучит) отображения результата в виде грида клиенту? 2. Вьюшка (не буду заморачивать, тут вопрос не в этом о ее концепции создания) - Frame, таких фреймов может быть много, как с ними совладать я разберусь... допустим он один, допустим это справочник пользователей, у пользователя есть роль, хочу увидеть эту роль по имени - делаю лукап поле (ко вскрытому ранее в datamodule справочнику) 3. Форма редактор, наследница там чего то, где есть ряд свойств и методов ,которые могу передать от вьюшки. Кинул DataSource на форму редактор (без Query), форма редактор на показ инициируется и копирует в Query (виртуальную, созданную в run-time - поле класса, и ее физической datasource (этой формы) присваиваю DataSet в виде этой Query) -За чем? - Ленив, хочу сказать POST и все и это работает (надоели мне все сложные запросы и всяческие ParamByName в последствии), но только если есть либо точная копия с полями либо скопировать в рантайм ))) Вопрос. Как скопировать поля из одной Query в другую без гемороя, включая Lookup? всякие там ... query2.CopyFields(query1) ... или ... with query2.FieldDefs.Count-1 .... работает если лукапов нет нагородил следующий огород, только не смейтесь, не украшал, пробовал разные варики, какой то заработал, кидаую )))) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Может есть какой простой способ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2019, 16:48 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, ну и тут я только TStringField и TIntegerField обработал, так их понятно больше, вот это и ломает ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2019, 16:52 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, Нихера не понял и глаза сломал. Зато отфарматировал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2019, 17:07 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, 1. локальный лукап vs северный - всё зависит от... можно делать и так, и так в многопользовательской среде наверное лучше серверный, чтобы не обновлять локальные справочники постоянно 3. по сути нужен клон исходного НД (без данных, либо только для редактируемой записи) - там должен быть метод на подобии Clone ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2019, 17:11 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, kill_zdm что быстрее, если таблица уже вскрыта в DataModule и сделается лукап нового Query по полю или запрос c присоединением Join, с точки зрения как нагрузки сети , так и (пусть это глупо прозвучит) отображения результата в виде грида клиенту? разумеется join быстрее на порядки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2019, 19:02 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
edruzenko, Вы абсолютно в этом уверены? Извините, что спрашиваю, лично не проверял, мне нужно мнение - кто реально исследовал. Вот смотрите, допустим мне необходимо получить данные из связанных таблиц в кол-ве 10+ , т.е. 10+ Join, тут и запрос громоздкий ну это ладно и к СУБД напряг + нагрузка на сеть, а если уже вскрыты данные из этих таблиц, которые будут лукапиться и они в ОЗУ живут, разве это не быстрее произойдет ? Я просто рассуждаю, не уверен абсолютно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 10:09 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Gator, спасибо большое, виноват, исправлюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 10:10 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
delphinoteskill_zdm, 1. локальный лукап vs северный - всё зависит от... можно делать и так, и так в многопользовательской среде наверное лучше серверный, чтобы не обновлять локальные справочники постоянно 3. по сути нужен клон исходного НД (без данных, либо только для редактируемой записи) - там должен быть метод на подобии Clone 1. Конечно серверный менее геморойный я понимаю, с другой стороны при тех же равных, нагрузка возрастает сильно при многопользовтаельской , когда один и тот же справочник к примеру дергается по 100++++ раз , только что бы отобразить связанное с ним имя к примеру по ключу. Как показала практика, справочники в целом меняются не часто, часть из них в обще единожды с начальным заполнением, тут как мне видится необходимо только грамотную валидацию на существующие проверять - ну и волшебную кнопку - обновить данные добавить ))) 3 - должен быть но не нашел (((( повторюсь , я все облазил, кучу всего перепробовал, все копируется кроме лукап полей ((( сдался и начал писать свой огород, может кто реально сталкивался и знает как тот метод зовется ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 10:19 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, тащить данные с сервера на клиент (хотя бы только справочники) заранее, не разбираясь нужны они там или нет - это какая-то, действительно, специфическая концепция. Верю, что в каких-то сценариях можно сильно выиграть в быстродействии. Но гемора поиметь можно ещё больше. Особенно с валидностью данных. Вам, что жалко трафика в локальной сети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 11:11 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
KreatorXXIkill_zdm, тащить данные с сервера на клиент (хотя бы только справочники) заранее, не разбираясь нужны они там или нет - это какая-то, действительно, специфическая концепция. Верю, что в каких-то сценариях можно сильно выиграть в быстродействии. Но гемора поиметь можно ещё больше. Особенно с валидностью данных. Вам, что жалко трафика в локальной сети? Справочники, они на то и справочники, что меняются достаточно редко (например список биологических полов). Поэтому нормальный подход это загрузить их всех в момент загрузки приложения (или при первом обращении) а затем не гонять по сети одни и те же строковые данные и не переусложнять запросы лишними join-ами. Но это конечно требует некоторой дисциплины. Гораздо проще накопипастить кучу однотипных квериков, тем более на тестовой БД данных мало и пользователь один поэтому не имеет значение сколько нам данных перекачивается. А то, что у 100 пользователей приложение едва ворочается, так это проблемы индейце шерифа не волнуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 11:44 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
roschinspb, справочник справочнику рознь. Есть редко изменяемые, есть часто, есть никогда. Надо построить систему, которая отслеживала бы изменения. Мне непонятно зачем это нужно. Есть сотни таблиц, из них справочников 30-50. Для этих таблиц строить отдельную схему работы? В общем, я за универсальность подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 12:21 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, Мои 5 копеек 1. Грузить справочники на клиента без разбора = зло 2. Использовать обращение не к таблицам а ко вьюхам (лучше всего индексированным) где есть все джойны какие надо (упаси Боже в этом случае всякие правые, левые всякие другие кроме Inner). Надеюсь что такое индексы и статистика в этом случае рассказывать не стоит? 3. Ты уверен что локап не копируются? Если правильно понял юзаем UniDac? Насколько я помню есть отдельный метод копиравания полей со всякими настройками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 12:43 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Hammerkill_zdm, Мои 5 копеек 1. Грузить справочники на клиента без разбора = зло 2. Использовать обращение не к таблицам а ко вьюхам (лучше всего индексированным) где есть все джойны какие надо (упаси Боже в этом случае всякие правые, левые всякие другие кроме Inner). Надеюсь что такое индексы и статистика в этом случае рассказывать не стоит? 3. Ты уверен что локап не копируются? Если правильно понял юзаем UniDac? Насколько я помню есть отдельный метод копиравания полей со всякими настройками. 3. Не копируется.. ну или копируется но это все на уровне оперативы, т.е. без запроса - отслежено в DbMonitor. Да, юнидаки, не смог найти я этот метод ((((((((((( вроде вот оно Query1.CopyFields(TDataSet) --- все коприуется кроме лукапов :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 14:13 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdmHammerkill_zdm, Мои 5 копеек 1. Грузить справочники на клиента без разбора = зло 2. Использовать обращение не к таблицам а ко вьюхам (лучше всего индексированным) где есть все джойны какие надо (упаси Боже в этом случае всякие правые, левые всякие другие кроме Inner). Надеюсь что такое индексы и статистика в этом случае рассказывать не стоит? 3. Ты уверен что локап не копируются? Если правильно понял юзаем UniDac? Насколько я помню есть отдельный метод копиравания полей со всякими настройками. 3. Не копируется.. ну или копируется но это все на уровне оперативы, т.е. без запроса - отслежено в DbMonitor. Да, юнидаки, не смог найти я этот метод ((((((((((( вроде вот оно Query1.CopyFields(TDataSet) --- все коприуется кроме лукапов :( не очень понял, простите, сам вопрос на счет копирования, я думал Вы про переброску данных. В общем - не копируется, уже по другому отвечу. К примеру Query2 имеет 3 поля физически и один лукап -выполнив метод Query1.CopyFields(Query2) по факту только физические скопирует. Count полей после метода отличается ну и при обращении к лукап полю по имени - облом, нет такого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 14:17 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Hammerkill_zdm, Мои 5 копеек 1. Грузить справочники на клиента без разбора = зло 2. Использовать обращение не к таблицам а ко вьюхам (лучше всего индексированным) где есть все джойны какие надо (упаси Боже в этом случае всякие правые, левые всякие другие кроме Inner). Надеюсь что такое индексы и статистика в этом случае рассказывать не стоит? 3. Ты уверен что локап не копируются? Если правильно понял юзаем UniDac? Насколько я помню есть отдельный метод копиравания полей со всякими настройками. 2. Вьюшка ни чем не лучше того же запроса с точки зрения производительности, лишь меньший код в Query ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 14:19 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdmHammerkill_zdm, Мои 5 копеек 1. Грузить справочники на клиента без разбора = зло 2. Использовать обращение не к таблицам а ко вьюхам (лучше всего индексированным) где есть все джойны какие надо (упаси Боже в этом случае всякие правые, левые всякие другие кроме Inner). Надеюсь что такое индексы и статистика в этом случае рассказывать не стоит? 3. Ты уверен что локап не копируются? Если правильно понял юзаем UniDac? Насколько я помню есть отдельный метод копиравания полей со всякими настройками. 2. Вьюшка ни чем не лучше того же запроса с точки зрения производительности, лишь меньший код в Query ну разве, что подготовленным PrepareSQL, но это .. ну в общем не под каждый же чих мне вьюху творить.. Заморачивался этим, потом отказался, только ну где ну уж очень сложные запросы и то там чаще выруливать лучше получалось хранимыми функциями выдающими набор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 14:24 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Ох, сколько я повидал всяких формо, query, мосто построителей в своей жизни. Как правило, начинается это с того, что кучу времени тратится на то, чтобы создать супергибкую и интеллектуальную систему. Потом на ее основе делается проект. Потом начинаются делаться всякие заточки и заплатки, поскольку гибкости системы не хватает на какие нибудь особые случаи и нюансы. Потом подтягиваются другие разработчики. ... ... В конечном итоге, проект как бы есть, система вроде тоже. Но все доработки делаются без ее использования, а по старинке, поскольку оказывается, что так быстрее и надежнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2019, 14:45 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
black-manatee... В конечном итоге, проект как бы есть, система вроде тоже. Но все доработки делаются без ее использования, а по старинке, поскольку оказывается, что так быстрее и надежнее. Именно так. Потом когда разбираешься в старом коде, понимаешь, что единственная функция самопального мегафрейворка это тормозить и глючить. Есть и другая крайность, все лепят как считают нужным, не признавая вообще ни каких правил и соглашений, ради очередной "круглой" кнопки затягивается какая-нибудь библиотека компонентов колхозного кружка любителей информатики... справочник справочнику рознь Грузить справочники на клиента без разбора = зло Да. Делать что либо без разбору вообще зло. И любой универсальный подход будет проигрывать по скорости специально оптимизированному. С другой стороны оптимизация под каждый случай сильно увеличивает трудоемкость и сложность разработки. Тут важно найти золотую середину, а не серебряную пулю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2019, 10:36 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, Вопрос в том, что ты таким образом собрался писать? Если домашний наколенный софт, в который ничей нос не пустишь, то ОК. Нормальный подход. А если это будет живой проект, в котором хотелки будут время от времени меняться, то подход с кучей Query потребует кучи тестов, потому что не будет простого способа узнать в коде, где какая таблица используется и в каком еще Query надо поменять SQL при изменении структуры данных. И если при таком подходе проект разрастётся - любое подобное изменение будет стоить седых волос :-) Я за ORM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2019, 23:10 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
DimonkaА если это будет живой проект, в котором хотелки будут время от времени меняться, то подход с кучей Query потребует кучи тестов, потому что не будет простого способа узнать в коде, где какая таблица используется и в каком еще Query надо поменять SQL при изменении структуры данных. По-моему, ты кардинально переоценил подход автора. В запросе SELECT * FROM TABLE при изменении структуры менять ничего не требуется :) А относительно адекватных проектов - я бы назвал озвученную аргументацию странной и нелепой. Но, думаю, топик не стоит того, чтобы обсуждать это здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2019, 14:03 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
edruzenkokill_zdm, kill_zdm что быстрее, если таблица уже вскрыта в DataModule и сделается лукап нового Query по полю или запрос c присоединением Join, с точки зрения как нагрузки сети , так и (пусть это глупо прозвучит) отображения результата в виде грида клиенту? разумеется join быстрее на порядки. Дошли руки , проверил. Схема, повторюсь следующая. 1. В DataModule, Query подгружают необходимые мне справочники для лукапа (плоские запросы к таблицам, которые будут использоваться исключительно для лукапа. При старте системы - живут в оперативе) 2. На вьюшках - фреймы , уже свои Query, которые запрашивают так же плоские данные от сущности, лукапя необходимые для визуальной составляющей поля из смежных таблиц , получая данные из тех самых Query из DataModule уже загруженных. Результаты: Заполнил тестовую таблицу 10к записями с ключевкой к трем таблицам Выполнил Join к трем таблицам наблюдая в DbMonitor UniDac -0,46 до 0,52 То же самое с лукапами 0,15 до 0,16 Скорость и дельта значительно ниже Далее понизил на маршрутизаторе себе скорость до 512 кб/с для эксперимента и наглядности (база данных на хосте) Join вырос катастрофически, а дельта еще более катастрофично, разброс составлять стал порой до минуты. С лукапами, результат стал еще более впечатлительным - уже не разы , а десятки раз быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 10:54 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
максимальные проблемы, ну пока, которые получить могу этого вижу следующее. Допустим Иванова, сменила фамилию на Петрова, ну да.. .я буду видеть (если не говорить о синхронизации и т.д.) пока Иванова в прилукапленом поле. Но это ни как не влияет на целостность данных и лишь не совсем верное отображение текущего состояния. Если удалят ту самую Иванову, то я не увижу и тех записей, где она участвовала, по сколько редактирование сущности с привязаны полем перезапрашивается и если произошло удаление, то и записи связной не увижу. Может, что пока и упускаю, выслушаю с удовольтсвием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 10:58 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Я благодарен всем комментаторам, но пока ни кто не убедил. Дал коллеге попробовать, так сказать для наглядности.. К слову все фреймы вьюшки наследуются от обобщающей, где вся эта движуха происходит, сокращение трудоемкости да же он оценил, впервые увидев и сначала ни чего не понимая.. просто сказал ему - отнаследуйся от класса и реализуй интерфейс .. все.. 90% работы ушло . Всякие кошмарные FieldByName на каждый чих ушли в прошлое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 11:07 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdmмаксимальные проблемы, ну пока, которые получить могу этого вижу следующее. Допустим Иванова, сменила фамилию на Петрова, ну да.. .я буду видеть (если не говорить о синхронизации и т.д.) пока Иванова в прилукапленом поле. Но это ни как не влияет на целостность данных и лишь не совсем верное отображение текущего состояния. Если удалят ту самую Иванову, то я не увижу и тех записей, где она участвовала, по сколько редактирование сущности с привязаны полем перезапрашивается и если произошло удаление, то и записи связной не увижу. Может, что пока и упускаю, выслушаю с удовольтсвием. Ты многое упрощаешь. Идентифицировать надо именно сущность, а не её аттрибуты. Допустим, Иванова/Петрова в 5-й раз вышла замуж за Сидорова, развелась и взяла девичью фамилию Попандопуло, а потом и пол сменила. Привязаться к паспорту? Он меняется много раз. К свидетельству ПФР? Кто даст гарантии его постоянства? Веди свой ключ. А остальные бумажки/пластик считай привязанными аттрибутами. Тут тебе будет и история и актуальная информация на заданный период. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 12:05 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Gatorkill_zdmмаксимальные проблемы, ну пока, которые получить могу этого вижу следующее. Допустим Иванова, сменила фамилию на Петрова, ну да.. .я буду видеть (если не говорить о синхронизации и т.д.) пока Иванова в прилукапленом поле. Но это ни как не влияет на целостность данных и лишь не совсем верное отображение текущего состояния. Если удалят ту самую Иванову, то я не увижу и тех записей, где она участвовала, по сколько редактирование сущности с привязаны полем перезапрашивается и если произошло удаление, то и записи связной не увижу. Может, что пока и упускаю, выслушаю с удовольтсвием. Ты многое упрощаешь. Идентифицировать надо именно сущность, а не её аттрибуты. Допустим, Иванова/Петрова в 5-й раз вышла замуж за Сидорова, развелась и взяла девичью фамилию Попандопуло, а потом и пол сменила. Привязаться к паспорту? Он меняется много раз. К свидетельству ПФР? Кто даст гарантии его постоянства? Веди свой ключ. А остальные бумажки/пластик считай привязанными аттрибутами. Тут тебе будет и история и актуальная информация на заданный период. привязка идет по ID юзера!!! Живет ее Фамилия исключительно в рамках запуска программы, если она 10 раз сменит да же фамилию в течении ОДНОГО дня, это не критично, я лишь буду видеть ее старую фамилию, пока не перезапущу прогу, которая в свою очередь при запуске не перезапросит данные. к примеру Users id=125 Name= Иванова Pasport_Serias = 4202 ..... Интерисующая_меня_таблица Интерисующее_меня_поле = 'что -то' User_id =125 мне пофиг на ее изменения паспорта, фамилии и т.д. я привязан к ее ID и мне без разницы, будет ли это запрос Join или лукапы, актуальность проявится только при отображении грида к примеру. Повторюсь, уже при редактировании самой сущности - этой ивановой, уже происходит перезапрос данных актуальных и редаткрируя сущность , уже недактируются запрошенные, свежие данные. Пусть о ее фамилии и живут старые, пока не перезапущена прога и видны старые лукап поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 13:36 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
что мне это дает 1. Фрейм вьюшка я лишь добавляю связки, к примеру справочник стран TframeCountry = class(TModel, IModel) реализую интерфейс в ней //передам модели форму редактор, которая в свою очередь назначит все движения фрему ToPPanel где кнопки, удалить, редактировать //и т.д. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 2. Модель тут куча всего, в основном инициализируется форма вызванная , например, из меню как Код: pascal 1. 2. 3. 4. это схавает модель, которая проверит все фреймы на форме, относящиеся к TModel и вскроет их данные, а так же перехватит фомру редактор и назначит действие 3. пока кривенько но что то типа - на присланной форме ищется модель и инициализируется в пункте 4 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 4. ищю вьюшку (ну у меня девэкспресс , но можно и на любом гриде отловить его источник) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. дофига кода там уже может чо и упустил.. ну в общем общая идея Создал фрейм, сказал ему что он наследник и при вызове он проинициализируется, сколько бы на форме таких фреймов не было, а они в свою очередь лукапятся все к тому самому датамодулю. Для разраба в конечном итоге - только соблюсти последовательность..точнее да же - просто правило - относледоваться от модели и интерфейса, то же самое с формой редактором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 13:52 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm2. Вьюшка ни чем не лучше того же запроса с точки зрения производительности, лишь меньший код в QueryОшибаешься. Это уже однажды скомпилированный запрос, со статистикой, готовым планом исполнения, хинтами и индексами и прочими внусностями. А в кверике - просто запрос среди других запросов, как правило, новьё для СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 13:56 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, никаких проверок пока нет, просто пробую, по этому на возможные исключения пока - пофиг, да и собственно, этот механизм не заставляет весь код так работать, это сработает только в случае особого вызова создания формы , можно оставляя текущее - писать и иначе , классически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 13:59 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Gatorkill_zdm2. Вьюшка ни чем не лучше того же запроса с точки зрения производительности, лишь меньший код в QueryОшибаешься. Это уже однажды скомпилированный запрос, со статистикой, готовым планом исполнения, хинтами и индексами и прочими внусностями. А в кверике - просто запрос среди других запросов, как правило, новьё для СУБД Да, согласен, погорячился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:00 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdmGatorпропущено... Ошибаешься. Это уже однажды скомпилированный запрос, со статистикой, готовым планом исполнения, хинтами и индексами и прочими внусностями. А в кверике - просто запрос среди других запросов, как правило, новьё для СУБД Да, согласен, погорячился. Но и плодить вьюшки то же желание особо нет. На мой взгляд они хороши для различных отчетов и т.д., это все то же остается в силе, как и различные триггеры и ХП, я просто заморчоился именно отображением и минимизацией нагрузки ну и плюс мне очень понравилось как лукапы можно юзать в форме радакторе ограничаваясь не сложными INSERT а одним лишь POST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:02 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdm, А не надо плодить. Они хороши для редко меняемых справочников и т.п. Никто не требует иметь справочник ВСЕХ фамилий/имен в базе. Это лишь частичные аттрибуты. Вот что есть у неизменное у сущности Человек? Есть лишь дата рождения, место рождения, мама/папа (тоже Человеки мб неизвестные ) всё остальное - от лукавого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:14 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorВот что есть у неизменное у сущности Человек? Генокод. GatorЕсть лишь дата рождения, место рождения, мама/папа (тоже Человеки мб неизвестные ) Всё это вполне может измениться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:17 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorВот что есть у неизменное у сущности Человек? Есть лишь дата рождения, место рождения, мама/папа (тоже Человеки мб неизвестные ) всё остальное - от лукавого.Неизменное разве что имя. Остальное может быть неизвестно и не навсегда. Да и имя может поменяться, н-р было неправильно записано на слух. Особенно иностранное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:17 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerВсё это вполне может измениться.Типа машина времени и кибер производство? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:25 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorТипа машина времени и кибер производство? :) Типа эти данные берутся из документов со всеми вытекающими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:33 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarer, Я о том, что документы, имена могут меняться в отличие от генокода. Но что такое генокод и как из него ключ сделать? Вот я и говорю, что нужен свой уникальный ID, который и вести всё время существования сущности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 14:57 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
kill_zdmedruzenko, Вы абсолютно в этом уверены? Извините, что спрашиваю, лично не проверял, мне нужно мнение - кто реально исследовал. Вот смотрите, допустим мне необходимо получить данные из связанных таблиц в кол-ве 10+ , т.е. 10+ Join, тут и запрос громоздкий ну это ладно и к СУБД напряг + нагрузка на сеть, а если уже вскрыты данные из этих таблиц, которые будут лукапиться и они в ОЗУ живут, разве это не быстрее произойдет ? Я просто рассуждаю, не уверен абсолютно )) ну как вариант можно держать локальную базу, в которой справочники будут реплицированы целиком, а рабочие таблицы - в части интересной с точки зрения текущего процесса. Так и джойнить можно. И сеть лишними данными теоретически не напряжется. И серверу дышать полегче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 15:04 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakovну как вариант можно держать локальную базу, в которой справочники будут реплицированы целиком, а рабочие таблицы - в части интересной с точки зрения текущего процесса. Так и джойнить можно. И сеть лишними данными теоретически не напряжется. И серверу дышать полегче. Например я так и делаю. Всякие справочники, НСИ, актуальные формы/бланки храню в отдельной базе. Серверу легче не становится, но базу сопровождать легче. И ясна ответственность за целостность - в центре или в локациях собаки порылись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 15:23 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Gator, мне показалось что центральная идея первого поста - отказаться от SQL как средства соединения данных рабочих и справочных, а соединять на клиенте, причем за счет пробегания по выгруженным предварительно из базы наборам данных. С тем чтобы минимизировать нагрузку на сеть и сервер. Это может быть эффективно и безопасно, или не очень, в зависимости от конкретной ситуации, от регламента бизнес процессов, объема и количества справочников, их волатильности, критичности работы по немного устаревшим версиям. Мне кажется, что отказываться от SQL не стоит, а если очень хочется убрать нагрузку на сеть и сервер, можно делать это за счет неполной репликации. Но может я и недостаточно вник в идею автора, и в чем ее новизна. И к чему там фреймы и интерфейсы? может и не понял. тогда сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 15:43 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorВот я и говорю, что нужен свой уникальный ID Согласен. Я ещё не встречал хорошего естественного ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 16:08 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerGatorВот я и говорю, что нужен свой уникальный ID Согласен. Я ещё не встречал хорошего естественного ключа.Встречаются, но они всё равно по своей сути примерно соответствуют искусственным и время от времени возникает (нездоровое) желание их "потрогать" (в т.ч. изменить). Так что проще не париться и на этапе проектирования втыкать везде искусственные, с годами это начинаешь делать уже автоматом, увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 17:54 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerЯ ещё не встречал хорошего естественного ключав основном по жизни чаще юзал суррогаты а вот для лоры не стал, задействовал как есть appeui/deveui ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:04 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамс годами это начинаешь делать уже автоматомда уж, прям некоторое насилие над собой пришлось применить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:05 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Простите меня тёмного, но что (кто?) такое лора? Палмер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:37 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:40 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамПростите меня тёмного, но что (кто?) такое лора? Палмер? Разве ты не знаешь, что vavan - сотрудник компании Semtech, которая разработала для IBM Research технологию Энергоэффективных Сетей Дальнего Радиуса Действия — LPWAN (Low-Power Wide-Area Network)??? ... Часто лорой называют или одну из трех вещей, или все сразу: 1. Низкий уровень: LoRa - технология и метод модуляции. Т.е. физический уровень. 2. Повыше: LoRaWAN - протокол для сетей /с особыми характеристиками - емкость (до 1М устройств в одной сети), радиус действия ( до 10-15км на открытой местности), низкое энергопотребление/. 3. Совсем высоко LPWAN (см. выше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:50 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Помните - Вернон Виндж все время мусолит тему локальных сетей, построенных на основе массы автономных модулей, со слабыми сигналами? Вот тут то же самое, только лучше, но не модули пока летать не умеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 18:54 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамс> Так что проще не париться и на этапе проектирования втыкать везде искусственные, с годами это начинаешь делать уже автоматом, увы. Вот и я о том же. Всё в мире изменчиво и связи приходится строить через линковочные таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 21:22 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerGatorВот я и говорю, что нужен свой уникальный ID Согласен. Я ещё не встречал хорошего естественного ключа. ИНН ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 22:13 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
MsGunssoftwarerпропущено... Согласен. Я ещё не встречал хорошего естественного ключа. ИНН Во-первых, ИНН никаких не было до 94го. И у многих ФЛ его нет до сих пор. Например, я ИНН получил по слезной просьбе бухгалтера всего года два назад. Во-вторых, ИНН могут и отменить, давно собираются - вместо СНИЛС, ИНН, № паспорта и т.п. В третьих, какой смысл выдумывать, когда суррогатный ключ решает все проблемы, причем - единообразно? Уже давным-давно обсудили, в разных местах: http://www.ibase.ru/natural-keys-versus-atrificial-keys-by-tentser/ "Естественные" колючи имеют единственное оправдание - человек почему-то не хочет разобраться с SQL. Ну или, как тут 21926604 - явную лажу делает, "лукапы"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 22:30 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 22:31 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
ёёёёё, где я и где вышеназванные, но суть в том что deveui/appeui там естественные уникальные 64-битные айдишники/ключи и суррогатные не нужны. и это разумеется не единственный случай, но порой удобнее таки с суррогатными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 09:49 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
ёёёёёявную лажу делает, "лукапы"а лукапы да, люблю и юзаю где уместно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 09:50 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorИли у железок?у железок-то вполне бывает, а у собачек все впереди и может раньше чем думается. недавно был в грузии, так там в тбилиси практически не встречались нечипированные собаки на улицах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 09:53 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
MsGunsИНН Слышал о случае, когда ИНН оказался совпадающим, и его пришлось менять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 10:04 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
MsGunsИНН О, да. У кучи людей его нет, зато уже давным-давно есть прецедент, как двум людям выдали одинаковый ИНН. Просто замечательный ключ, образец того, почему естественные ключи - в топку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 10:39 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavanGatorИли у железок?у железок-то вполне бывает, а у собачек все впереди и может раньше чем думается. недавно был в грузии, так там в тбилиси практически не встречались нечипированные собаки на улицахНе бывает ИНН. Представь, собакин или железо платят налог... А вот у людей подобная инфа встречается сплошь и рядом. Номера чипов в разных странах - разные форматы, структура. И сами чипы могут переставляться, портиться... Клеймо (тату) - на всю жизнь, но с возрастом может не читаться на собаке Или вот ситуация: У 1-го владельца три собаки. Или собака в совладении у трёх владельцев. Там такая паутина связей может быть, никакие естественные ключи не спасут. С грузами вообще жесть. Владения, назначения, условия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:09 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorНомера чипов в разных странах - разные форматы, структуракогда речь о принципиально разных стандартах то разумеется кто во что горазд, я же привел лишь один пример международного стандарта где у-во естественным образом идентифицируется глобально уникальным номером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:25 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan> у-во естественным образом идентифицируется глобально уникальным номером А это каким-то образом гарантируется (я не в курсе, интересуюсь)? Или как MAC? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:31 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, производители чипов присваивают непересекающиеся айдишники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:40 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan, нуу... У холодильников MAC может быть... А у пылесосов со стиралками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:46 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 15:51 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan, "достаточно передебажить и перефронтланивать" (me) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 20:55 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerкак двум людям выдали одинаковый ИНН Мне в прошлом выдали два разных ИНН :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2019, 04:46 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan> производители чипов присваивают непересекающиеся айдишники Производителей, наверняка, много больше одного, и я бы на эту непересекаемость (и тем более уникальность) не полагался. В любом случае, это до первого "залёта". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 10:08 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, мне сложно представить нормального производителя к-й позволит себе использовать чужие айдишники т.к. с ним просто не станут работать, так что "залет" пожалуй возможен лишь для их у-в в мусорную корзину. как и если в своем адресном пространстве дублеров умудрятся создать, работать сможет лишь одно да, чуть было не забыл. порой можно не вводить суррогатные ключи даже если нет подходящего естественного, потому как сама среда хранения может предоставлять естественным образом уникальные ключи, как например rowid в оракле. у них конечно есть определенные минусы но для некоторых применений вполне могут оказаться подходящими ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 11:01 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievМне в прошлом выдали два разных ИНН :) Угу. Я в своё время писал для бюро кредитных историй алгоритм, который решал "правда ли, что Вася Пупкин, пришедший за кредитом в банк А, и Пупа Васькин, пришедший за кредитом в банк Б, один и тот же человек или разные". Там мнооооого весёлого было, особенно с учётом последствий неверного решения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 11:06 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan> мне сложно представить нормального производителя vavan> к-й позволит себе использовать чужие айдишники Я не в теме, но почти уверен, что это может быть и ненамеренно. vavan> как и если в своем адресном пространстве дублеров vavan> умудрятся создать, работать сможет лишь одно Ну MAC-и ведь дублировали. И тоже не "назло соседу". > да, чуть было не забыл. порой можно не вводить суррогатные > ключи даже если нет подходящего естественного, потому как > сама среда хранения может предоставлять естественным образом > уникальные ключи, как например rowid в оракле. Не, нельзя. Этьо anti-best-practice. C некоторой натяжкой можно сказать, что СК можно не вводить там, где он... гм... "не требуется" - тупо всякие логи/архивы плоско складируются без ссылок, например, но и там ИМХО лучше ввести для перестраховки, чтобы не пришлось довводить в будущем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 11:39 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустампочти уверен, что это может быть и ненамереннонечаянно использовать чужой идентификатор организации? ну не знаю, на практике не сталкивался но как с этим поступать если вдруг произойдет написал выше Гаджимурадов РустамMAC-и ведь дублировали. И тоже не "назло соседу"ну здесь не маки. и если кто накосячит то просто сам за это поплатится по сути, в конкретной лора-сети таких у-в не будет Гаджимурадов РустамНе, нельзя. Этьо anti-best-practice кому может и нельзя, а кто и сам себе best practice определяет Гаджимурадов РустамC некоторой натяжкой можно сказать, что СК можно не вводить там, где он... гм... "не требуется" - тупо всякие логи/архивы плоско складируются без ссылок, например, но и там ИМХО лучше ввести для перестраховки, чтобы не пришлось довводить в будущемместами и без натяжки ибо место лишнее СК занимает будучи не нужным, а многолетнее использование без него (например для хранения не только скажем логов но и десятков миллиардов записей первичных тарификационных данных) показывает что это вполне подходящее решение и поводов для доводки в сторону введения СК нет и не предвидится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:13 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavan> в конкретной лора-сети таких у-в не будет Если они вдруг попадутся одновременно? Так это вовсе необязательно. > кому может и нельзя, а кто и сам себе best practice определяет Кому и кобыла невеста, да. Всякие "уникальные ключи" есть много где, по такой логике можно было бы вообще СК не юзать. В таких клинических случаях лучше уж тогда на date-time UK повесить (не обусловленный задачей, конечно). > ибо место лишнее СК занимает будучи не нужным Блин, я даже хотел выше написать, что "на спичках не экономят", но не стал, потому что очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:29 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
vavanкому может и нельзя, а кто и сам себе best practice определяет Помнится, один такой самостоятельный товарищ написал - я, мол, выбрал такой путь, что меня ждёт? Я ему ответил: "Представь себе, что по экватору Земли через каждые пять метров лежат грабли. Так вот, тебя ожидает кругосветное путешествие". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:48 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Василий 2Слышал о случае, когда ИНН оказался совпадающим, и его пришлось менять softwarerзато уже давным-давно есть прецедент, как двум людям выдали одинаковый ИНН. ИНН не может быть использован для идентификации. 1. Есть ошибки - это рассмотрели. 2. Есть не у всех - тоже рассмотрели 3. Есть филиалы с ведением собственной бухгалтерии, собственными расчетными счетами, правом заключения договоров, но имеющие единый ИНН с головной конторой. 4. Муниципалы. Похоже на пункт 3, но там на одном ИНН могут сидеть не филиалы, а полноценные организации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:48 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам> Всякие "уникальные ключи" есть > много, по такой логике моно было бы вообще СК не юзать. > В таких клинических случаях лучше уж тогда на date-time UK > повесить (не обусловленный задачей, конечно). Это относится к сказанному про rowid, конечно же, а не про ЕК. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 13:54 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЭто относится к сказанному про rowid, конечно же, а не про ЕК. Ну, про rowid можно сказать очень просто - он годится как ключ для временных данных, не представляющих сколько-нибудь заметной ценности, и только для них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 14:13 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarer> и только для них. Именно. Да и для них не очень годится. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 15:38 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Ну... Для внешних данных типа ОКАТО вполне сгодятся их ключи. Мы ж не правим там ничего. Но вот в разных странах, в разных системах всё по разному. Приходится придумывать свою "ключницу", отличную от https://ru.wikipedia.org/wiki/Общероссийские_классификаторы_технико-экономической_и_социальной_информации Например, чтобы понять, что "Английский канал" и "Ла-Манш" это одно и то же. Впрочем, есть SOLAS, IMO и тёмный лес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 16:32 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
GatorНу... Для внешних данных типа ОКАТО вполне сгодятся их ключи. Угу. До тех пор, пока от Центробанка вдруг не приезжает "Ой, мы ошиблись, БИК этого банка не такой-то, а сякой-то" (реальный случай). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 17:22 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
softwarerGatorНу... Для внешних данных типа ОКАТО вполне сгодятся их ключи. Угу. До тех пор, пока от Центробанка вдруг не приезжает "Ой, мы ошиблись, БИК этого банка не такой-то, а сякой-то" (реальный случай).Ну... центробанки не указ Diners Club'у. Но вот другой пример. Наконец-то у нас тута телефонные номера можно передавать между операторам связи (а ля X.75) Вот тел.номер (20 символов - X.121). Вот издеваться над ним можно как хочешь в своей сетке. Хоть укорачивать, хоть с восьмёрки начинать, хоть с кода региона... В своём пространстве. И на нём строить свои внутренние ключи. Но вдруг при передаче другому оператору эти ключи идут лесом. У другого оператора свои страны и свои номера. Пример: 8916xxxxxxx +7916xxxxxxx +4759xxxxxx +479xxxxxxx 0211 4082 4082 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 20:43 |
|
||
|
Как скопировать поля из одного Query в другой ?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЕсли они вдруг попадутся одновременно?не могут быть зарегистрированы в сети с одинаковыми айдишниками, я контролирую Гаджимурадов РустамВсякие "уникальные ключи" есть много гденаверняка, я и говорю что вот лишь единственный пример привел, только здесь не в кавычках, а по стандарту, если кому это о чем-то говорит конечно Гаджимурадов Рустам"на спичках не экономят"да на чем только не экономят, вы просто видимо не в курсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2019, 10:31 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039235]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
114ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 434ms |

| 0 / 0 |
