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

Schéma Discussion :

Données élémentaires et paramètres


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Données élémentaires et paramètres
    Bonsoir,
    Totalement novice, je travaille en archéologie et me lance dans la création d'une bdd (lithothèque d'échantillons de silex). Je veux utiliser la méthode Merise.
    J'ai fait le dictionnaire des données et souhaite passer à la matrice des dépendances fonctionnelles avant le MCD encore trop flou.
    Je coince complètement sur 2 définitions :
    - donnée élémentaire (n'est pas obtenue par calcul à partir d'autres données, ex. quantité, prix),
    - donnée paramètre (donnée qui ne prend qu'une unique valeur, ex. nom d'une entreprise).
    Je n'ai aucune donnée calculée.
    Quelqu'un pourrait-il, SVP, me donner une définition plus compréhensible.
    Un grand merci par avance.
    Sowane

  2. #2
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut intitulé
    Bonjour,

    je vais faire simple

    donnée élémentaire, c'est un champ de table sans particularité
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ID
    SILEX_NOM
    DATE
    DESCRIPTION <-> champ élémentaire
    Par contre, une paramètre est un valeur fixe qui change peu.
    exemple une TVA...

    je ne comprends pas ta définition ..., elle semble inexacte.

    Cependant en pratique, tu peux faire sans trop te prendre la tête, car ce sont tous des champs (élémentaire, paramètres, calculés, etc ...) on apprend cela à l'école, après on utilise sans se prendre la tête.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  3. #3
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonsoir Olivier,
    et merci pour cette réponse. Je vais réorienter mes recherches vers "champs" au lieu de "données".
    Je sors d'études sciences humaines et je n'ai pas souvenir d'avoir vu ça, c'est très loin en plus.
    Tous les exemples parlent de client, fournisseur, produit, TVA... moi j'ai : prospections, localisation, gîtes, échantillon, roche, étage géologique... rien à voir dans le vocabulaire.
    Pour ma définition elle est recopiée telle que vue sur tous les sites de définitions trouvés mais c'est pas clair.
    Encore merci et bonne soirée, je cherche encore,
    Sowane

  4. #4
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut Logique
    Bonjour,

    Très bien, ce que tu viens de dire.
    On essaye de faire un dictionnaire de donnée, tu sembles déjà avoir catalogué tes entités .
    Il suffit de voir ce que tu mets dedans avec leurs liens.
    On oubli la théorie Merise en Co, on peut réfléchir ensemble
    Un échantillon dépend/est de type roche ? un lien
    il suffit de caractériser l'échantillon (taille, poids, ...)
    roche(nom, description) etc ..
    cette roche se trouve dans la localisation .....
    comprends tu la démarche, après tu mettras un jargon informatique dessus.

    prospections, localisation, gîtes, échantillon, roche, étage géologique

    propections ?
    gîtes ?
    tu as tes entités ( tables ) ....
    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  5. #5
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut prépa dico des données
    Bonsoir Olivier,
    J'ai suivi tes conseils, j'ai tout repris aujourd'hui et me permets de te soumettre où j'en suis ce soir.
    En fait, j'avais de suite commencé un MCD mais tout allait de travers car je n’avais pas compris la démarche.
    J’ai compris qu’il fallait bien tout préparer avant. C’est ce que je tente de faire à présent avec ce dictionnaire des données.
    Mes entités sont à peu près définies (7).
    J'ai formalisé les liens que je vois entre mes entités (je mets de côté pour le moment les attributs).
    Je joins 2 fichiers :
    - exel : feuille 1, tri entre données élémentaires et paramétrées mais je ne suis pas sûre de mes choix, la différence élémentaire/paramétré est encore floue
    - word : liens entre entités, formulés par des phrases en français sans penser informatique.
    Je te remercie par avance si tu avais un peu de temps pour survoler tout ça.
    Sowane

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Est-ce qu’on peut résumer en disant que pour chaque gîte, il y a des bacs à étages avec des échantillons rangés dedans ?

    Gite---1,n---avoir----1,1----Bac---1,n---contenir---1,1---Etage----0,n---ranger---1,1---Echantillon

    Echantillon→Etage
    Etage→Bac
    Bac→Gite

    Donc Echantillon→ Gite : Un échantillon provient d’un gîte et d’un seul

    J’ai bien résumé ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut remise à plat nécessaire
    Bonsoir f-leb,
    Merci pour ta réponse. Désolée, je trouve ta réponse tardivement.
    Je remets tout à plat demain et je me permets de te soumettre ensuite, si tu as un peu de temps.
    Oui, tu as très bien résumé, mais il manque les prospections, les écrits (biblio) et les photos. et là les choses se compliquent.
    Je vais reprendre en suivant ce que tu as fait, c'est plus clair que faire un MCD de suite.
    Bonne soirée,
    Sowane

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    nathieb, les champs sont à la campagne ou dans les formulaires !

    Une entité type du MCD contient des propriétés.
    Une table SQL contient des colonnes.

    sowane, pour t'aider à écrire tes règles de gestion et en déduire facilement le MCD, va faire un tour sur mon blog.

    Et essaie d'utiliser un logiciel de modélisation pour faire ton MCD. Tu y gagneras la génération du MLD puis du code SQL (éventuellement à retoucher selon ton SGBD) permettant de créer la BDD.
    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 !

  9. #9
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci CinéPhil,
    Je consacre ma journée à ce MCD, je commence par aller sur ton blog.
    Très bonne journée,
    Sowane

  10. #10
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut champ
    Bonjour,

    Je savais pas pour les champs ... à la campagne merci du renseignement.
    Voila je te propose une vue UML, première approche avec StarUML.
    par contre, ce qui me dérange ce sont le nombre de liens.

    Ce n'est qu'une approche que tu dois préciser au fil de ta réflexion.
    si tu veux le MCD, il faut juste inverser les cardinalités.

    Dans ton dictionnaire de donnée peux tu, mettre en évidence les différentes entités.

    Peux tu préciser les notions Gîtes, Prospections etc ....

    En fait, pour des personnes extérieurs a ton projet et pour des questions de précisions, dans ton cahier des charges, il est intéressant d'avoir une description même simple de tes différents termes techniques ( gîtes, etc ...)
    c'est plus simple de s'expliquer sans faire des impairs ( ex champ de patate en lieu et place d'un champ de carotte )
    Olivier
    Images attachées Images attachées  
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  11. #11
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut MCD, MLD et MPD
    Bonsoir,
    Merci à tous pour vos réponses et conseils que j'essaie de suivre à la lettre.
    Olivier, j'étudie ton graphique demain matin tranquillement, c'est super je pourrai comparer avec ce que j'ai fait. Dans le MCD joint il y a mes entités. Un gîte c'est un endroit où il y a des couches géologiques qui contiennent les roches recherchées par les préhistoriques (silex, basalte...). Une prospection c'est des archéologues qui vont quadriller une région pour trouver des gîtes. Ils s'aident de cartes géologiques.
    J'ai bossé toute la journée en tenant compte des conseils.
    Je suis arrivée à un MCD, MLD et MPD avec AnalyseSI (galère). Je me permets de vous les soumettre.
    J'ai aussi étudié le blog de Philippe qui m'a bien servi pour les tables d'associations.
    Là je n'ai plus les idées claires.
    Très bonne soirée,
    Sowane

  12. #12
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut navigation
    Bonjour,

    Juste une remarque, ton sens de navigation de Gîtes vers Photo, me pose problème, je pense qu'une photo n'a pas connaissance du Gîte, mais le contraire oui.
    Quand tu va implémenter ton schéma garde en tête les appels ( les méthodes ) que tu vas vas utiliser.
    En fait, Gîte est "navigable" vers photo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Gites g = new Gites();
    g.getPhoto() 
    ...
    et non
    
    Photo p = new Photo();
    p.getGite();
    De toute façon, c'est un processus itératif.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  13. #13
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Remarques sur le MCD...

    1) Prends l'habitude, dès le MCD, de donner aux entités types un identifiant anonyme qui deviendra dans la BDD une colonne de type entier, auto-incrémentée s'il n'y a pas d'identification relative.
    Une référence, un nom, un code... peuvent changer et peuvent être plus gourmands en ressources qu'un simple entier.
    À lire, l'article de SQLPro qui dit ce qu'est une bonne clé.

    2) Association "dater"
    Est-ce le bon verbe ?
    Un étage date de un à plusieurs gîtes et un gîte est daté par un à plusieurs étages ?
    Bizarre comme notion non ?

    3) Associations avec l'entité "type photo"
    D'après ton MCD, une photo représente à la fois un gîte et un échantillon. Comme l'échantillon provient lui-même d'un gîte, l'association entre photo et gîte est inutile.

    4) Association "provenir"
    Je mettrais une cardinalité minimale de 0 côté gîte.
    Il me semble qu'on peut d'abord détecter sur une carte un gîte et l'enregistrer en BDD avant d'y lancer une prospection non ?

    5) Association "documenter"
    Du fait de la présence de cette association ternaire et des cardinalités de l'association "visiter", une biblio B peut documenter un gîte G d'une prospection P alors que cette prospection n'a pas visité le gîte G. Normal ?
    Je pense qu'il faudrait poser une contrainte d'inclusion entre les deux associations "visiter" et "documenter", peut-être non représentable par ton logiciel de modélisation (AnalyseSI ?).

    6) Personnes
    Tu fais référence dans tes entités à des personnes (auteur-fiche-gite, responsable de la prospection, auteur_fiche_echantillon...). Tu devrais modéliser une entité type "personne" et y associer les entités types qui font référence à des personnes. Ça t'évitera que le Professeur Dupont soit écrit de temps en temps Dupond !

    7) Externaliser tout ce qui est répétitif
    Dans le même ordre d'idée que le point précédent, tu devrais créer des entités types potentiellement pour nature_roche, type_gite, type_cortex et peut-être d'autres, tout ce qui prend une valeur parmi une liste limitée et prédéfinie ou complétée au fil du temps mais réutilisable.

    Bon courage pour la suite.
    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 !

  14. #14
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Quand tu va implémenter ton schéma garde en tête les appels ( les méthodes ) que tu vas vas utiliser.
    Non ! On est à l'étape de la modélisation conceptuelle des données, pas au développement des méthodes éventuellement écrites en Java ou autre langage objet.

    Même si je remets en cause cette association dans mon précédent message, c'est bien la photo qui référence le gîte et pas le contraire. Mais il est effectivement probable qu'à l'utilisation on souhaite obtenir la collection de photos du gîte plutôt que de choisir une photo et se demander de quel gîte elle provient.
    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 !

  15. #15
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut je reprends avec vos remarques
    Merci Philippe et Olivier d'avoir pris le temps de regarder mon travail.
    Je me remets à l'ouvrage en tenant compte de vos remarques.
    Très bonne journée,
    Sowane

  16. #16
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut ok
    Bonjour,

    J'en ai conscience ...
    Non ! On est à l'étape de la modélisation conceptuelle des données, pas au développement des méthodes éventuellement écrites en Java ou autre langage objet.
    Oui je suis d'accord à l'école, dans la vrai vie, j'ai jamais eu le temps de faire un beau modèle ni moi ni les sociétés de services avec qui je travaille. (budget délai ....)
    Je suis pour un approche pragmatique

    Pour un travail académique, c'est mieux effectivement.

    Mais pour quelqu'un qui se lance, il est bon de mettre en ligne de code des concepts "UML" qui parfois posent de gros pb dans une implémentation. mais effectivement c'est un autre sujet.


    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  17. #17
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut précisions et nouveau MCD
    Bonsoir Olivier et Philippe,
    Précision : j'ai la chance d'avoir un peu de temps. Je souhaite bien faire les choses. Cette bdd "lithothèque" me sert d'exercice pour d'autres qui suivront (verre, métal, céramique, os...). Je suis en réorientation professionnelle. Mon grand souci est la simplicité d'utilisation ensuite car d'autres personnes interviendront (chercheurs, doctorants), sans forcément des connaissances informatiques.

    Pour Olivier :
    - je n'ai pas encore vraiment de connaissances en PHP et MySQL, juste des notions. Cela m'empêche de voir plus loin, ce qu'il y aura derrière ma conception. Ce sera la 2ème étape de mon travail, en auto-formation au début puis j'aurai des formations en mai/juin. C'est idiot mais c'est le calendrier de mon entreprise.
    - j'ai étudié ton graphique UML mais j'ai du mal car il n'y a pas toujours 2 cardinalités ni d'associations.
    - pour le sens de navigation gîte--->photo, c'est l'inverse : une photo représente 1 gîte. Il peut ne pas y avoir de photo ou plusieurs.

    Pour Philippe :
    1) Très intéressant l'article sur les clefs mais un peu compliqué à mettre oeuvre dans mon cas. Pour mes entités :
    - les étages ont des noms géologiques bien définis et fixés,
    - les n° de gîtes = le code du département + le code INSEE de la commune + un n° de 1 à n,
    - prospections : clef primaire auto-incrémentée,
    - biblio : clef primaire auto-incrémentée,
    - photo : n° gîte + éventuellement n° échantillon + n° de 1 à n,
    - échantillon : n° gîte + n° échantillon de 1 à n,
    - bac : n° de bac de 1 à n + n° du gîte.
    Il me semble que l'auto-incrémentation pose problème lors des recherches, elle entraîne un manque de cohérence fonctionnelle ? Qu'en pensez-vous ?
    2) Les étages sont des couches géologiques très larges (échelle d'un continent par ex.) et bien datées. Ils représentent un nombre infini de gîtes (sites naturels) et plusieurs étages peuvent se croiser sur 1 gîte. Cela donne des silex par ex. de plusieurs âges géologiques pour 1 même gîte.
    3) Non, une photo représente soit un gîte soit un échantillon, jamais les 2. Les photos de gîtes sont des plans larges de terrain ; les photos d'échantillons sont des macros prises en labo.
    4) Non, des gîtes peuvent être soupçonnés d'après une carte mais ils ne seront jamais dans la bdd sans vérification/confirmation de visu sur le terrain par une prospection.
    5) Oups, tu as tout à fait raison, j'ai commis une erreur de cardinalité :
    prospection 1,n ---visiter--- 1,n gîtes. Je rectifie.
    6) Encore bien vu, j'ajoute une table "intervenant". Cela fait un peu toile d'araignée car elle est liée à presque toutes les autres tables ? Est-ce possible ?
    7) J'ai peur qu'en multipliant les tables je complique tout ? :
    - nature_roche : seulement 5/8 possibilités,
    - type_gite : 2 possibilités seulement,
    - cortex : c'est oui ou non. C'est seulement si oui qu'on rempli les autres critères (épaisseur, couleur, type),
    - idem : c'est oui ou non. Si oui on la décrit.
    Je vous remercie sincèrement tous 2, les choses avancent, se précisent alors que je stagnais depuis pas mal de temps dans mon coin. Je joins mon nouveau MCD mais il me semble plus complexe ? Vos avis sont les bienvenus.
    Désolée d'être longue, très bonne soirée,
    Sowane
    Images attachées Images attachées  

  18. #18
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par nathieb
    Oui je suis d'accord à l'école, dans la vrai vie, j'ai jamais eu le temps de faire un beau modèle ni moi ni les sociétés de services avec qui je travaille. (budget délai ....)
    Je suis pour un approche pragmatique
    Cela ne prend pas forcément plus de temps de bien faire les choses. Ça peut même en faire gagner plus tard lors du développement, du débuggage, de la maintenance future...

    L'approche pragmatique chez moi, c'est "on fait ce site avec Drupal". Le modèle de données est pourri mais on peut faire des choses assez élaborées rapidement. Par contre il ne faut pas espérer de très bonnes performances avec la montée en charge.

    S'il y a un grand nombre de données à manipuler, un modèle de données en béton sera plus perfomant. Et si une photo est celle d'un gîte et qu'un gîte peut avoir plusieurs photos, le modèle de données est le suivant :
    photo -1,1----montrer----0,n- gite

    Les tables qui en découlent sont les suivantes :
    gite (git_id, git_rerference, git_nom...)
    photo (pht_id, pht_id_gite, pht_format...)

    => La clé étrangère pht_id_gite référence l'identifiant de la table gite, pas l'inverse qui serait impossible dès qu'il y a plus d'une photo pour un gîte.

    Citation Envoyé par sowane
    Très intéressant l'article sur les clefs mais un peu compliqué à mettre oeuvre dans mon cas.
    Pas compliqué mais tu verras ça plus tard.
    Ce que je voulais dire en t'orientant vers cet article est que dans la grande majorité des cas, il faut mettre une clé auto-incrémentée à une table issue d'une entité type du MCD alors autant prévoir cette clé artificielle dès le MCD.
    Donc :
    - les étages ont des noms géologiques bien définis et fixés,
    - les n° de gîtes = le code du département + le code INSEE de la commune + un n° de 1 à n, => Non ! Clé primaire auto-incrémentée !
    - prospections : clef primaire auto-incrémentée, => Oui !
    - biblio : clef primaire auto-incrémentée, => Oui !
    - photo : n° gîte + éventuellement n° échantillon + n° de 1 à n, => Non ! Clé primaire auto-incrémentée !
    - échantillon : n° gîte + n° échantillon de 1 à n, => Non ! Clé primaire auto-incrémentée !
    - bac : n° de bac de 1 à n + n° du gîte. => Non ! Clé primaire auto-incrémentée !
    Bien sûr, partout où j'ai dit non, tu peux garder cette référence sémantique en tant que clé alternative et en mettant une contrainte d'unicité sur al colonne qui porte cette référence (index UNIQUE chez MySQL).

    Il me semble que l'auto-incrémentation pose problème lors des recherches, elle entraîne un manque de cohérence fonctionnelle ? Qu'en pensez-vous ?
    Non !
    La recherche se fera sur les informations sémantiques mais les clés auto-incrémentées servent dans les jointures entre tables et pour référencer les éléments d'une page à l'autre du site dans un champ caché de la page.

    2) Les étages sont des couches géologiques très larges (échelle d'un continent par ex.) et bien datées. Ils représentent un nombre infini de gîtes (sites naturels) et plusieurs étages peuvent se croiser sur 1 gîte. Cela donne des silex par ex. de plusieurs âges géologiques pour 1 même gîte.
    Alors je dirais plutôt qu'un étage peut contenir plusieurs gîtes et qu'un gîte peut être contenu dans plusieurs étages. Le fait qu'un étage soit daté est une propriété de l'étage, pas une association entre le gîte et l'étage. La date ne dépend pas du gîte pour exister.
    => Ajouter la ou les dates en propriétés de l'étage et remplacer l'association "dater" par "contenir".

    3) Non, une photo représente soit un gîte soit un échantillon, jamais les 2. Les photos de gîtes sont des plans larges de terrain ; les photos d'échantillons sont des macros prises en labo.
    Alors les règles de gestion sont les suivantes :
    a) une photo peut représenter un gîte et un gîte peut être représenté par plusieurs photos.
    b) une photo peut représenter un échantillon et un échantillon peut être représenté par plusieurs photos.

    MCD :
    gite -0,n----representer-------------0,1- photo
    echantillon -0,n----representer----0,1----|

    Et comme tu as lu mon article "Quand faut-il une table asociative ?" tu sais maintenant que ce morceau de MCD entraîne la création de deux tables associatives dont la clé primaire est l'identifiant de la photo.

    4) Non, des gîtes peuvent être soupçonnés d'après une carte mais ils ne seront jamais dans la bdd sans vérification/confirmation de visu sur le terrain par une prospection.
    OK alors !

    Citation Envoyé par sowane
    Citation Envoyé par CinéPhil
    5) Association "documenter"
    Du fait de la présence de cette association ternaire et des cardinalités de l'association "visiter", une biblio B peut documenter un gîte G d'une prospection P alors que cette prospection n'a pas visité le gîte G.
    5) Oups, tu as tout à fait raison, j'ai commis une erreur de cardinalité :
    prospection 1,n ---visiter--- 1,n gîtes. Je rectifie.
    Cela ne change rien au fait que j'ai signalé !
    Imaginons les prospections P1 et P2 qui ont visité respectivement les gîtes G10, G11 et G25, G27.
    Ton MCD autorise la biblio B1 à documenter les prospections P1 et P2 et les gîtes G12, G15, G22 qui n'ont pas été visités par les prospections P1 et P2 que documente la biblio !

    Peut-être que c'est possible, si par exemple la biblio en question parle de similitudes entre les gîtes visités par P1 (G10, G11) et d'autres sites déjà visités par une autre prospection P5.

    Je pense que tu devrais revoir cette notion de biblio et de documentation des gîtes et des prospections.
    Si une biblio B1 documente la prospection P1 et rien d'autre, alors elle est forcément en association indirecte avec les gîtes visités par P1 et la patte de l'association "documenter" avec les gîtes est inutile.
    Si par contre, comme je l'ai supposé ci-dessus, une biblio peut documenter aussi d'autres gîtes que ceux de la prospection documentée, alors la ternaire est juste.

    6) Encore bien vu, j'ajoute une table "intervenant". Cela fait un peu toile d'araignée car elle est liée à presque toutes les autres tables ? Est-ce possible ?
    C'est tout à fait possible oui.

    7) J'ai peur qu'en multipliant les tables je complique tout ? :
    Ça offre une plus grande cohérence des données. Si deux personnes écrivent différemment une information identique, en recherchant les données relatives à une orthographe, tu n'auras pas les autres. Avec une table de référence correctement orthographiée, pas de problème. Et s'il y a une faute quelque part, il suffit de modifier la table de référence.
    - nature_roche : seulement 5/8 possibilités,
    => Entité type de référence.
    - type_gite : 2 possibilités seulement,
    N'y en aura t-il toujours que deux ?
    - cortex : c'est oui ou non.
    Alors c'est une colonne booléenne.
    C'est seulement si oui qu'on rempli les autres critères (épaisseur, couleur, type),
    En toute rigueur, il faudrait alors mettre ces données dans une autre table puisque tous les échantillons ne sont pas concernés.
    Tu aurais alors un héritage :
    echantillon_a_cortex -(1.1)----être----0,1- echantillon

    L'échantillon à cortex est identifié relativement à échantillon, c'est à dire que la clé primaire de la future table sera également clé étrangère référençant l'échantillon. C'est le cas typique où l'identifiant d'une table issue d'une entité type du MCD n'est pas auto-incrémenté.

    Je joins mon nouveau MCD
    Je continue la numérotation de mes remarques...

    8) Associations avec Intervenant
    Il n'y a pas une association entre intervenant et toutes les entités types où officie l'intervenant mais autant d'associations qu'il y a d'entités types concernées. Et même plus puisque tu as parfois deux intervenants pour une entité type !
    gite -1,1----creer--------0,n- intervenant
    |-------1,1----saisir----0,n------------|

    photo -1,1----prendre----0,n-------|

    echantillon -1,1----creer----0,n---|
    |-----------------1,1----saisir----0,n--|

    et-caetera.

    Du coup, il faut supprimer dans le MCD les propriétés qui référencent les intervenants.
    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 !

  19. #19
    Futur Membre du Club
    Femme Profil pro
    ingénieur archéologie
    Inscrit en
    Octobre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur archéologie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour Philippe,
    Je te remercie à nouveau pour cette nouvelle réponse très détaillée. C'est génial. Je reprends tout, cela m'intéresse de plus en plus.
    Très bonne journée,
    Evelyne

  20. #20
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut oui
    Bonjour

    Cela ne prend pas forcément plus de temps de bien faire les choses. Ça peut même en faire gagner plus tard lors du développement, du débuggage, de la maintenance future...
    D'accord sur le principe, mais pour des non experts, je suis souvent confronté à des choix parfois litigieux pour un prof de fac. La loi de l'école n'est pas celle du marché ... j'ai une liste longue comme un bras d'exemple qui sont loin des standards de l'école. Pour ce qui est du gain de temps oui, pour un gros projet, pour une petit, avec l'expérience ...
    L'approche pragmatique chez moi, c'est "on fait ce site avec Drupal". Le modèle de données est pourri mais on peut faire des choses assez élaborées rapidement. Par contre il ne faut pas espérer de très bonnes performances avec la montée en charge.
    Non pour deux raisons, on peut faire une modélisation partielle, tester la validité du modèle ( méthode agile ) et murir sa réflexion.
    Pour la montée en charge c'est faux, une contrainte rajoute du temps de traitement (index, clef, ...), avoir un beau schéma garantie la cohérence des données et non la performance. Je suis en décisionnel et on dénormalise quand le besoin s'en fait sentir. Ce sont des choix d'optimisation. Je souligne car je pense que c'est important de le savoir.

    Mais tu as raison sur un point, si on a le temps autant faire bien.
    puis défaire après.

    Sinon, d'accord avec toutes tes remarques.


    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/04/2009, 15h40
  2. comment récupérer les données d'une paramètre avec cplex
    Par debalgo dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 18/06/2008, 13h32
  3. [VS 2005] Aucune donnée si plusieurs paramètres
    Par Michelk12 dans le forum SDK
    Réponses: 3
    Dernier message: 06/06/2008, 15h46
  4. [MySQL] Suppression de données à partir des paramètres passés en lien
    Par cyril3d dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 01/04/2008, 15h52
  5. Réponses: 14
    Dernier message: 22/05/2007, 01h32

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