2016-03-21 5 views
0

Вот проблема, которую я пытаюсь решить:Сохранение структуры данных в базах данных SQL

Мне нужно создать базу данных, способную хранить данные и userpost данных. Среди прочего, каждая запись в таблице пользователя должна отслеживать ряд атрибутов post, которые мы определили, что пользователю нравится. Для каждого сообщения мне нужно сохранить список атрибутов, связанных с сообщением.

Я бы хотел использовать связанный список для отслеживания атрибутов post и хеш-таблицы для отслеживания понравившихся пользователей (я буду делать много "для каждого атрибута этого сообщения, проверьте, нравится ли ему это" ?). Проблема в том, что я не знаю, как сохранить эти структуры данных в реляционной таблице. Возможно ли что-то подобное? Если нет, можете ли вы предложить предложения по альтернативным реализациям?

ответ

1

Я поговорю конкретно о базах данных SQL, потому что у меня есть немного больше опыта с ними, чем с другими базами данных.

База данных SQL имеет по существу одну структуру данных: таблицу. Вы действительно do not хотите использовать таблицы для реализации связанных списков или хеш-таблиц. И вы не хотите хранить связанные списки или хеш-таблицы в базе данных.

Проблемы, которые заставляют вас использовать связанный список (управлять неограниченной памятью?) Или хеш-таблицу (быстрый поиск?), Уже позаботились люди, которые разработали и построили системы управления базами данных.

Так что вам просто нужно построить правильные столы. Вы обнаружите, что таблицы зданий просты, но их правильное построение может быть далеким. Google - ваш друг.

+0

Похоже, что мои варианты того, что я могу хранить в SQL dbs, примерно эквивалентны примитивным типам данных, например. целые числа, поплавки, символы. Я должен использовать их (разумно) и доверять тому, что материал, происходящий в фоновом режиме, позаботится о том, чтобы сделать его быстрым? – Adam

+0

Более или менее. Но Postgres имеет [богатый набор собственных типов данных] (http://www.postgresql.org/docs/current/static/datatype.html). –

Смежные вопросы