Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уникальность записи в нескольких базах 
V
    Опции темы
Akella
  Дата 12.3.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 3
Всего: 329



Есть редакция газеты, есть клиенты с филиалами. Везде установлена программа - база по набору объявлений. Филиалы отправляют объявы в свои центральные офисы. Центральные офисы, собрав со всех филиалов объявы, отправляют в редакцию. Как реализовать уникальность каждой записи ВСЕХ баз (всех филиалов и клиентов) так, чтобы записи не пересекались? Выдачу диапазона из поля ID для каждого филиала каждого клиента не предлагать. smile 
В общем при импорте объяв в редакции и центральных офисах должен происходить импорт. При импорте идёт анализ, если такое объявление в базе есть, то новое (пришедшее) заменят старое (хранящееся в базе) иначе идёт тупо добавление.

Firebird 2.0.3, D2007, FibPlus.
PM MAIL   Вверх
Rodman
Дата 12.3.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



как вариант...
выставить процент схожести в тексте сообщения (метод Левинштейна кажется) и если он не привышает, добавляем, иначе сохраняем последний по дате!

Это сообщение отредактировал(а) Rodman - 12.3.2008, 14:02
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Deniz
Дата 12.3.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



Варианты:
1. Добавить поле GUID.
2. Добавить код филиала (+ некоторые настройки импорта), код выдавать как будто идешь по дереву, т.е. ты раздал филиалам (каждому свой), они своим филиалам и т.д.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 12.3.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 3
Всего: 329



думаю GUIDе, чтобы клиентская прога генерировала

Добавлено через 4 минуты и 21 секунду
просто не хочется в базу встраивать UDF, т.к. это затрудняет распространение проги, вот если бы UDF можно было хранить в папке приложения....
PM MAIL   Вверх
Akella
Дата 12.3.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 3
Всего: 329



Вот такой гьюид генерит дельфи: 1F2BFFFB-D0DF-441B-9AF0-FB8439C9A095 по нажатию Shift+Сtrl+G
а как в рантайме получить?

Добавлено @ 14:47
дельфи ругается на CoCreateGuid()

Добавлено @ 14:52
а если использовать что-то вроде: дата + время с милисекундами? Firebird с этим справится легко

Это сообщение отредактировал(а) Akella - 12.3.2008, 15:04
PM MAIL   Вверх
Akella
Дата 12.3.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 3
Всего: 329



ура, подсказали: CreateGUID(g1);
PM MAIL   Вверх
Deniz
Дата 12.3.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 7
Всего: 44



Akella, по GUID посмотри еще вот эту статью


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 13.3.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 3
Всего: 329



 smile спс, но уже почти 90% реализовано, но на будущее буду иметь ввиду smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.