Structure BDD pour calendrier réservations
3 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Structure BDD pour calendrier réservations
Bonjour,
Je dois développer une appli qui est un calendrier de réservations.
Ce calendrier indique simplement jour par jour un attribut binaire libre ou occupé.
Le planning est géré sur 2 années glissantes à partir de la date actuelle.
A terme le service devrait gérer jusqu'à 5.000 plannings et on peut penser avoir jusqu'à 10.000 consulations de planning par jour...
Je me pose la question de la modélisation des données en BDD...
Basiquement, on peut faire un enregistrement par date en indiquant la disponibilité, mais cela va donc générer jusqu'à 700 enregistrements par planning. De plus pour chaque consultation, chauqe jour affiché génèrera une requête MySQL ce qui me semble un peu important.
Aussi pour minimiser les requêtes SQL, je pensais enregistrer une chaine de caractères pour chaque année. Dans cette chaine, on retrouve autant de caractères que le nombres de jour de l'année et on associe par exemple la valeur 0 si l'attribut est libre et 1 s'il est occupé. Le premier caractère représente l'état de disponibilité du premier jour de l'année et anisi de suite...
Ceci génère plus de traitements au niveau de PHP, mais minimise les requêtes SQL...
Une solution intermédiaire est aussi de stocker mois par mois plutôt qu'année par année...?
Qu'en pensez-vous?
Y-a-t-il une meilleure solution à laquelle je n'aurais pas pensé?
Merci par avance pour vos conseils
Je dois développer une appli qui est un calendrier de réservations.
Ce calendrier indique simplement jour par jour un attribut binaire libre ou occupé.
Le planning est géré sur 2 années glissantes à partir de la date actuelle.
A terme le service devrait gérer jusqu'à 5.000 plannings et on peut penser avoir jusqu'à 10.000 consulations de planning par jour...
Je me pose la question de la modélisation des données en BDD...
Basiquement, on peut faire un enregistrement par date en indiquant la disponibilité, mais cela va donc générer jusqu'à 700 enregistrements par planning. De plus pour chaque consultation, chauqe jour affiché génèrera une requête MySQL ce qui me semble un peu important.
Aussi pour minimiser les requêtes SQL, je pensais enregistrer une chaine de caractères pour chaque année. Dans cette chaine, on retrouve autant de caractères que le nombres de jour de l'année et on associe par exemple la valeur 0 si l'attribut est libre et 1 s'il est occupé. Le premier caractère représente l'état de disponibilité du premier jour de l'année et anisi de suite...
Ceci génère plus de traitements au niveau de PHP, mais minimise les requêtes SQL...
Une solution intermédiaire est aussi de stocker mois par mois plutôt qu'année par année...?
Qu'en pensez-vous?
Y-a-t-il une meilleure solution à laquelle je n'aurais pas pensé?
Merci par avance pour vos conseils
Vas-y avec un enregistrement par date (insère seulement une ligne si il y a réservation). C'est très simple et tu ne devrais pas avoir de problème de performance car c'est des SELECT simples que tu auras à faire. N'oublie pas de mettre des index sur tes champs.
Je comprend pas trop... Peu importe la solution, chaque chargement de page va engendrer une requête.
Si tu veux récupérer toutes les réservations du mois pour un planning, t'auras juste à faire:
SELECT count(*) FROM reservations WHERE YEAR(la_date)='2007' AND MONTH(la_date)='6';
ps: Même avec 10 millions de lignes la durée typique de la requête mysql devrait tourner autour du centième de seconde dans le cas d'un simple SELECT.
De plus pour chaque consultation, chauqe jour affiché génèrera une requête MySQL ce qui me semble un peu important.
Je comprend pas trop... Peu importe la solution, chaque chargement de page va engendrer une requête.
Si tu veux récupérer toutes les réservations du mois pour un planning, t'auras juste à faire:
SELECT count(*) FROM reservations WHERE YEAR(la_date)='2007' AND MONTH(la_date)='6';
ps: Même avec 10 millions de lignes la durée typique de la requête mysql devrait tourner autour du centième de seconde dans le cas d'un simple SELECT.
J'ai développé un calendrier de réservations en php que l'on peut inclure sur son site perso.
Pour l'essayer, rendez-vous sur http://www.shared-house.com , créez un compte, une location et cliquez sur l'option "Webmaster". C'est gratuit.
Vous pourrez alors copier le code HTML proposé sur votre site web et disposer ainsi d'un calendrier de réservation / disponibilités.
Toutes les fonctionnalités sont expliquées en détail sur cette page:
http://www.shared-house.com/index_booking_calendar.php
Le système permet également de gérer soi-même une liste d'utilisateurs avec 2 profils (profil propriétaire et profil utilisateur simple avec droits restreints) pour le cas des logements de vacances dont l'occupation peut être partagée entre membres d'une même famille ou d'un groupe.
Pour l'essayer, rendez-vous sur http://www.shared-house.com , créez un compte, une location et cliquez sur l'option "Webmaster". C'est gratuit.
Vous pourrez alors copier le code HTML proposé sur votre site web et disposer ainsi d'un calendrier de réservation / disponibilités.
Toutes les fonctionnalités sont expliquées en détail sur cette page:
http://www.shared-house.com/index_booking_calendar.php
Le système permet également de gérer soi-même une liste d'utilisateurs avec 2 profils (profil propriétaire et profil utilisateur simple avec droits restreints) pour le cas des logements de vacances dont l'occupation peut être partagée entre membres d'une même famille ou d'un groupe.
3 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google AdSense Calendar
- Google Sync: Service "push" pour votre calendrier et vos contacts
- Google Calendar API
- Google va déménager
- Google Calendar : un calendrier en ligne gratuit
- Google Code Jam 2003
- Etude statistique de la structure du web
- Google accélère le rythme des mises à jour
- Sortie de GoogleStats v2.01
- Deux nouveaux séminaires référencement
Consultez la description détaillée des produits ou services de Google suivants : Google Code
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum