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 :

projet base de données et MERISE


Sujet :

Merise

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut projet base de données et MERISE
    Bonjour,

    Je débute en gestion de base de données et j'ai un petit projet à réaliser sur la gestion d'une compagnie d'assurance pour autos.

    Voici les règles à respecter:

    - Un client peut souscrire un ou plusieurs contrats
    - Chaque contrat peut couvrir un ou plusieurs véhicules, mais un véhicule ne peut être couvert que par un seul contrat
    - A chaque contrat est associé un bonus-malus (pour calculer la cotisation)
    - Un constat est établi pour chaque accident
    - A chaque assuré impliqué dans l'accident est attribué un coeff de responsabilité
    - Le bonus-malus est calculé chaque année selon le nombre d'accidents pondéré par le coeff de responsabilité
    - le contrat est renouvelable tous les ans et le montant dépend des véhicules couverts et du bonus-malus de l'année précédente.

    Voici mes définitions de mes entités et de mes champs (non exhaustif encore):

    Client: NumClient, coeffRespons, nom, prenom, age (ou date naissance), (sexe), datePermis, datePremiereAssurance, profession

    AdresseClient: NomRue, NumRue, CodePostal, Ville (j'ai séparé adresse de Client ?)

    Véhicule: Immatriculation, date première mise en circulation, marque, puissance, date fabrication

    Contrat: NumContrat, TypeContrat, dateContrat

    Accident: NumAccident, lieuAccident, dateAccident

    Me reste à savoir comment faire pour le bonus-malus, car il est calculé ainsi que pour le montant de la cotisation.

    Je voudrais d'abord savoir si il y a des choses à supprimer ou rajouter ?
    Me reste ensuite une fois que j'ai toutes mes entités et mes champs à déterminer les relations entre les objets pour faire le schéma.

    Merci d'avance.

  2. #2
    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
    - A chaque contrat est associé un bonus-malus (pour calculer la cotisation)
    Me reste à savoir comment faire pour le bonus-malus, car il est calculé ainsi que pour le montant de la cotisation.
    D'après la règle de gestion, le coeff de bonus/malus est un attribut du contrat.
    Le fait qu'il soit calculé est un traitement qui met à jour cet attribut :
    - Le bonus-malus est calculé chaque année selon le nombre d'accidents pondéré par le coeff de responsabilité
    - A chaque assuré impliqué dans l'accident est attribué un coeff de responsabilité
    Client: NumClient, coeffRespons,
    Le coeff de responsabilité dépend de l'accident mais n'est pas un attribut valable pour tous les accidents du client.
    En fait, ce coeff est un attribut porté par l'association entre client et accident. Tu découvriras ça en étudiant cette association.

    - le contrat est renouvelable tous les ans et le montant dépend des véhicules couverts et du bonus-malus de l'année précédente.
    Là aussi, c'est un attribut calculé annuellement mais c'est bel et bien un attribut du contrat.
    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 !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Ok merci, donc je devrais avoir plutôt ceci dans ma table contrat ?

    Contrat: NumContrat, TypeContrat, dateContrat, Bonus-malus, coeffRespons

  4. #4
    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
    Oui pour le bonus/malus, non pour le coeff_respons qui dépend de l'accident.

    J'anticipe sur la suite de l'exercice mais il y a l'association suivante :

    Client -0,n----Impliquer(coef_respons)----1,n- Accident

    En effet, un accident peut concerner deux clients de la même compagnie d'assurance.

    Il en résultera une table associative qu'on pourra appeler 'impliquer' et qui aura, en plus de sa clé primaire composée de l'identifiant du client et de l'identifiant de l'accident, l'attribut coeff_respons représentant le coefficient de responsablité du client X dans l'accident A.
    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 !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Ok merci, donc pour résumer j'ai:

    Client: NumClient, nom, prenom, age (ou date naissance), (sexe), datePermis, datePremiereAssurance, profession

    AdresseClient: NomRue, NumRue, CodePostal, Ville (j'ai séparé adresse de Client ?)

    Véhicule: Immatriculation, date première mise en circulation, marque, puissance, date fabrication

    Contrat: NumContrat, TypeContrat, dateContrat, bonus-malus

    Accident: NumAccident, lieuAccident, dateAccident, coeffRespons


    Est-ce que ca à l'air bien pour la définition de mes tables ?
    Dois-je mettre le sexe du client ?

  6. #6
    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
    Tu as séparé l'adresse du client. Dans ton cas, je ne sui spas sûr que tu en aies vraiment besoin, notamment si ce ne sont que des particuliers et que pour de l'assurance automobile. Je serais étonné qu'un particulier ayant deux voitures déclare deux adresses différentes !

    Par contre, tu devrais externaliser, pour éviter les faux doublons :
    - Ville, de façon à éviter les faux doublons du genre 'Saint Etienne', 'Saint-Etienne' et 'St Etienne' ;
    - Profession ;
    - Marque ;
    - TypeContrat.

    Tu pourrais aussi avoir des types de véhicule (Twingo, Clio, Laguna...) reliés aux marques (Renault) donc une entité TypeVehicule.

    A voir aussi pour le lieu de l'accident qui peut être relié à une ville.

    Je ne sais pas si le sexe du client est une donnée utile dans le cadre de ton sujet. Par contre, je mettrais plutôt la date de naissance (immuable) que l'âge (change tous les ans hélas !).
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Ok cela ferait donc ?

    Client: NumClient, nom, prenom, date naissance, datePermis, datePremiereAssurance, NomRue, NumRue, CodePostal

    ProfessionClient

    VilleClient

    Véhicule: Immatriculation, date première mise en circulation, puissance, date fabrication

    MarqueVehicule

    Contrat: NumContrat, dateContrat, bonus-malus

    TypeContrat

    Accident: NumAccident, lieuAccident, dateAccident, coeffRespons

    Type véhicule je suis pas sur, ca va m'encombrer, c'est un petit projet.
    Pourquoi sortir Marque et type contrat?

  8. #8
    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
    A l'étape où tu en es de l'exercice - définir les entités - je dirais plutôt Profession que ProfessionClient et Ville plutôt que VilleClient.

    Type véhicule je suis pas sur, ca va m'encombrer, c'est un petit projet.
    Pourquoi sortir Marque et type contrat?
    Parce que ce sont ce que j'appelle des entités de référence. La liste des villes, des professions, des marques de véhicules et de types de véhicules est relativement limitée.
    Ca permet un meilleur contrôle sur les données saisies et évitera plus tard des erreurs dans les statistiques.
    Combien d'accident avec des véhicules Renault ? ==> Si quelqu'un a saisi un nombre de fois non négligeable Renaut (sans l), les accidents ne seront pas pris en compte.
    Avec une entité Marque, Renault n'est saisi qu'une fois avec la bonne orthographe et permet d'afficher une liste de choix des marques dans le logiciel.

    Autre détail, il faut un identifiant dans chaque entité. Cet identifiant sera de préférence anonyme et invariable, donc de type entier et auto-incrémenté.
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    D'accord merci.
    Autre détail, il faut un identifiant dans chaque entité. Cet identifiant sera de préférence anonyme et invariable, donc de type entier et auto-incrémenté.
    Oui mais comment on fait ça, j'ai jamais vu ?

  10. #10
    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
    Dans chaque entité, placer un identifiant tel que cl_id pour l'entité client, vi_id pour l'entité ville, vh_id pour l'entité véhicule...

    Le type entier et l'autoincrémentation se déterminent plus tard, quand on implémente la BDD sur le SGBD choisi.
    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 !

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Tout bien réfléchi, je vais remettre mes tables comment elles étaient avant.
    Ça risque de m'embrouiller plus qu'autres choses comme tu me l'avais dit mais étant donné que c'est mon premier schéma et que je débute, je préfère établir mes entités comme ceci avec mes clés primaires soulignées:

    Client: NumClient, nom, prenom, date naissance, datePermis, datePremiereAssurance, profession, Nomrue, Numrue, CP, Ville

    Véhicule: Immatriculation, date première mise en circulation, marque, puissance, modèle, date fabrication

    Contrat: NumContrat, TypeContrat, dateContrat, bonus-malus

    Accident: NumAccident, lieuAccident, dateAccident, coeffRespons


    Pourquoi déjà Coeffrespons est dans la table Accident et non pas lié à la table Client ?

    Je propose un schéma conceptuel ici (désolé je n'ai pas de logiciel pour le faire):

    Client 0,N--------(Signe)--------------1,1 Contrat
    Vehicule 1,1------------(Appartient)----0,N Client
    Vehicule 1,1------------------(Couvert)-------0,1 Contrat
    Vehicule 0,N-----------------(Concerne)---------0,N Accident

    N'y a t-il pas d'erreurs ?
    Je rappelle les Règles de gestion:

    - Un client peut souscrire un ou plusieurs contrats
    - Chaque contrat peut couvrir un ou plusieurs véhicules, mais un véhicule ne peut être couvert que par un seul contrat
    - A chaque contrat est associé un bonus-malus (pour calculer la cotisation)
    - Un constat est établi pour chaque accident
    - A chaque assuré impliqué dans l'accident est attribué un coeff de responsabilité
    - Le bonus-malus est calculé chaque année selon le nombre d'accidents pondéré par le coeff de responsabilité
    - le contrat est renouvelable tous les ans et le montant dépend des véhicules couverts et du bonus-malus de l'année précédente.

    Merci.

Discussions similaires

  1. passage de base de données vers merise
    Par sousouksousouk dans le forum Merise
    Réponses: 5
    Dernier message: 06/03/2013, 11h04
  2. [XL-2007] Projet Base de données (avec mise a jour)
    Par Paro. dans le forum Excel
    Réponses: 1
    Dernier message: 19/04/2012, 07h59
  3. Comment démarrer un projet base de données paradox
    Par The Jos dans le forum Bases de données
    Réponses: 7
    Dernier message: 17/12/2008, 12h50
  4. aide projet base de donnée photo
    Par vulcain45 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 14/11/2008, 12h26
  5. Migration de projet base de données paradox en interbase
    Par abdelghani_k dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/05/2007, 10h40

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