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

Langage SQL Discussion :

Besoin d'aide pour modéliser


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Besoin d'aide pour modéliser
    Bonjour à tous et toutes,
    merci d'avance à ceux qui porteront interet à mon post et qui peut être pourront m'aider.

    Mon soucis concerne surtout la modélisation d'une partie de ma base SQL.

    Je suis en train de réaliser un annuaire téléphonique en PHP avec base MySQL et pour une partie de ma base je suis coincé.

    Je précise que j'ai de bonnes bases (tout est relatif...) en sql mais là je m'en sort pas.

    Voici le principe et les conditions de ce que je veux faire.

    Je dois enregistrer des infos sur des entreprises.

    Les contraintes :

    Une entreprise est soit une entreprise extérieure, soit une entreprise interne.
    Si l'entreprise est interne, elle comporte des services (achats, paie, compta...etc).

    Les services sont organisés et regroupés par niveaux (catégories) dans leur entreprise.

    Par exemple pour une entreprise A, le niveau 1 sera composé des catégories "hommes et direction", "Administratif", "économie".
    La catégorie "hommes et direction" sera composée en niveau 2 des catégories "hommes" et "direction" qui contiendront les services désignés.
    Par exemple la catégorie "hommes" contiendra les services "paie" et "ressources humaines" (Niveau 3).

    Les autres entreprises (B,C,D....) comportent aussi des services mais qui peuvent ne pas se trouver au même niveau (pas la même catégorie) et les niveaux peuvent avoir des noms différents.

    Voir Schéma basique... ;-) lol

    (en gras les niveaux (catégories) et en italique les services)

    [Niveau 1]
    Ets A |-------------- Hommes et direction
    | | [Niveau 2]
    | |-------Hommes
    | | | [Niveau 3]
    | | |------- Sce Paie
    | | |------- Sce Ressources humaines
    | |-------Direction
    |
    |-------------- Administratif
    | |
    | |-----Comptabilité
    |
    |-------------- Economie

    Ets B |-------------- Sécurité
    | |
    | |-------Interne
    | | |
    | | |------- Sce Communication
    | | |------- Sce Intervention
    | |-------Externe
    |
    |-------------- Recherche
    |
    |-----Sce R&D
    |-----Sce laboratoire

    ETC....


    Je sais que je vais avoir besoin d'une table "Entreprise" et d'une table "Service" mais le problème que je rencontre est pour gérer les niveaux.
    Dois je créer une nouvelle table (genre "niveaux")? Comment faire mes relations? bref toute sorte de question pour réaliser cela

    En bref comment gérer le fait qu'un service appartienne à un niveau d'une entreprise.

    J'éspère que mon problème est compréhensible (bien que pas facile à exposer)

    Merci beaucoup à ceux qui pourront m'éclairer.

    Passez tous des joyeuses fêtes de fin d'année...

    M@tt

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Bonjour,

    Pour modéliser il est plus simple de partir d'un modèle conceptuel, pour moi ça marche beaucoup mieux

    Voici comment j'aurais représenté le modèle ( désolé je peux pas faire de joli dessin )

    Entités : Entreprise et Service
    Relation : Un entreprise possède 0 ou n Service.
    Attributs : Chaque service possède un attribut qualifiant son niveau.

    Ainsi, au niveau modèle physique :

    Entreprise
    identreprise
    nomentreprise

    Service
    idservice
    identreprise
    libelleservice
    niveauservice

    Ca me parrait correspondre à ton besoin non ?

    Donc il se peut très vraisemblablement que tu aies plusieurs lignes pour un même "libellé" de service; aucun problème, tu peux introduire une table listant tous les services possibles :

    Type_Service
    idtypeservice
    libelleservice

    Et ta table Service devient:
    idservice
    identreprise
    idtypeservice
    niveauservice



    Qu'en pensez-vous ?
    K

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci Kilveiden,
    ton approche et ton idée de solution me paraisse correspondre à ce que je cherche, je vais creuser ca et le mettre en application pour ma base.

    Désolé de ne pas être parti du modèle conceptuel dans ma question (tu as raison c'est quand même beaucoup plus pratique) mais j'ai rédigé mon post un peu trop vite... ;-)

    En tous cas merci à toi pour tes idées.

    Passe de bonne fêtes, je posterai sur le forum si j ai un souci ou si je résoud complétement mes problèmes de base

    M@tt

Discussions similaires

  1. Besoin d'aide pour la modélisation d'une base de donnée
    Par brifa14 dans le forum Modélisation
    Réponses: 7
    Dernier message: 07/01/2014, 18h25
  2. [MCD] Besoin D'aide pour la modélisation d'un MCD
    Par hyplud dans le forum Schéma
    Réponses: 4
    Dernier message: 25/05/2011, 10h31
  3. [MCD] Besoin d'aide pour modéliser une nomenclature
    Par mik3.42 dans le forum Schéma
    Réponses: 3
    Dernier message: 27/10/2008, 16h01
  4. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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