Показать сообщение отдельно
Старый 05.10.2007, 00:54     # 12
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
Извините что пропал, но это я ковыряю в свободное от остального время
Сделал Б с уникальным индексом по всему Б и через ON DUPLICATE KEY UPDATE. Протестил, вроде работает как надо.

2 Aeon
Б - самый нижний слой базы. Там только информация (числа) и индекс который увеличивается. Каждое значение в Б уникальное (комбинация). Вся остальная база обращается только к индексу.

Сейчас пытаюсь нарисовать структуру в этом. Общая цель чтобы если дается та инфа что уже в таблице есть то вытащить пользователю просто линк на нее из А. Насколько я понял это норма 1.

В этом и заключается значение А. Там только индексы на Б и подобные, время (уникальный ключ по всем). Кроме того есть обычный индекс с увеличением и линк (23х значное число, для линка пользователю). Индекс чтобы не таскать это здоровое (медиуминт).

А и Б скорее всего как и предложил Saruman m:n.
Но у меня не получается вытаскивать уже существующий линк тогда.
Если я иду с низу (Б), то когда я подхожу к свойной таблице АБ у меня есть все что нужно чтобы писать в нее от Б. Но у меня нет индекса из А.
Писать в А я не могу так как у меня нет значения для Б.
В 'А' я должен записать уникальное число из АБ которое будет вести на много уникальных значений Б.

Таблица АБ выглядит как в посте от 29.09.2007, 20:09. При этом композитный ключ будет уникальным (AB_id, B_id).

В общем проблема найти (если существует то не создавать новый, а дать id) или создать в АБ ключ для А (а не наоборот )

Найти А сложно, он не уникальный в АБ, и их непостоянное количество.

Тогда можно попробовать сделать через хэш. Вариант Б от Saruman
Можно это сделать через таблицу куда писать хэш значений Б. Если хэш даст коллизию то будет плохо. Не знаю насколько быстро работает md5, но в худшем случае туда пойдет 180 интов.


Если писать новый А каждый раз то все работает хорошо, но будет создаваться новый линк.

Off:
Я понимаю что вопросов много , но я нашел 2 книги и в них почти ничего нет именно про дизайн дб. По 1му примеру похожему на пример с манов мускула в сети. А больше спрашивать негде .
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума