|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Всем добрый день. Выполняю задачу по подготовке БД к слиянию. Есть 6 БД - хотим получить 1 Есть в базе справочник улиц. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Данные для перекодировки делаю с так называемой эталонной базой (BD=0) Есть ХП которая выбирает уникальные значения по полям OBL, ADR, VUL_CAT, NAME Код: sql 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.
Небольшой кусочек данных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Как победить разный регистр в поле NAME я придумал, написал upper(NAME). Но осталась еще одна проблема: Есть названия на разных языках - русский и украинский. Так как работа не стоит, а люди продолжают работать с БД хочу все подготовить и в последний момент обновить таблицы перекодировок. Чуть позже будет добавлено поле NEW_CODE с новым кодом для старых названий, пока вопрос получить правильную эталонную базу Посоветуйте: Если сделать таблицу синонимов - можно ли в ХП встроить подбор Могу сделать таблицу синонимов (вручную), но не понимаю как потом ее прикрутить к ХП. -------------------------- Firebird 3.0.1.32609; IBExpert 2017.2.7.1 Windows 10 32-bit; 4Gb RAM; SSD 512Mb + HDD 1 Tb; Настройки по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:03 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
akrushКак победить разный регистр в поле NAME я придумал, написал upper(NAME).можно и при помощи соответствующего COLLATE. akrushЕсть названия на разных языках - русский и украинский.тут, имхо, нужно заводить таблицу "синонимов". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:10 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Мимопроходящий, Я про это и пишу. Что таблицу синонимов могу сделать. Но не знаю как дальше прикрутить выбор ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:12 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
COLLATE в базе сейчас установлен WIN151_UA. База таблиц перекодировок создавалась вот так: CREATE DATABASE 'DATABASE.fdb' USER 'SYSDBA' PASSWORD '-=CENSORED=-' PAGE_SIZE 16384 DEFAULT CHARACTER SET WIN1251 COLLATION WIN1251_UA; ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:24 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
akrushЧто таблицу синонимов могу сделать. Но не знаю как дальше прикрутить выбор Раз люди работают непрерывно - не парься и тупо сваливай всё в кучу. С дублированиями будешь разбираться потом, по ходу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:39 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovakrushЧто таблицу синонимов могу сделать. Но не знаю как дальше прикрутить выбор Раз люди работают непрерывно - не парься и тупо сваливай всё в кучу. С дублированиями будешь разбираться потом, по ходу. Увы не покатит. Мне нужно подготовить правильную таблицу сразу. Потом не получится т.к. проблема кроется в том что сама БД не Clarion 2.1. Я потом туда доступа не буду иметь. ОЧЕНЬ желательно сражу получить таблицу. Или, как вариант, с дублированиями в Эксель и там ручками :( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:56 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Извините за очепятки. "путаю педали" :) ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 12:59 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Hello, Akrush! You wrote on 14 февраля 2017 г. 13:02:26: Akrush> Я про это и пишу. > Что таблицу синонимов могу сделать. > Но не знаю как дальше прикрутить выборуточни куда именно ты хочешь её прикрутить? если синоним может быть только один, а не несколько, то тупо цепляй LEFT JOIN-ом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:05 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Мимопроходящий, Увы, из примера данных который я прикрепил видно что, не считая правильного названия может быть еще 2 других. Итого: 3 названия = 1 правильное название ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:17 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Думаю сделать таблицу синонимов: CREATE TABLE KLU_SYNONIM ( NAME_GOOD VARCHAR(50), NAME_BAD VARCHAR(50)); Если неправильно - подскажите как лучше. Пошел "курить" Делфи для создания таблицы синонимов :( А потом возможно и обработка ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:18 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Задам вопрос на туже тему но чуть-чуть по другому постановка задачи. Если я создам таблицу синонимов (как писал выше) Заполню ее из скрипта, до внесения данных. Возможно ли в тригере при добавлении записи проверить if new.name=synonim.name_bad then new.name=synonum.name_good В таблице синонимов будут ВСЕ варианты, даже если в БД нет разночтений - будет 1 запись в синониме BAD=GOOD Такое возможно?? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:56 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
akrushМне нужно подготовить правильную таблицу сразу. Потом не получится т.к. проблема кроется в том что сама БД не Clarion 2.1. Я потом туда доступа не буду иметь. Тогда обломись. Слияние даже двух (а у тебя целых шесть) активных баз это долгий итерационный процесс, прерываемый на раздавание люлей пользователям. Так чтобы "раз всё прогнал и наступило счастье" - не бывает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:57 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Можно ли в тригере при проверке значения использовать Select ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 13:59 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
akrush, NAME_BAD это просто пипец какой-то. Обычно делают через ссылку синонима на основную сущность. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:00 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Можно ли делать так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:50 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Просто я хочу разобраться что и как "работает" У меня в NAME вставило всем NULL Понимаю что что-то не так, но не могу понять где. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:52 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Hello, Akrush! You wrote on 14 февраля 2017 г. 14:52:47: Akrush> Можно ли делать так:а если их там не один? а если ни одного? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:53 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
Select в трегере возвращает только 1 значение ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:53 |
|
Как правильно обработать синонимы
|
|||
---|---|---|---|
#18+
С тригером разобрался. Имена приводятся в нормальный вид. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2017, 14:58 |
|
|
start [/forum/topic.php?fid=40&msg=39404193&tid=1561713]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 436ms |
0 / 0 |