Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163

Разница двух баз

22.03.2013, 19:00. Показов 1846. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно найти разницу двух баз, структура одинаковая, записей более 15-и тысяч. Надо найти разницу сравнив одну с другой, вы вывести с первой базы разницу со второй и наоборот - какой запрос нужно использовать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2013, 19:00
Ответы с готовыми решениями:

Фильтрация двух баз
SELECT FAM, IM, OT, DOLG FROM DB.DBF, DBD.DBF WHERE DB.DBF.FAM=DBD.DBF.FAM AND DB.DBF.DOLG=DBD.DBF.DOLG Как сделать так чтобы...

Сравнение двух баз (Firebird, MSSQL)
Доброго времени суток! Необходимо сделать так, чтобы данные из таблицы MSSQL сравнивались с данными из Firebird. При наличии...

Поиск и сравнение значений из двух баз Access
Необходимо взять значение из одного столбца первой строки одной таблицы (или базы) и найти его в том же столбце другой таблицы (или базы). ...

18
38 / 38 / 3
Регистрация: 28.01.2013
Сообщений: 123
23.03.2013, 01:51
Какая СУБД?
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 03:06  [ТС]
DBF

Добавлено через 3 минуты
Кидаю на форму компонент Query1 через который и работаю.
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
23.03.2013, 12:55
Откройте таблицы, например, в Excel. Выделите все записи, скопируйте в два разных txt файла.
Потом сравните 2 файла по содержимому. В Total Commander есть такая полезная штука.
0
38 / 38 / 3
Регистрация: 28.01.2013
Сообщений: 123
23.03.2013, 14:00
Т.е. у вас два таблицы. каждая в своем файле DBF?
Сколько полей, есть ли BLOB-поля?
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 15:24  [ТС]
BLOB полей нет. Полей много, но необязательно по всем полям делать, только полей 5-10 максимум

kwinto - не получится потому что база большая и в этих файлах записи могут совпадать примерно так - запись 12345 совпадает с записью 54321 другой базы
0
38 / 38 / 3
Регистрация: 28.01.2013
Сообщений: 123
23.03.2013, 16:22
По каким критериям нужно определять что запись одной таблицы соответствует записи другой?
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
23.03.2013, 17:49
Цитата Сообщение от DrDragoN Посмотреть сообщение
BLOB полей нет. Полей много, но необязательно по всем полям делать, только полей 5-10 максимум

kwinto - не получится потому что база большая и в этих файлах записи могут совпадать примерно так - запись 12345 совпадает с записью 54321 другой базы
1. Вроде Excel 97 открывал 2^16 записей, Вы говорите о 15к.
2. Пишите программную логику. Отбирайте все записи из двух баз и сравнивайте по строкам, по полям, по совпадению и т.д. и т.п.
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 18:02  [ТС]
kpp, например так:
FIO = FIO, DR = DR, MR = MR

если не совпало то так:
FIO <> FIO, DR <> DR, MR <> MR


kwinto, логику писал, но чтобы произвести подсчет уйдет очень много времени, примерно от недели и более чтобы сравнить все записи
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
23.03.2013, 18:19
Я вот чего-то не понимаю. "Стою на асфальте я в лыжи обутый, то ли лыжи не едут, то ли я е....й." (с)
А каких неделях Вы говорите?? Я разве писал о том, чтобы Вы вручную сравнивали 2 базы??
Напишите маленькую программку со своей логикой, где будут сравниваться 2 базы с заданными Вами критериями сравнения, выходными результатами и т.д. и т.п.
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 18:31  [ТС]
Я и говорю что писал, чтобы сравнить 325 548 записей с другой таблицей где 548 323 записи - уйдет очень много времени, это нужно сравнить одно поле с другим, потом следующее поле и так далее... при этом указатель должен будет перемещаться по каждой записи в одной таблице... я не прав?
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
23.03.2013, 18:46
Я не знаю, что Вы имете ввиду, но пишите Вы какую-то ...
Я бы написал маленькую программку, с одной кнопкой "сравнить", параметрами сравнения (сравнивать "с учетом регистра", "подтверждать сравнение строк при совпадении 95%" и т.д. и т.п.) и интерфейсом с выводом полных результов сравнения (сколько совпало, несовпало, показать несовпавшие записи и т.д. и т.п.)
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 18:50  [ТС]
ок, помогите написать - покажите какой запрос мне стоит выполнить чтобы увидеть сравнения
0
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
23.03.2013, 19:07
Гуглите "гетерогенный SQL запрос"
Хотя мой Вариант: "select * from table"
))
0
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
23.03.2013, 19:24  [ТС]
Зачем гуглить - если я спросил. Печаль...
0
38 / 38 / 3
Регистрация: 28.01.2013
Сообщений: 123
24.03.2013, 11:12
Один из вариантов:
Получить записи таблицы TABLE1, которых нет в TABLE2 :
SQL
1
2
3
SELECT T1.FIO, T1.DR, T1.MR
FROM TABLE1 T1
WHERE NOT EXISTS(SELECT 1 FROM TABLE2 T2 WHERE T1.FIO=T2.FIO AND T1.DR=T2.DR AND T1.MR=T2.MR)
Получить записи таблицы TABLE2, которых нет в TABLE1 :
SQL
1
2
3
SELECT T2.FIO, T2.DR, T2.MR
FROM TABLE2 T2
WHERE NOT EXISTS(SELECT 1 FROM TABLE1 T1 WHERE T1.FIO=T2.FIO AND T1.DR=T2.DR AND T1.MR=T2.MR)
Регистрозависимо.
Выполняться будет долго.
Для ускорения можно предварительно построить индексы по полям FIO, DR, MR обеих таблиц.
Еще вариант - выгрузить обе таблицы в файлы и работать уже с двумя текстовыми файлами.
1
 Аватар для DrDragoN
21 / 21 / 3
Регистрация: 09.01.2012
Сообщений: 163
24.03.2013, 12:24  [ТС]
Пробую, как только будет результат = плюсану, спасибо за помощь!

Добавлено через 36 минут
Вроде работает, обработка заняла примерно полчаса, может чуть больше! Но я рад и этому - спасибо!
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
24.03.2013, 14:22
Цитата Сообщение от DrDragoN Посмотреть сообщение
DBF
DBF - это не СУБД и даже не БД, а просто контейнерный формат хранения данных некоей таблицы.
0
38 / 38 / 3
Регистрация: 28.01.2013
Сообщений: 123
24.03.2013, 15:52
Цитата Сообщение от mss Посмотреть сообщение
DBF - это не СУБД и даже не БД, а просто контейнерный формат хранения данных некоей таблицы.
Позволю себе с вами не согласиться.
Базы данных(БД) по типу управления бывают клиент-серверные(КС) и файл-серверные(ФС).
КС БД - всегда работают под управлением системы управления базой данных(СУБД).
ФС СУБД не имеет - это просто структура файлов лежащих на общем ресурсе.
Файлы с расширением DBF исторически являются таблицами формата Clipper, FoxPro, Paradox.
При наличии нативного доступа к таким файлам или с помощью специального драйвера БД или с помощью ушедшей в историю универсальной прослойки для работы с базами данных BDE(Borland DataBase Engine) (утилита администрирования BDE Administrator) можно полноценно выполнять SQL запросы.
Любая БД может состоять из одной таблицы.
БД ФС может состоять из одного файла(т.е. таблицы).
Поэтому любой единичный файл можно назвать "БД" (даже не обязательно DBF).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2013, 15:52
Помогаю со студенческими работами здесь

Разница в подключениях баз данных
Скажите, пожалуйста, в чем отличия подключения базы данных средствами графического интерфейса (т.е. через источник данных -&gt; добавить...

Сайт с базами и без баз данных, какая разница?
Сайт с базами и без баз данных, какая разница? в чем разница и что если у меня нет баз данных на сайте?

Сравнение двух баз
Доброго. Подскажите на диалекте фокса, как можно сравнить две идентичные базы по кол-ву и названием полей, с выводом отсутствующих row в...

Слияние двух баз
Доброе время суток. Народ, возникла проблема следующего плана. Компания решила автоматизировать бизнесс-процессы. Вначале внедрили...

Вывод из двух баз
Всем привет, и хорошего дня!!! Нужно делать вывод из 2х таблиц по значению ClCode CREATE TABLE IF NOT EXISTS `meters` ( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru