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 :

Petite analyse simple


Sujet :

Schéma

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 757
    Points : 208
    Points
    208
    Par défaut Petite analyse simple
    Soient les deux entités suivantes :
    Patient(id_Patient,Nom,Prenom,Date_Naissance);
    Ville(Code_Postal,Ville);
    Je lie ces deux entités par une association (Habite) et c'est là ma question au niveau des cardinalités que faire :
    Patient (1,n) [Habite] (1,1) Ville
    ou
    Patient (0,1) [Habite] (1,1) Ville
    ?
    Si je tiens compte des passages de clés étrangères coté (0,1) je choisirai la 2ème solution car en effet on verrait bien 2 tables :
    Patient(id_Patient,Nom,Prenom,Date_Naissance,#Code_Postal);
    Ville(Code_Postal,Ville);
    mais le choix au départ si on ne tient pas compte de cela n'est pas facile qu'en pensez vous ? Si quelqu'un a une réponse sûre merci

  2. #2
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    Ni l'un ni l'autre mon capitaine

    Un patient habite dans au moins et au plus une seule ville, dans une ville habitent 0 ou n patients.

    Donc en Merise :

    Patient -- 1,1 ---- habite ---- 0,n -- ville

    Cardinalités en Merise : celle du coté de l'entité-type précise combien de fois une occurence d'une entité-type peut être impliquée dans l'association ( minimum, maximum ).

    Au passage, le code postal ne peut prétendre à être candidat à la clé primaire, en effet une ville peut et souvent comporte plusieurs code postaux.
    Dans votre entité-type VILLE {Code_Postal,Ville}, l'attribut ville ne dépend donc pas de codepostal.

    François

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 757
    Points : 208
    Points
    208
    Par défaut réponse à frm013
    Merci pour votre réponse.
    J'en déduis donc 2 tables :
    Patients(id_Patient,nom,date_naiss,#ville);(ville clé étrangère vers table Ville)
    Ville(ville,code_postal);
    Mais si je tiens compte de votre remarque ou une ville peut détenir plusieurs code postaux je l'analyse comme ça :
    Ville(Ville,Code_Postal1) (1,n) possède (1,1) Code_Postaux(Code_Postal)

    Ensuite je traduis ça comme ça :

    Ville(Ville,Code_Postal1);
    Codes_Postaux(Code_Postal,#Ville,Code_Postal1);
    Merci de me donner votre avis
    A +

  4. #4
    Membre régulier
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    Vous avez compris.

    Concernant les villes et code postaux, c'est beaucoup plus compliqué que cela, j'ai seulement voulu attirer votre attention sur ce problème.

    En effet un code postal peut desservir plusieurs villes

    Pourquoi, dans votre analyse, voulez-vous attribuer une ville à un patient ?
    N'est-il pas plus simple d'enregistrer son adresse ?

    Si vous souhaitez éliminer la redondance du nom de la ville, vous pouvez mettre en oeuvre une entité-type VILLE de cette forme {id_ville, nom_ville}, personnellement je ne le fait pas
    Mais tout dépend de votre besoin, que je ne connais pas.

    Sinon, pour une analyse des adresses vous pouvez consulter ce billet de SqlPro.

    Billet intéressant, mais je considère que ce genre de modélisation poussée n'a de réelle utilité que si on souhaite réaliser une application de publipostage par exemple. Encore une fois c'est le besoin qui prime, si vous devez être sûr des adresses, il faut peut-être gérer des entités-type COMMUNE et CP comme dans l'exemple de SQLPro. A vous de voir.

    Bon courage et bonnes fêtes de fin d'année !

    François

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petits complements simples pour m'instruire
    Par bigbernie dans le forum C++
    Réponses: 3
    Dernier message: 01/04/2007, 02h14
  2. [CSS] petite question simple
    Par joe206 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 24/05/2006, 17h06
  3. petit script simple
    Par frjover dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/04/2006, 09h31
  4. Un petit software simple en JAVA qui sauve en XML ??
    Par calogerogigante dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 30/11/2005, 14h19
  5. [XSL] pleins de petites questions simples
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/08/2005, 17h53

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