2011-03-21 4 views
0

J'écris un petit morceau de code pour enregistrer les actions des utilisateurs sur un kiosque, et j'apprécierais de faire un retour sur mon schéma SQLite prévu.Schéma de base de données pour l'analyse

Fondamentalement, j'essaie d'imiter Google Analytics. Le kiosque est très similaire à l'analyse de pages Web, mais j'inclus une action de "onScreenInteraction". Où les utilisateurs peuvent interagir avec des produits ou des informations, et nous voulons enregistrer quelles informations ont été accédées.

Une table de session utilisateur ressemblerait

* id :int 
* kioskId :int 
* startTimeStamp :time 
* endTimeStamp :time 

Et la table d'action de l'utilisateur ressemblerait

* sessionId :int (FK) 
* actionStart :time 
* actionEnd :time 
* actionType :varchar 
* actionDetail :text 

cela devrait nous l'espérons enregistrer tous les détails nécessaires pour tracer des graphiques, ne hésitez pas à déchirer en lambeaux si je suis loin de la piste. Je n'ai pas encore implémenté d'analytique personnalisée, donc je me sentirais rassuré par mes commentaires.

Répondre

1

Votre table d'action utilisateur permet une seule action. Il doit y avoir un identifiant sur la table d'action de l'utilisateur.

Comment identifiez-vous un utilisateur? Vous ne risquez pas d'obtenir l'endTimeStamp, car un utilisateur de kiosque peut simplement s'en aller.

Comment obtenez-vous l'horodatage actionEnd? Dans le cas contraire, la conception de votre table vous donnera l'impression que vous pourrez compter le nombre d'utilisateurs et d'actions. Je ne suis pas sûr que vos données d'horodatage soient suffisamment précises.