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 :

Modélisation d'une maison de retraite


Sujet :

Schéma

  1. #1
    Membre actif
    Modélisation d'une maison de retraite
    Citation Envoyé par 5GPCISAS1 Voir le message
    Bonjour
    Je crois qu'il faut que tu repartes de zéro;
    il faut que tu construises une table [T_Maison_de_Retraite], une table [D_Type_de_Logement] et une table[D_Prix].
    Il faut ensuite que tu lies ces tables entre elles (menu Outils/Relations).
    Ensuite tu construis un formulaire dépendant de ta table [T_Maison_de_Retraite] dans lequel tu inséreras des listes déroulantes pour le type de logement proposé ainsi que pour le prix.
    Tu pourras faire dépendre la liste des prix du type de logement grâce à la méthode proposée dans le Forum IHM.
    Bonjour membres du forum,
    Cette partie de la discussion post#5 est intéressante car elle pourra m'aider dans ma formation.

    une table T_Maison_de_Retraite, une table D_Type_de_Logement et une table D_Prix
    , pourriez vous me donner au moins trois exemples de champs pour chaque table ?

    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  2. #2
    Expert éminent sénior
    Bonjour,

    C'est assez curieux de se préoccuper des colonnes (on ne parle pas de "champ" dans une table , voire même des tables avant même d'avoir parlé du contexte

    Quel est votre besoin, quel est le contexte ?

  3. #3
    Membre actif
    Citation Envoyé par escartefigue Voir le message

    Quel est votre besoin, quel est le contexte ?
    Bonjour escartefigue,
    Je me suis intéressé à votre discussion tout en croyant que certain éléments:

    une table T_Maison_de_Retraite, une table D_Type_de_Logement et une table D_Prix
    pourrais m'aider dans la conception d'une application Access portant sur le même sujet.
    Je me rends compte que je ne suis pas dans mon domaine(Access). Désolé!

    Comme j'y suis, j'aimerais en savoir plus sur le développement en ALM.
    Comment fonctionne t il ?
    Est ce pareille que Access ?
    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  4. #4
    Expert éminent sénior
    Bonsoir,


    Citation Envoyé par morobaboumar Voir le message
    Bonjour escartefigue,
    Je me suis intéressé à votre discussion tout en croyant que certain éléments [...] pourrais m'aider dans la conception d'une application Access portant sur le même sujet.
    Je me rends compte que je ne suis pas dans mon domaine(Access). Désolé!
    Le truc c'est surtout que vous n'êtes pas au bon endroit : ici c'est le forum de discussion sur la modélisation des données et non pas des traitements
    L'application, c'est le traitement


    Citation Envoyé par morobaboumar Voir le message

    Comme j'y suis, j'aimerais en savoir plus sur le développement en ALM.
    Comment fonctionne t il ?
    Est ce pareille que Access ?
    Cordialement.
    ALM c'est une méthode alors que Access c'est un outil, en l'occurrence un gestionnaire de base de données.

  5. #5
    Membre actif
    Citation Envoyé par escartefigue
    ALM c'est une méthode alors que Access c'est un outil, en l'occurrence un gestionnaire de base de données.
    Heureux de le savoir. Sachez qu'on a orienté mon post#5 de la discussion https://www.developpez.net/forums/d5...ison-retraite/
    et cela par CinePhil. Je me suis retrouvé sur le forum ALM dont je n'ai aucune notion.
    Alors explique moi
    ALM c'est une méthode
    cette méthode explique moi plus clairement de quoi il s'agit.
    A+
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Modérateur

    La partie que vous évoquiez concernait bien la modélisation des données ; étape indispensable avant de mettre les mains dans le cambouis du gestionnaire de données, que ce dernier soit Access, MySQL, SQL Serveur, Oracle ou autre. Voilà pourquoi j'ai orienté votre question ici.
    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 !

  7. #7
    Membre actif
    Citation Envoyé par CinePhil Voir le message
    La partie que vous évoquiez concernait bien la modélisation des données ; étape indispensable avant de mettre les mains dans le cambouis du gestionnaire de données, que ce dernier soit Access, MySQL, SQL Serveur, Oracle ou autre. Voilà pourquoi j'ai orienté votre question ici.
    Bonjour CinePhil,
    Très heureux de votre réponse car en tant qu'apprenant, je viens d'avoir un grand plus en l’occurrence le domaine
    vaste de la programmation.

    Question: comment met on en place un programme avec ALM ?
    Je n'y connais rien.

    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  8. #8
    Modérateur

    ALM signifie "Application Lifecycle Management". En français, on dirait gestion du cycle de vie du logiciel. C'est un domaine qui regroupe un ensemble de méthodes pour la conception, les bonnes pratiques de fabrication et de maintenance des logiciels.

    Dans le domaine des bases de données, on utilisera préférentiellement la méthode Merise, dont vous trouverez pas mal de cours à ce sujet ici, et notamment sa partie Modèle Conceptuel de Données (MCD) qui reste, à mon avis, la meilleure façon de modéliser une base de données.

    Pour dessiner un MCD, vous pouvez utiliser le logiciel Looping dont le créateur, Patrick Bergougnoux, est un membre actif sur le présent forum.
    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
    Membre actif
    Bonjour CinePhil,
    Très heureux des voies que vous m'avez indiquées.
    https://merise.developpez.com/cours/
    https://www.looping-mcd.fr/
    C'est vraiment super !
    Je m'en vais les explorer et je vous reviens.
    Merci infiniment.
    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  10. #10
    Membre actif
    Bonsoir membres du forum,
    bonsoir CinePhil,
    Voici l'oeuvre réalisée avec le logiciel Looping téléchargé à partir du lien que vous m'avez conseillé:



    ceci était un test pour savoir comment faire un MCD.

    - Avec le logiciel Looping comment met on en place un MCD ?

    - Pourriez vous me donner des exemples de MCD ?

    - Maintenant j'aimerais savoir après avoir réalisé un MCD, comment le transférer dans une base de données Access ?

    Excusez moi si mes questions sont mal posées. J'apprends grâce à vos aides indispensables.

    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  11. #11
    Expert éminent sénior
    Pour créer un nouveau MCD, il suffit de cliquer sur la page blanche en haut à gauche (ou le raccourci clavier ctrl+n)
    Ensuite utilisez l'icône jaune "entité" pour créer vos entités-type, un double clic sur une entité-type suffit à alimenter ses propriétés.
    Puis vous créez les associations soit directement en tirant un lien entre deux entités-type soit en utilisant l’icône "association" puis l’icône "lien"

  12. #12
    Membre confirmé
    Citation Envoyé par escartefigue Voir le message
    Pour créer un nouveau MCD, il suffit de cliquer sur la page blanche en haut à gauche (ou le raccourci clavier ctrl+n)
    Ensuite utilisez l'icône jaune "entité" pour créer vos entités-type, un double clic sur une entité-type suffit à alimenter ses propriétés.
    Puis vous créez les associations soit directement en tirant un lien entre deux entités-type soit en utilisant l’icône "association" puis l’icône "lien"
    Je ne l'aurais pas mieux dit ! Merci capitaine !!!
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  13. #13
    Membre actif
    Citation Envoyé par escartefigue Voir le message
    Pour créer un nouveau MCD, il suffit de cliquer sur la page blanche en haut à gauche (ou le raccourci clavier ctrl+n)
    Ensuite utilisez l'icône jaune "entité" pour créer vos entités-type, un double clic sur une entité-type suffit à alimenter ses propriétés.
    Puis vous créez les associations soit directement en tirant un lien entre deux entités-type soit en utilisant l’icône "association" puis l’icône "lien"
    Bonsoir escartefigue,
    bonsoir Paprick,

    J'ai créé 2 entités "PARENT" et "ANNEE" à titre d'exemple, comment pourrais je les transférer dans une base de données Access 2013 ?



    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  14. #14
    Expert éminent sénior
    Dans la fenêtre "propriétés" de Looping, il y a une liste déroulante qui permet de choisir le SGBD cible.
    Vérifiez que vous avez bien sélectionné Access
    Il serait préférable d'enrichir un peu votre modèle avant de vérifier le modèle tabulaire : définissez un identifiant primaire pour chaque entité-type et créez une association "n-aire" pour avoir une table associative

  15. #15
    Membre confirmé
    Citation Envoyé par escartefigue Voir le message
    Dans la fenêtre "propriétés" de Looping, il y a une liste déroulante qui permet de choisir le SGBD cible.
    Vérifiez que vous avez bien sélectionné Access
    Il serait préférable d'enrichir un peu votre modèle avant de vérifier le modèle tabulaire : définissez un identifiant primaire pour chaque entité-type et créez une association "n-aire" pour avoir une table associative
    Et cliquez sur les cases à cocher "MLD textuel" et "Script SQL" pour voir à quoi ressemblera votre schéma relationnel.
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  16. #16
    Expert éminent sénior
    <- je le connaissais pas celui là, top

  17. #17
    Membre actif
    Citation Envoyé par escartefigue Voir le message
    Dans la fenêtre "propriétés" de Looping, il y a une liste déroulante qui permet de choisir le SGBD cible.
    Vérifiez que vous avez bien sélectionné Access
    Il serait préférable d'enrichir un peu votre modèle avant de vérifier le modèle tabulaire : définissez un identifiant primaire pour chaque entité-type et créez une association "n-aire" pour avoir une table associative
    Bonsoir escartefigue, bonsoir Paprick,
    Je ne retrouve pas les propriétés indiquées:
    Dans la fenêtre "propriétés" de Looping, il y a une liste déroulante qui permet de choisir le SGBD cible.
    Vérifiez que vous avez bien sélectionné Access


    Permettez moi de vous envoyer les pièces jointes de ce que j'ai pu concevoir
    afin que vous m'aidiez à mieux appliquer le MCD.
    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  18. #18
    Expert éminent sénior
    Bonjour,

    Le choix du SGBD est le bon, c'est bien ACCESS qui est sélectionné.
    On le voit ici :



    Concernant votre MCD

    D'une façon générale, pour nommer les entités-type et les associations, j'utilise un préfixe que l'on retrouve dans toutes les colonnes de l'objet concerné.
    Par exemple, pour les personnes, je crée une entité-type PE_personne qui aura pour attributs PE_ident, PE_nom, PE_prenom, PE_datenais...
    L'intérêt est double : d'une part, on retrouve facilement l'origine des différentes colonnes dans les tables associatives et dans les requêtes, d'autre part, on ne risque pas d'être embêté si par mégarde on a nommé une colonne avec un mot réservé SQL (date, table, alias...)


    Entité-type [ANNEE]
    Cette ET n'est liée à aucun autre élément il est donc difficile de savoir à quoi elle servira éventuellement.
    S'il s'agit de la faire uniquement participer à la PK d'une table issue d'une association n-aire, alors il faudra la supprimer du script
    Il me semblait qu'une case à cocher permettait de ne pas générer certaines tables, mais je ne la retrouve pas . Paprick nous éclairera certainement sur ce point
    Attention au typage des attributs : du char(50) est à la fois inadapté pour stocker une année et encore plus inadapté pour un identifiant primaire.
    Un identifiant primaire a pour première qualité d'être invariant. Or on peut soupçonner du char(50) de contenir une valeur sémantique (ayant un sens fonctionnel), d'où le risque d'instabilité. À éviter.
    De plus, les identifiants primaires étant fortement sollicités comme critères de jointure, il est préférable de choisir un type de données économe en CPU. Sur ce chapitre, le type le mieux armé est l'integer.
    Stabilité et performances sont les deux raisons pour lesquelles il est fortement recommandé de choisir une PK technique attribuée par le SGBD et de type integer (small ou bigint le cas échéant).


    Entités-type [PARENT] et [ELEVE]
    N'utilisez jamais de colonne pour plusieurs attributs telles que nom_prenom.
    Une colonne c'est un et un seul attribut : une colonne pour le nom de naissance, une pour le nom d'usage, une pour le premier prénom, une autre si vous avez besoin de connaître le deuxième prénom, etc.
    Que signifie le préfixe "mle" devant certains noms de colonne ?
    Que représente id_mlepa dans l'ET élève
    Parents et élèves sont des personnes, ils partagent les mêmes attributs : nom, prénom, date de naissance etc.
    Du coup, il faut mutualiser ce qui est commun aux parents et aux élèves en utilisant l'héritage : créez un surtype "personne" et deux sous-types "parent" et "eleve".
    Si des attributs sont spécifiques à un sous-type, il faut les positionner dans le sous-type concerné.

    Association [PARENT-ELEVE]
    À déplacer entre les deux sous-types

    Voici un exemple simplifié de ce que ça donne
    - utilisation d'un héritage "XT" : exclusif et qui couvre la totalité des personnes. C'est à dire que toute personne du modèle est soit parent, soit élève, mais jamais les deux. Si vous avez des parents qui sont également élèves, il faut adapter.
    - pour les adresses, je n'ai mis que 2x38 caractères, mais la norme postale c'est 6x38 pour les adresses françaises. J'ai également externalisé la ville puisqu'elle ne dépend pas fonctionnellement de l'identifiant de l'adresse. Je profite de l'occasion pour introduire la notion d'identification relative matérialisée par le (R) sur la patte de la relation de ville vers adresse et qui indique que l'adresse est une entité-type faible, identifiée relativement à la ville.
    - dans les différents types d'entité je n'ai mis que très peu d'attributs, à compléter bien sur.




    - notez dans le script de la table associative RE_résider : on retrouve les identifiants des entités-types concourant à l'association et on sait d'emblée d'où il viennent grâce à leur préfixe respectif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE RE_resider(
       PE_ident INT,
       VI_ident INT,
       AD_ident INT,
       RE_debut DATE NOT NULL,
       PRIMARY KEY(PE_ident, VI_ident, AD_ident),
       FOREIGN KEY(PE_ident) REFERENCES PE_personne(PE_ident),
       FOREIGN KEY(VI_ident, AD_ident) REFERENCES AD_adresse(VI_ident, AD_ident)
    );

  19. #19
    Membre confirmé
    Citation Envoyé par escartefigue Voir le message
    S'il s'agit de la faire uniquement participer à la PK d'une table issue d'une association n-aire, alors il faudra la supprimer du script
    Il me semblait qu'une case à cocher permettait de ne pas générer certaines tables, mais je ne la retrouve pas . Paprick nous éclairera certainement sur ce point
    Bonsoir Capitaine,
    Effectivement cette case à cocher existe ! Elle est proposée dans la fenêtre de définition d'une classe d'entité dont l'ensemble des rubriques compose l’identifiant, et qu'une association fasse que cet identifiant se retrouve en tant que clé étrangère dans une autre classe d'entités. Dans ce cas, la classe d'entité est dite "fictive" : elle est signalé entre parenthèses dans le MCD et ne donne pas lieu à génération de table dans le schéma relationnel.
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  20. #20
    Membre actif
    Bonsoir membres du forum,

    Je viens de mettre en place plusieurs entités.
    *1/ Pourriez vous m'expliquer pas à pas le rôle de chaque entité ?



    -2/
    la modélisation des données
    Après la modélisation des données, quelle est l'étape suivante ?

    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort