![]() |
|
Модераторы: LSD |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Нужно организовать хранилище для набора объектов имеющих общую природу, но разные наборы дополнительных атрибутов.
У меня есть хранилище ключей - я точно знаю ID ключа, его владельца и название - остальные параметры мне заранее не известны . Там может быть токен, два токена, пароль или даже фотография сетчатки глаза - все что угодно и любой структуры. Я так понимаю похожим образом храниться информация в Facebook Graph API. Каждый объект может иметь уникальный набор параметров, не считая самых необходимых вроде ID. Первое, что приходи в голову для организации такой структуры - это реляционная база данных в отдельной ячейки которой храниться XML документ с пользовательскими атрибутами, но мне кажется это очень по "деревернски". Подскажите пожалуйста, что может быть лучше и в каком вообще направление стоит копать по этому вопросу? |
|||
|
||||
| password |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 23.9.2008 Где: Украина, Сумы Репутация: нет Всего: 8 |
Я бы попробовал так:
Основная таблица (шапка) - ID объекта - Какие то общие параметры для всех объектов Таблица для строковых данных (DATA_S) - ID объекта (для связи с основной таблицей) - Par - параметр - Параметр типа varchar Таблица для данных типа Date (DATA_D) - ID объекта (для связи с основной таблицей) - Par - параметр - Параметр типа Date Таблица для числовых данных (DATA_N) - ID объекта (для связи с основной таблицей) - Par - параметр - Параметр типа Numeric И создается справочник (можно программно), например: Объект записная книжка: Параметр (Par) | Название | тип FIO | ФИО | varchar D_rozd | Дата рождения | date tel1 | № телефона | numeric ..... И в зависимости от типа параметра в справочнике - записывать информацию в соответствующую таблицу: FIO -> DATA_S D_rozd -> DATA_D tel1 -> DATA_N |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Уже обсуждалось десятки раз
гуглить: разреженные матрицы, EAV - это для реляционных БД или же искать документооринетированные БД (CouchDB, MongoDB и т.д.) -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |