IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Merise Discussion :

un peu d'aide pour la création de ma bdd


Sujet :

Merise

  1. #1
    zzozo32456
    Invité(e)
    Par défaut un peu d'aide pour la création de ma bdd
    Bonjour à tous, j'espère être au bon endroit pour poster.
    voila je suis débutant en info et dans le cadre d'un stage on m'a donné un petit projet à réaliser et je ne sais pas trop comment m'y prendre.
    Je dois réaliser un site qui permettrai à des parents voulant inscrire leur enfants à l'école de savoir en quelques clics dans quel école inscrire leur enfant en fonction de leur adresse. En guise de cahier des charges ont m'a donné cet exemple la: "http://perimsco.paris.fr/perimsco/jsp/site/RunStandaloneApp.jsp?page=schoolsearch"
    Pour la partie visible par l'internaute pas de problème je me suis beaucoup inspiré de ce site.
    En revanche la ou ca coince c'est pour la partie admin. Je ne sais pas trop à quoi ca va ressembler. Je vais avoir une table école qui contiendra une adresse et un type école(maternell elementaire...). Une table avec les différentes rues et pour le reste c'est carrément flou.
    L'admin devrait pouvoir ajouter modifier ou supprimer des écoles ou des rues. Parcontre pour relier une adresse à lécole??? L'idéal serait que l'admin puisse choisir son découpage, soit en triant par numéro paire ou impaire en fonction de rue, soit de tel numéro à tel numéro l'école sera la suivante. En fait je ne sais pas du tout comment m'y prendre et j'ai du mal à imaginer l'ihm.
    Quelques idées les amis???

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 16
    Points
    16
    Par défaut
    Bonjour,
    étant donné qu'il peut y avoir 'n' écoles par rue, je pense qu'il pourrai être utile de créer une table intermédiaire 'adresse' qui contiendra une référence (clé étrangère) vers la table 'rue'.
    De plus, tu pourrais indiquer dans cette nouvelle table le numéro de l'école dans la rue. (En gros cette table contiendra rue 'Des champs' N°25)
    Tu pourras ainsi plus facilement gérer les adresses en les enlevant de la table école (tu dois juste mettre une clé étrangère vers la table 'adresse').

    En fait je ne sais pas du tout comment m'y prendre et j'ai du mal à imaginer l'ihm.
    Si tu dois réaliser un projet complet, tu as une idée du langage ?

  3. #3
    zzozo32456
    Invité(e)
    Par défaut
    Slt Maksim, j'ai effectivement une table adresse dans ma BDD en fait pour le moment j'ai 4 tables mais je n'avais pas détailler pour voir si d'autre solution étaient possible. Exactement j'ai une table école avec un id, un type ecole et une adresse. Une table voie avec id + nom de rues. Une table adresse avec un numéro de rue et en cle étrangere un id voie pointant sur la table voie.
    Et enfin une table adresse_has_ecole qui a comme cle primaire la concatenation des cle etrangere de ecoles et adresse soit un id adresse et un id ecole.
    Pour ce qui est du language je vais tout faire en php et la base de données Mysql.
    Sinon est ce que tu as une idée de comment l'administrateur pourrait s'y prendre pour faire son découpage?
    merci++

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    Bonjour,
    Il faut tout d'abord que tu mette en place la conception de ta bdd
    Je pense que tu trouvera pas mal de doc sur le merise sur internet
    Ensuite tu va devoir mettre en place une partie pour récupérer tes données sur cette dernière et aprés tout ça tu aura la partie ihm qui vient en dernier vu que ce n'est juste que la mise en page de tes données.
    Différencie aussi la partie traitement de données et la récupération et la modification sur la base.
    En gros tu dois faire
    Modéle relationnel (merise) pour la bdd
    Ensuite faire la partie code pour faire les actions sur ta base.
    Puis faire une partie code pour la modification de tes données en live genre un calcul ou une vérification de la validité de tes données
    Puis la partie IHM qui dans ton cas peut être HTML/CSS, .NET, FLASH, SILVERLIGHT, javascript
    Je te conseil le plus simple car si tu n'est pas habitué a ce genre d'exercice évite le langange objet
    Donc pour les langage dans ton cas le mieux serait html/css, sql + php
    si tu veut plus opte pour le javascript mais bon
    Voila histoire de pas prendre de trop mauvaise habitude regarde l'UML si tu veut faire de l'objet et les design pattern mais la on dérive
    En espérantque cela puisse t'aider bon courage et bonne journée
    Pour éviter les doublon tu peut mettre ton champ rue en index unique comme sa tu n'as pas 2 fois le même nom de rue et ne t’inquiète pas pour la casse mysql n'est pas case sensitive

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 16
    Points
    16
    Par défaut
    Je comprends pas bien la table 'adresse_has_ecole' puisque pour moi :
    voie <- adresse <- Ecole suffirai, sauf si il peut y avoir plusieurs école pour une adresse ? Alors ok, il faut une table intermédiaire comme tu l'as fait.

    En ce qui concerne l'administration.
    Pour créer une école il faut donc que l'adresse existe, le mieux est de proposer d'un coté une liste (select en html) contenant la liste des adresses existante (un select * from adresse en mysql) et d'un autre coté la possibilité de créer une adresse.

    Pour créer une adresse, pareil, un champs qui contiendra le numéro de la rue et une liste avec les voies existantes.

    Les tutos php/mysql ne manquent pas. Bonne chance alors

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    et un système d'autocompletion des adresses pour éviter d'avoir un liste de 500 entrée sa serait pas mieux??

    Pour une adresse perso je fait

    tables :
    rue (id, rue)
    ville(id, ville)
    adresse (id, idRue, idville, codepostal, numVoie)

    Le but est de limiter les doublon dans le cas d'un numéros ça sert a rien de le stocker a coté vu que l'id prend la même taille que le numéros donc tu augmente la taille de ta base
    Ensuite je sais que c'est chiant mais les base de donnée sont faite pour sa et le PHP5 gère très bien la chose

    Perso je pense qu'il faut vraiment que tu regarde le merise pour comprendre comment découper ta bdd

    Ensuite pour ce qui est de la mise en page bah tu voit ce que l'admin doit remplir et tu fait au plus simple pour lui

    au pire si tu index les nom de ville et de rue en champ unique si tu les add sur t'a bdd il ne seront pas enregistrer car il sont déjà existent ensuite une tite manipulation d' id et tes enregistrement sont bon

    pour les école tu devrai faire sa

    nomEcole (id, nom)
    le truc des adresse au dessus
    et une table ecole qui contient
    id, idNomEcole, idAdresse
    Les nom écoles peuvent être les mêmes d'une ville a une autres
    il faut juste que tu cible les mot qui peuvent être réutiliser dans d'autres enregistrement pour les mettre dans des tables a part
    sa limite les doublons et les fautes sur les noms (avec l'auto complétion sur l'enregistrement)
    Et en plus ta base sera un peu plus optimiser et plus légère
    moins de données superflu

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par raphdu38 Voir le message
    je ne sais pas trop comment m'y prendre.
    Comme a dit jouana, commence par modéliser tes données. Et puisque tu postes dans la rubrique Merise, commence par faire un Modèle Conceptuel de Données (MCD).

    Je dois réaliser un site qui permettrai à des parents voulant inscrire leur enfants à l'école de savoir en quelques clics dans quel école inscrire leur enfant en fonction de leur adresse.
    S'il s'agit du système français, il existe une (tant décriée et détournée) "carte scolaire" qui définit assez précisément cela. Est-ce ce que tu dois mettre en oeuvre ?

    Il te faut alors d'abord modéliser cette carte scolaire qui met en correspondance des rues (peut-être même des morceaux de rues : "Rue X jusqu'au numéro 120 => école A, à partir du n° 121 => école B" ?) avec des écoles, selon ce morceau de MCD :
    Rue -1,1----Affecter----1,n- Ecole

    Si tu gères plusieurs types d'établissements scolaires (maternelle, primaire, collège, lycée), tu auras plutôt ce morceau de MCD :
    Rue -1,n----Affecter----1,n- Etablissement -1,1----Typer----0,n- Type_etablissement

    Pour la partie visible par l'internaute pas de problème
    Pense quand même que la rue de l'internaute devra non pas être saisie mais choisie dans la liste des rues car une mauvaise saisie entraînerait une réponse avec zéro école !

    En revanche la ou ca coince c'est pour la partie admin. Je ne sais pas trop à quoi ca va ressembler. Je vais avoir une table école qui contiendra une adresse et un type école(maternell elementaire...). Une table avec les différentes rues et pour le reste c'est carrément flou.
    L'admin devrait pouvoir ajouter modifier ou supprimer des écoles ou des rues. Parcontre pour relier une adresse à lécole??? L'idéal serait que l'admin puisse choisir son découpage, soit en triant par numéro paire ou impaire en fonction de rue, soit de tel numéro à tel numéro l'école sera la suivante. En fait je ne sais pas du tout comment m'y prendre et j'ai du mal à imaginer l'ihm.
    Quelques idées les amis???
    Ne mélange pas les traitements (changement d'affectation des rues aux écoles, ajout d'école...) et la modélisation des données (le MCD).

    Bon courage.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    zzozo32456
    Invité(e)
    Par défaut
    cc tout le monde et merci infiniment de votre temps.
    Pour répondre tt d'abord à cinephil, c'est bien une carte scolaire que je dois faire et je me demandais justement comment m'y prendre au niveau du découpage.J'ai chercher un peu sur internet comment c'était fait mais je n'ai pas trouver grand chose.
    C'est même ca plus que le codage qui me pose problème. pour le moment sans rentrer dans la technique du comment je vais coder tout ca:
    a quoi ressemblerait pour vous la partie admin d'un site comme celui dont je vous ai fait suivre le lien? comment le découpage doit être fait quelle options, fonctionnalités seraient disponibles? Qu'est ce que ca doit impliquer sur la base de données?
    Ce dont je suis sur c'est qu'il doit y avoir possibilité d'ajouter et supprimer une école, pareil pour une rue, et qu'au final l'internaute devra pouvoir en fonction d'un numéro de rue et d'un nom de rue avoir la liste des ecoles à laquel il est rattaché. L'admin devra donc definir des secteur et rattache chaque adresse a une ecole mais comment? il ne va pas rentrer un à un pour chaque adresse l'id de l'école correspondante? non?
    Je dois également prendre en compte les compléments de num (bis,ter,quater).
    quelques précisions supplémentaires{
    Je dois gérer plusieurs type d'établissement scolaire donc une adresse peut effectivement dépendre de plusieurs écoles. (J'ai fait un mcd avec dbdesigner avant de l'importer sous mysql).
    J'ai une relation n, n entre ma table école et ma table adresse qui m'a donc créer une table intermediaire adresse_has_ecole.
    Du coté de l'internaute il est obligé de rentrer au moin 2 caractères pour filtrer les rues et à partir de ca je lui affiche sur une autre page les rues commençant par ces lettre si il ny'en a pas il ya un message d'erreur et l'internaute est invité a resaisir un nom de rue. }
    PS: dite moi si je ne suis pas trés clair ou si je ne vous ai pas donné assez d'infos.
    merci les amis^^

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 434
    Points : 654
    Points
    654
    Par défaut
    informe toi un peu plus sur les bdd et leurs fonctionnement
    les triggers par exemple et les vues
    Ensuite la suppression d une adresse commence par la suppression des école rattacher a cette dernière
    Ensuite il n a pas a sélectionner l'id il sélectionne juste une rue et c'est t'on code qui pose l'id a la place
    Le but de nos réponse est de t'éclairer mais pas de te donner la réponse toute faite tu doit trouver par toi même c'est comme ça que tu vas t'améliorer c'est la meilleur manière de comprendre ce que tu fait

  10. #10
    zzozo32456
    Invité(e)
    Par défaut
    merci jouana, mais j'ai du mal m'exprimer car ce n'est pas vraiment le genre de réponse que j'attendais. En meme temps c'est ma faute j'ai peut etre pas posté dans la bonne rubrique du forum
    Le probleme c'est pas vraiment comment je vais gérer la suppression ou la modification mais plutot en gros qu'est ce que je vais devoir gérer comme fonctionnalités et à quoi ressemblerait l'interface qui permettrait à l'admin de découper sa ville en secteur. Et qu'est ce que ca pourrait impliquer au niveau de la base. est ce que tu aurais des idées la dessus?

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    As-tu lu mon message ?
    Tu continues à mélanger les données, les traitements et l'interface utilisateur !

    Ce n'est pas à nous de déterminer les fonctionnalités du logiciel mais à toi en allant recueillir les besoins auprès des futurs utilisateurs et/ou leurs représentants.

    Je t'ai donné un début de MCD qu'il faudra semble t-il que tu modifies puisque tu parles de numéro dans la rue ; apparemment, les secteurs ne sont pas délimités seulement par des rues mais par des tronçons de rues. Il faudrait donc prévoir de tenir compte d'un numéro de départ et d'un numéro de fin dans les attributs de ces tronçons de rues pour pouvoir les associer aux établissements scolaires. Ou alors mettre ces numéros dans l'association.

    Tant que tu n'auras pas modélisé correctement tes données, tu n'y verras pas clair !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. demande d'aide pour la création d'une BDD
    Par RasWisdom dans le forum Débuter
    Réponses: 2
    Dernier message: 16/04/2013, 11h49
  2. Aide pour la création d'un JavsScript
    Par koKoTis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2006, 15h44
  3. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  4. Réponses: 2
    Dernier message: 10/03/2006, 13h55
  5. [Oracle] Aide pour la création d'un trigger
    Par Sonic dans le forum Administration
    Réponses: 14
    Dernier message: 04/11/2004, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo