Я пробую свои силы в google appengine и использую хранилище данных с php и quercus.
Я не знаком с Java или Python, поэтому здесь происходит много обучения. У меня рендеринг страниц, и я могу получать данные в хранилище данных и из него.
Приложение, которое я создаю, содержит пользователей, группы, темы и комментарии.
В группе есть пользователи, и пользователи могут принадлежать нескольким группам.
Когда пользователь входит в систему, я отображаю группы, членами которых он является, и темы этих групп.
У меня сейчас есть встроенный MySql, и теперь я выясняю, как включить его в appengine.
На мой взгляд, группа - это родитель, у которого есть темы, а пользователи - дети. Темы есть комментарии, как дети.
Однако мне нужно получить группы, к которым принадлежит пользователь, когда пользователь входит в систему. Поэтому я думал об отдельной родительской сущности, которая хранит информацию о пользователе, контакте и имени входа, и у этого пользователя будут дочерние элементы, содержащие идентификатор группы, к которой принадлежит каждый пользователь, чтобы я знал, какие группы выбрать.
Пользователи - дети группы, поэтому я могу отображать всех пользователей группы, но, возможно, есть более эффективный способ сделать это.
Как это
Groups(EntityGroup) - GroupName, Owner
↳ Topics - TopicName, Content, Owner
↳ Comments - Comment, Owner
↳ Users - userid
Users(EntityGroup) - userName, email, password
↳ userGroup - groupid
Затем, когда пользователь входит в систему, логика выглядит следующим образом
SELECT groupid FROM Users where password=hashofpassword+uniqueusername
foreach(groupid as group){
SELECT users from group;
SELECT topics from group
foreach(topicid as topic){
SELECT comments;
}
}
Причина, по которой я смотрю на это так, заключается в том, что, когда пользователь входит в систему, я не могу очень хорошо просматривать каждую группу для пользователя, и я бы хотел хранить информацию для входа только в одном месте.
Пожалуйста, не рекомендуйте меня в документации по code.google.com, так как я уже проходил это много раз, но не до конца понимаю, что происходит с appengine.
также, как я описал выше правильный способ визуализации хранилища данных? Я думаю, что визуализация данных - это борьба, которая может вызывать некоторые проблемы.