0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 10
|
|
1 | |
По структуре БД12.12.2014, 21:25. Просмотров 307. Ответов 5
Метки нет Все метки)
(
Всем доброго времени суток.
Сегодня мне задали вопрос, на который я не знаю ответа. Вопрос такой: есть, скажем, социальная сеть. Там есть пользователи, у них есть фотографии, на каждой фотке может быть отмечено несколько человек. Как организовать структуру базы данных? Я не придумала ничего лучше, чем хранить список пользователей, относящихся к данной фотке, в текстовом файле на сервере, а ссылку на файл хранить в БД. Но, кажется, это не то, что было нужно. Ну да, я чувствую, что должно быть более элегантное решение.. тем более что мне сказали, что это стандартная задача. Кто что посоветует? И кстати, действительно ли это моветон - хранить какие-либо списки в файле, когда есть БД? (Просьба тапками не бить, раньше работала программистом PHP, но начальство никогда мой код не смотрело, ему главное было чтоб работало.)
0
|
|
12.12.2014, 21:25 | |
Изображение в структуре
string в структуре О структуре фреймворка |
|
182 / 182 / 83
Регистрация: 18.02.2014
Сообщений: 865
|
|
13.12.2014, 11:26 | 2 |
Зачем текстовым файлом усложнять себе жизнь?
Есть фото, есть x,y . Пользователь выберает на фото место где обозначен он(к примеру). X и Y, через ajax/js/jqyery куча вариантов как это сделать, записываются в БД. После чего когда будет запрос к этой фотке, выведутся X и Y, где будет всё отмеченые лица.
0
|
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 10
|
|
13.12.2014, 13:54 [ТС] | 3 |
xpoince, может я плохо сформулировала вопрос. В том-то и дело, что у каждого пользователя образуется список фоток других пользователей, на которых он отмечен. Или - про ту же инфу можно сказать, что у каждой фоты образуется список пользователей, отмеченных на ней. Вопрос именно в том, как хранить в БД эти списки.
В целом предложенное мной кондовое решение выглядит так: таблица пользователей в БД (т е обычная таблица типа 'ID', 'name', ...), там же в таблице лежит ссылка на директорию, в к-рой хранятся фотки данного юзера. Для каждого юзера своя директория - так решается вопрос с тем, как хранить список фоток, принадлежащих юзеру, заодно и сами фотки. Но есть еще список фоток, на к-рых он отмечен - и это по своей природе список, не число, не строка, не директория. Я предлагаю просто записать его в текстовый файл и ссылку на файл хранить в той самой таблице пользователей. Или - альтернативно - к каждой фотке, лежащей в директории на сервере, прилагать список-файл людей, отмеченных на ней. Вот так у меня получилось, имея мощную базу данных, уйти от нее к пещерным методам хранения инфы в текстовых файлах (и при необходимости вытаскивать ее из этих файлов средствами php). Все потому, что я не могу придумать, как хранить в БД тип данных "список". Что-то здесь не так ведь!
0
|
182 / 182 / 83
Регистрация: 18.02.2014
Сообщений: 865
|
|
13.12.2014, 14:09 | 4 |
Ну я бы не парелся и организовал всё в БД
user - пользователи contnt - фото и всякое photo - ид с фотками и какиминебуть пораметры если надо photo_user - тут хранил бы ID пользователя и ID фотки( content) photo_user_mark - тут хранилбы ID пользователя, чья фотка, ID пользователя который указан на фото и ID фото и всё ясно понятно )
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
||||||
13.12.2014, 14:16 | 5 | |||||
любая таблица в реляционной базе данных и есть список. Так что нужно меньше придумывать, там где все уже придумано.
0
|
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 10
|
|
13.12.2014, 14:52 [ТС] | 6 |
ads, спасибо за подробнейший ответ!
Действительно, вот оно наконец элегантное решение. Да, мне стыдно, но моя проблема была в незнании такой прекрасной вещи, как foreign key. Спасибо, что познакомили меня с ней )
0
|
13.12.2014, 14:52 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. ошибка в структуре Сортировка в структуре Поиск в структуре выборка по структуре Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |