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 :

Société d'audiovisuel


Sujet :

Schéma

  1. #21
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut En passant...
    Bonsoir,


    Vite fait en passant.


    Citation Envoyé par delarita
    Qu'est-ce donc que ces Access Key ?
    C’est un mélange logico/physique : pour DB-MAIN, il s’agit simplement d’anticiper sur le comment, c'est-à-dire sur la performance des requêtes SQL : cocher la case « access key » provoque, dans le script SQL de création des tables, la génération des instructions CREATE INDEX. En fait ce travail revient au DBA, lequel est seul à pouvoir mettre en évidence quels index sont pertinents, car c’est lui qui dispose du thésaurus de ces requêtes (ne serait-ce qu’en consultant les métatables du catalogue relationnel du SGBD). Bref, on est là dans la soute, chaque chose en son temps, pour le moment faites abstraction de ces considérations physiques, bassement matérielles, décochez systématiquement la case « access key » qui ne fait rien qu’à surcharger les schémas et fait loucher.



    Citation Envoyé par delarita
    Qu'est-ce donc que ces "equ :" en identifiant ...???
    Soit N1 le nombre de valeurs distinctes de l’attribut filmId de la table FILM et soit N2 le nombre de valeurs distinctes de l’attribut filmId de la table POSTE :

    (a) Selon le MCD, à cause de la cardinalité minimale 1 portée par la patte connectant l’entité-type FILM et l’association POS_FIL, chaque valeur de l’attribut filmId de la table FILM est contrainte à être une valeur de l’attribut filmId de la table POSTE, en conséquence de quoi on doit vérifier N1 ≤ N2.

    (b) Selon MLD, à cause de l’intégrité référentielle liant la table poste à la table FILM, chaque valeur de l’attribut filmId de la table POSTE est contrainte à être une valeur de l’attribut filmId de la table FILM, en conséquence de quoi on doit vérifier N2 ≤ N1.

    Conclusion : N1 = N2. Les « equ » de DB-MAIN sont en fait des mickeys dont l’objet est de mettre en évidence cette égalité.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Mr Fmsrel,

    Les questions techniques commencent à se cumuler.
    De votre côté comme du mien.

    Citation Envoyé par fsmrel Voir le message
    Concernant le niveau MLD, ne vous précipitez pas, focalisez-vous d’abord sur le MCD : le MLD est seulement une étape obligée pour créer le script SQL de création des tables.
    Je ne veux surtout pas me précipiter. Je me prêtais au jeu de la curiosité. J'avoue que je préfére refermer pour le moment cette porte.

    Citation Envoyé par fsmrel Voir le message
    Pourquoi avoir mis en œuvre un attribut qualificationid (entité-type QUALIFICATION) ? Même question concernant l’attribut posteid (entité-type POSTE).
    Cela vient d'une erreur, d'une manipulation hasardeuse de ma part. Voulant transformer ces associations en entité-type avant d'avoir modifié les cardinalités,
    je me suis retrouvé avec des entités dépourvues des Id "components". Du coup j'ai utilisé les clic-droit "Add tech id" (a peu près cette dénomination) qui a fait apparaitre
    un id pour ces entité et ensuite j'ai modifié les "components" via la boite de propriété en ajoutant les autres identifiants et en supprimant les id des entité-type. Mais du coup
    elles étaient présente comme attribut.

    J'ai depuis refait la manip globale et cela est rentré dans l'ordre.

    Citation Envoyé par fsmrel Voir le message
    A titre indicatif, de mon côté, DB-MAIN créée le MLD suivant :
    Que je retouche, en évacuant les redondances d’attributs (metier_id) :
    A titre d’exercice, Je vous laisse réfléchir au pourquoi de l’évacuation de la redondance...
    Je ne remet pas les lien vers les images présentes plus haut.
    Je garde votre exercice sous le coude.
    J'ai re-regardé ce que vous dite sur les projections dans votre article sur la normalisation part.B.2 (toujours ouvert dans une fenêtre de navigateur...) et du coup, en cherchant ce que recouvre le terme "cardinal" lu à nouveau votre billet sur le MLD (point 2 rep graphique). Honnêtement, je ne suis pas encore au niveau. Cela fait son chemin...

    Citation Envoyé par fsmrel Voir le message
    C’est un mélange logico/physique : pour DB-MAIN, il s’agit simplement d’anticiper sur le comment, c'est-à-dire sur la performance des requêtes SQL : cocher la case « access key » provoque, dans le script SQL de création des tables, la génération des instructions CREATE INDEX. En fait ce travail revient au DBA, lequel est seul à pouvoir mettre en évidence quels index sont pertinents, car c’est lui qui dispose du thésaurus de ces requêtes (ne serait-ce qu’en consultant les métatables du catalogue relationnel du SGBD). Bref, on est là dans la soute, chaque chose en son temps, pour le moment faites abstraction de ces considérations physiques, bassement matérielles, décochez systématiquement la case « access key » qui ne fait rien qu’à surcharger les schémas et fait loucher.
    Ok, ça j'ai vu.
    Et je prévois pas de loucher de suite.
    Ceci dit vous amenez une question que je poserai d'ici peu, puisque viendra le moment d'être aussi le "DBA" (d'ailleurs c'est qui lui ?) et de répondre à la demande
    insistante du documentaliste avec qui je travaille... "Et le thésaurus alors ?". A quoi je réponds "Ne t'inquiètes pas ça va être si facile...." dis-je un brin inquiet.

    Citation Envoyé par fsmrel Voir le message
    Soit N1 le nombre de valeurs distinctes de l’attribut filmId de la table FILM et soit N2 le nombre de valeurs distinctes de l’attribut filmId de la table POSTE :

    (a) Selon le MCD, à cause de la cardinalité minimale 1 portée par la patte connectant l’entité-type FILM et l’association POS_FIL, chaque valeur de l’attribut filmId de la table FILM est contrainte à être une valeur de l’attribut filmId de la table POSTE, en conséquence de quoi on doit vérifier N1 ≤ N2.

    (b) Selon MLD, à cause de l’intégrité référentielle liant la table poste à la table FILM, chaque valeur de l’attribut filmId de la table POSTE est contrainte à être une valeur de l’attribut filmId de la table FILM, en conséquence de quoi on doit vérifier N2 ≤ N1.

    Conclusion : N1 = N2. Les « equ » de DB-MAIN sont en fait des mickeys dont l’objet est de mettre en évidence cette égalité.
    Bon, même si j'ai le sentiment que cela n'est pas urgent.
    N1 : Cela doit être toutes les lignes de la table FILM non ? Si filmId est en incrémentation auto comment peut il y avoir deux fois la même valeur ?
    N2 : Dans le cas ou l'on relie METIER à FILM et créons l'association, puis l'entité-type POSTE.
    Et de toute façon. Comment pourrait-on avoir plus de Film via filmId dans POSTE qu'il n'y a de film dans FILM ?
    A moins que l'on parle des tulpes, qui ont aussi comme attribut fllmId?
    A suivre.

    Pour ma part,
    Et c'est pour le moment l'endroit ou je bloque.

    Quelle peut-être la solution pour relier la boucle qui mène de POSTE et EQUIPE (quelque soit l'ordre dans laquelle on la construit) aux entité type FILM et PRODUCTION.
    Sachant qu'une boucle (et je ne parle même pas du point relevé par vous dans votre premier post sur l'éventualité de résultat différent selon le chemin emprunté) est lié soit à des FILMS soit à des PRODUCTIONS ? Avec en plus des contraintes énoncées dans les règles de gestion dans mon précédent post.
    Je tourne le truc dans tous les sens, sans comprendre.
    Faut-il créer une association ternaire Equipe entre QUALIFICATION (déjà transformée en entité), FILM et PRODUCTION. Transformer Equipe en EQUIPE, créer l'association Poste puis la transformer à son tour. Ou faut il rajouter à posteriori, depuis POS_FIL (ou EQU_FIL selon l'ordre chois) une patte vers PRODUCTION. J'ai tenté ces possibilités (jusqu'au MLD), et d'autres, sans bien comprendre ce que cela induit, ni si cela est un peu cohérent, ou même fonctionnel.

    C'est un noeud que je ne résous pas pour le moment.
    Depuis le début je sens qu'il y a un problème à cet endroit de la conception.
    Je pense que si je parviens à comprendre la logique qui sortira de là, les choses iront mieux ensuite.

    Je ne laisse pas de graph d'exemple dans ce post pour ne pas polluer plus. (j'en ai pour 10Mo de jpeg déjà avec tous les essais...)

    Bien à vous
    Del.

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut ...
    Pour résumer.

    On commence forcément par créer une relation entre PERSONNE et METIER.
    On a donc une association que l'on peut nommer après modification des cardinalités et transformation en entité-type : QUALIFICATION ou TECHNICIEN.

    [PERSONNE]--0,N----------(R)----------1,N--[METIER]
    [PERSONNE]--0,N----------(QUA_PER)----------1,1--[QUALIFICATION/TECHNICIEN]--1,1----------(QUA_MET)----------1,N--[METIER]

    Ensuite vient le choix.
    Soit on crée une relation entre QUALIFICATION/TECHNICIEN et FILM et/ou PRODUCTION auquel cas on obtient la R: équipe que l'on transforme en Entité EQUIPE.
    On crée ensuite la relation entre EQUIPE et METIER afin d'obtenir l'entité POSTE à la fin.

    Soit on crée une relation entre METIER et FILM et/ou PRODUCTION auquel cas on obtient la R:poste que l'on transforme en POSTE
    On crée ensuite la relation entre POSTE et QUALIFICATION afin d'obtenir l'entité EQUIPE à la fin.

    Quel que soit le sens que l'on choisisse, il faut trancher ce et/ou puisqu'à la fin le besoin est que PRODUCTION et FILM puissent disposer de 1 à N EQUIPE.
    Avec la possibilité d'intégrer les règle de gestion d'équipes multiples successives et/ou simultanées de structures (nombre de POSTEs et type(nom) de METIER) possiblement différentes.

    Voilà pour moi le casse tête.
    Cordialement
    Del.

  4. #24
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut ...
    Vraiment,

    En rêvant
    Quand aura t'on des outils de travail collaboratif en ligne ?
    Avoir la possibilité de traiter un document ( un projet DB-Main par exemple ) en ligne et à plusieurs.
    Pas seulement pour avancer un projet mais aussi pour comprendre bien plus vite le fonctionnement d'un outils,
    ces limites à version N.n (ex : comment revenir à un MCD sur schéma ou une vue quand on l'a transformé en MLD... le pomme+Z ne fonctionnant jamais)
    Del.

  5. #25
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut Films et prestations
    Bonsoir,


    Citation Envoyé par delarita
    Sur la question des Postes.
    Les exemples que vous donnez sont éclairants et me confortent dans la modélisation que j’ai proposée, à savoir (1) que le besoin précède l’affectation des gens et (2) ce qu’est une équipe. Mais je n'ai pas encore tout lu, je repartirai donc pour un tout de manège au sujet de ces affectations.

    Mais avant cela, traitons de la relation entre les films et les prestations :

    Une commande de film par un client déclenche la mise en oeuvre d’une prestation. Je suppose donc que l’on a schématiquement ceci :

    [FILM]--1,1-----------(DECLENCHER)---------1,1--[PRESTATION]

    A moins que ce ne soit plutôt :

    [FILM]--1,1-----------(DECLENCHER)---------1,N--[PRESTATION]

    Mais certainement pas (entre autres) :

    [FILM]--1,N-----------(DECLENCHER)---------1,1--[PRESTATION]

    Qu’en est-il ?


    En tout cas, si une prestation fait référence à un et un seul film (ou à un produit d’une façon générale), je vais dire que les équipes, postes et toutes ces choses qui sont en relation avec une prestation, le sont de facto, avec le film, celui-ci en hérite : les équipes et postes associés à un film sont en fait les équipes et postes associés à la prestation (ou aux prestations) attachée(s) au film. Si tout cela est vrai, alors il est inutile d’établir des liens directement entre les films et les postes (ou les équipes), ces liens ne pourraient être que redondants.

    Ebauche de diagramme correspondant :

    [FILM]--1,N-----(DECLENCHER)-----1,1--[PRESTATION]--1,N-----(POS_PRE)-----1,1--[POSTE]
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #26
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut Rétro-conception
    Citation Envoyé par delarita
    Comment revenir à un MCD sur schéma ou une vue quand on l'a transformé en MLD...

    Je n’ai pas encore eu le temps de pondre de billet traitant de la rétro-conception, mais disons que l’opération se résume à ceci :

    Assist > Global transformation > Bouton « Predefined », dans la liste des scripts, choisir « Relational rev. eng. » :





    Puis faire « OK » partout. Parfois DB-MAIN tousse et laisse certaines choses en l’état quand il ne sait pas faire : on complète alors à la main...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #27
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Mise au point
    Bonjour,
    Citation Envoyé par fsmrel Voir le message
    Bonsoir,
    Les exemples que vous donnez sont éclairants et me confortent dans la modélisation que j’ai proposée, à savoir (1) que le besoin précède l’affectation des gens et (2) ce qu’est une équipe. Mais je n'ai pas encore tout lu, je repartirai donc pour un tout de manège au sujet de ces affectations.
    Sur ce point nous sommes en phase.

    Citation Envoyé par fsmrel Voir le message
    Mais avant cela, traitons de la relation entre les films et les prestations :

    Une commande de film par un client déclenche la mise en oeuvre d’une prestation. Je suppose donc que l’on a schématiquement ceci :
    [FILM]--1,1-----------(DECLENCHER)---------1,1--[PRESTATION]

    A moins que ce ne soit plutôt :

    [FILM]--1,1-----------(DECLENCHER)---------1,N--[PRESTATION]

    Mais certainement pas (entre autres) :

    [FILM]--1,N-----------(DECLENCHER)---------1,1--[PRESTATION]

    Qu’en est-il ?
    Par contre, ici, je vois bien que je n'ai pas correctement exprimé le model que je souhaite établir.

    Les FILM et les PRESTATION (Elles même séparée en entités PRODUCTION (incluant les entités LABO et TOURNAGE) et DIFFUSION)
    Les FILM et les PRESTATION ne sont pas directement connectés.
    Si un lien se fait entres ces deux tables c'est en remontant par la boucle, en passant par PROJET qui le haut du model.

    A_ L'entité type FILM est essentiellement mise en place pour traiter notre catalogue de Film tournés entre 1950 et aujourd'hui.
    Selon les années les nouvelles entrées seront de quelques unités à disons une vingtaine.

    Afin de pouvoir gérer les cas ou nous décidons de mettre en oeuvre des travaux sur nos film (scan/copie vidéo/DCP ou tout autre),
    j'ai créer l'entité PROJET qui permet de dire :
    1/ Je crée un Projet.
    2/ Ce projet va concerner tel film de l'entité FILM (qui a eu, par le passé, lors de son tournage une/des EQUIPES que l'on doit connaitre)
    3/ Ce projet va impliquer telle ou telle type de travaux (de PRESTATION) et le CLIENT, c'est nous-même.
    4/ Ce projet va impliquer des salariés de notre société (mes collègues et moi-même)
    ainsi que des intermittents selon les travaux à faire. Une/des equipes donc.

    B_ L'entité PRESTATION concerne essentiellement le travail que nous effectuons pour nos client.
    Actuellement, en terme de scan de film (de pellicule) et de numérisation de bandes vidéos, cela représente des milliers d'heures.
    Et un nombre conséquent de travaux (nb de jour) d'étalonnage (même s'il est inférieur à nos attentes...)

    Dans la vaste majorité des cas, un PROJET est donc ouvert pour les traiter les travaux (PRESTATION)
    que nous réalisons pour des CLIENTS autres que nous-même. Ce qui nécessite donc aussi de monter une/des equipes.

    Nous avons donc bien le besoin d'avoir des liens entre FILM et EQUIPE (ou POSTE)
    et des liens entre PRODUCTION (Plutôt que PRESTATION) et EQUIPE (ou POSTE)
    selon un MCD qui pourrais ressembler à ça :

    Nom : equipe_7_7.jpg
Affichages : 794
Taille : 94,8 Ko


    Je vois bien qu'il y a confusion et c'est peut-être du au nommage des entités-type.
    J'aurais pu nommer l'entité FILM en CATALOGUE. Mais, étant donné que nous n'avons que des films,
    et non de document audio ou pictural inscrit au catalogue, il m'a semblé normal de faire ainsi.


    Voilà.
    J'espère que je suis un peu plus explicite.
    Et que vous voyez dans quel impasse je me trouve...

    Cordialement
    Del.

  8. #28
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Et si ...
    Bonjour

    Afin de simplifier un peu.
    Peut t'on voir les choses autrement.

    On garde :

    [FILM]--0,N-----------(FINALISE)---------0,N--[PROJET]
    [PROJET]--1,N-----------(DECLENCHE)---------1,1--[PRESTATION]

    On lie PRESTATION à METIER par (POSTE) que l'on transforme en [POSTE] :
    [PRESTATION]--1,N-------(POS_PRE)--1,1------[POSTE]----1,1--(POS_MET)--0,N--[METIER]
    Je pense que les cardinalités sont plutôt dans ce sens (au moins un métier sur une presta/ des métiers (zéro ou plusieurs) peuvent être nécessaire à une presta)

    Et on lie [PRESTATION] à [FILM].
    Une PRESTATION peut CONCERNER un ou plusieurs FILM (Diffusion de plusieurs film ou extraits de film dans un musée)
    Un FILM est CONCERNE par au moins une PRESTATION (a minima le tournage d'origine afin d'associer au moins une EQUIPE au FILM)
    D'où :
    [PRESTATION]--0,N-----------(CONCERNE)---------1,N--[FILM]
    Peut-être perd t'on des règles au passage.

    A voir.

  9. #29
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut Cohabitation ?
    Bonsoir Del,


    Avant d’aller plus loin, j’aimerais que soit levé ce que je ressens comme un quiproquo à propos des films. Remettons les choses à plat. Manifestement deux scénarios sont en jeu :


    Scénario PROJET

    Traitons d’abord du cas très général des projets à réaliser, en dehors de votre cas spécifique. Par exemple, j’ai pour ma part participé à des dizaines de projets de conception et réalisation de systèmes d’information, et bien entendu, avant de constituer des équipes, les organisateurs commençaient par définir les besoins en ressources « métier », c'est-à-dire en postes (chef de projet, analyste, concepteur, développeur, administrateur des bases de données, etc.) ; c’est seulement après cela qu’étaient affectées les personnes (Fernand, Raoul, Paul, etc.) ayant la compétence requise pour les postes, d’où le diagramme reprenant celui du message #3 (dans lequel j’ai remplacé PRESTATION par PROJET) :





    Scénario FILM

    Dans le scénario PROJET, on traite des ressources dont on aura besoin, mais à l’opposé, vous disposez pour votre part de votre catalogue de films, lesquels furent tournés dans le passé, par Labonum ou d’autres sociétés, catalogue représentant donc un historique ; il s’agit de films pour lesquels les équipes furent constituées en leur temps, en vertu de quoi par contraste avec le scénario PROJET il n’y a pas nécessité de modéliser une expression de besoins.

    En employant la forme prédicative, je suppose qu’on peut résumer la situation ainsi :

    Prédicat :

    A la réalisation du film F a participé l’équipe E ;

    Propositions :

    (P1) A la réalisation du film f1 a participé l’équipe e1
    (P2) A la réalisation du film f1 a participé l’équipe e2
    (P3) A la réalisation du film f1 a participé l’équipe e3
    (P4) A la réalisation du film f2 a participé l’équipe e2
    (P5) A la réalisation du film f2 a participé l’équipe e4
    ...


    Prédicat :

    Le technicien T a fait partie de l’équipe E pour le métier M.

    Propositions :

    Le technicien t1 a fait partie de l’équipe e1 pour le métier m1
    Le technicien t1 a fait partie de l’équipe e2 pour le métier m1
    Le technicien t2 a fait partie de l’équipe e1 pour le métier m1
    Le technicien t2 a fait partie de l’équipe e2 pour le métier m2
    Le technicien t3 a fait partie de l’équipe e1 pour le métier m2
    ...

    D’où le diagramme :





    Mais, au besoin, on peut parler au futur antérieur, et vraisemblablement faire évoluer ce diagramme pour aboutir à celui du scénario PROJET.

    Quoi qu’il en soit, concernant les films, certes il y a le passé, mais à vous lire, un client (un tiers ou Labonum lui-même) peut passer une commande, faisant l’objet d’un projet, donc d’une ou plusieurs prestations de type labo (restauration, numérisation, etc.), portant sur tel film du catalogue (par exemple le film f1 pour reprendre l’exemple ci-dessus) ; on est bien alors dans un scénario de type PRESTATION analogue au scénario PROJET, en ce sens qu’on définit d’abord les ressources avant d’affecter des équipes :





    S’il en est ainsi, je suis amené à penser (peut-être à tort...) que votre souci est d’éviter d’avoir à modéliser des entités-types distinctes (EQUIPE, POSTE) du fait de la façon dont on doit prendre en compte, d’une part les équipes qui par le passé réalisèrent le film f1, et d’autre part celles qui participeront aux travaux de restauration, de numérisation, etc. de f1. Sans parler des tournages (lesquels ne concernent pas le catalogue), avant d’en venir à des contorsions, des transformations du MCD, votre souci a-t-il bien à voir avec la « cohabitation » des deux scénarios pouvant concerner le film f1 ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Ca chauffe..
    Bonjour,

    Effectivement on s'approche du noeud.

    A_ La plupart des travaux AUJOURD'HUI concernent des prestations sur des produits audiovisuels qui n'ont rien à voir avec notre catalogue.
    On a donc bien, comme vous le montrez :
    PROJETS qui DECLENCHENT des PRESTATIONS (de differentes natures) qui nécessitent des POSTES et forment des EQUIPES
    Au Détail près de la possibilité de plusieurs EQUIPES simultanées ou successives

    B_ Pour ce qui est des FILMS du Catalogue :
    Le passé commence en gros pour nous aux années 40/50.
    La plupart des techniciens composant les EQUIPES d'alors sont aujourd'hui décédés.
    Mais le passé à le vilain défaut de pouvoir dater des années 2000 ou plus proche...
    Et là, les TECHNICIENS sont non seulement en vie, mais encore actifs, et travaillent encore sur des PRESTATIONS (Point A_ ci dessus).

    C_ Pour continuer le Catalogue :
    Certains PROJETS ayant amené des PRESTATIONS sur des produits audiovisuels hors Catalogues se retrouve par les aléas de la production
    à être finalisé par des FILMS que l'on inscrit comme de nouveau FILMS du Catalogue. Et le Passé rejoint le Présent.
    Et les TECHNISIENS liés aux POSTES sur ces FILMS rentrent dans la base...

    D_ Sans Compter comme vous l'avez compris :
    Sans compter effectivement que sur les FILMS du Catalogue, de nouvelles PRESTATIONS (numérisation/restauration/réalisation de reportage recontextualisant le FILM dans son passé/DCP/DVD blablabla tout ce qu'on veut ....) vont CONCERNER ces FILMS, et donc à nouveau nécessiter POSTES et EQUIPES...

    E_ Considérant même que :
    Comble quelques fois du vicieux; quand un Musée nous demande la réalisation de FILMS (nouveaux donc) portant sur un sujet donné et que nous utilisons en partie nos Archives (FILMS au Catalogue) afin de les réaliser. Du coup des PRESTATION de LABO vont être nécessaire (Point D_) pour répondre à la demande du Client (Point A_) et au final ces nouveaux FILMS rentreront aussi à notre Catalogue, en tant que coproducteur ayant des droits (Cas assimilé au Point C_)

    Même si je comprends bien que c'est un peu lourd, je me permets de joindre la dernière version du graph tel qu'il est sous DB-Main (9.2.0_32 Mac).
    La partie colorée représentant l'évolution qui, j'imagine, permettrait de résoudre nos circonvolutions.
    Sachant que je ne comprends toujours pas comment on gère la règles de "Plusieurs équipes simultanées et/ou successives sur une Prestation"

    Nom : Regles de Gestion_7_6.jpg
Affichages : 866
Taille : 358,2 Ko

    Sachant aussi que la partie basse concernant les fichiers n'est pas encore aboutit.
    Je pense faire remonter dans la base des infos de traitement (en XML) réalisée en script bash.
    En particulier sur la gestion des fichiers nouveaux/modifiés/déplacés/supprimés selon des règles d'historique que je serais mieux à même de gérer ainsi.
    Du coup, cette association déguisée "RENDRE" n'est peut-être pas encore bien maitrisée.
    Mais ça, c'est pour le prochain noeud...

    Je vous remercie encore pour votre patience à mon égards.
    Cordialement.
    Del

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut ...
    Ceci dit,
    pour répondre très directement à votre question on a bien un problème de cohabitation.
    (et peut être le graph le fait-il indirectement avec l'association CONCERNER et sa cardinalité 1-N côté FILMS).

    Pour ma part je la vois (voyais) plus entre FILMS et PRESTATION.
    Je n'ai pas de problèmes, or ceux de la compréhension initiale et du besoin de 1-N Equipes pour 1 Presta, dans la modélisation par associations déguisées que vous proposez.
    A mon avis elle convient pour les deux cas de figure.
    Mais ces deux cas doivent êtres distinct et donc FILM n'est pas égal à PRESTATION.

    Del.

  12. #32
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir Del,


    Citation Envoyé par Del
    je ne comprends toujours pas comment on gère la règles de "Plusieurs équipes simultanées et/ou successives sur une Prestation"
    Si vous regardez le message #15, vous constaterez qu’une équipe est constituée pour une période donnée. Je reprends l’image correspondante :





    Par ailleurs, le MCD montre qu’une prestation comporte au moins un poste, et qu’un poste (à moins de ne pas avoir encore commencé à être « équipé ») peut comporter plusieurs équipes qui manifestement peuvent être opérationnelles en même temps ou successivement, selon la valeur de l’attribut periode :





    Maintenant, puisqu’un film des années cinquante peut être vu quant à son tournage comme impliqué dans une prestation d’un projet datant de ces années-là, et soixante ans plus tard dans une prestation d’un projet d’aujourd’hui (disons un labo), le MCD ci-dessus peut être complété ainsi :





    Et pour travailler à maille plus fine, on peut associer POSTE non pas à PRESTATION, mais à PRE_FILM (dont il faudra faire une entité-type), ou plus finement associer EQUIPE à PRE_FILM.


    Exemple, avec EQUIPE et PRE_FILM :





    N.B. On observe la présence d’une boucle mettant en jeu PRESTATION, POSTE, EQUIPE et PRE_FILM : il y aura une contrainte de chemin à prévoir au stade MLD, en sorte que les équipes référençant telle prestation via POSTE ne référencent pas telle autre prestation via PRE_FILM. Mais chaque chose en son temps.

    La cardinalité portée par la patte connectant EQUIPE et EPF est peut-être 1,N.


    Votre avis ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Bonjour fsmrel,

    Je pense qu'on est bon sur ce dernier schéma.

    - En fait, en ce qui concerne la fameuse règles, je vois bien le 1-N au départ de PRESTATION vers POSTE, je vois bien aussi l'interêt de l'attribut periode.
    Je me rends compte en fait que j'étais dans la confusion sur la création de la clé secondaire avec EQU_POS.POSTE, EQU_QUA.QUALIFICATION et periode.
    La contrainte d'unicité est-elle bien sur le triplet n'est-ce pas ?

    - A priori, la cardinalité entre PRESTATION et FILM est plutôt 0-N : Il peut y avoir des PRESTATIONS qui ne concerne pas de FILMS.

    - Quand vous parlez de travailler à maille plus fine, j'avoue ne pas bien comprendre. Est-ce que cela va faire une grande différence au niveau des requêtes SQL une fois la base en fonctionnement ou bien est-ce à un autre niveau que cela a une influence ?

    Cordialement.
    Del

  14. #34
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir Del,


    Citation Envoyé par Del
    La contrainte d'unicité est-elle bien sur le triplet n'est-ce pas ?
    Oui. Revoyez le message #15. Les triplets id = {EQU_POS.POSTE, EQU_QUA.QUALIFICATION, equipeId} et id’ = {EQU_POS.POSTE, EQU_QUA.QUALIFICATION, periode} sont des identifiants « candidats » qui donneront lieu au niveau relationnel à des clés candidates, assujetties à la règle d’unicité (et celle d’irréductibilité). En principe, id’ suffit, mais l’utilisateur peut modifier l’attribut periode, c'est-à-dire en changer les valeurs : pour respecter la règle d’or de Tabourier, on met en oeuvre l’attribut equipeId auquel l’utilisateur n’aura pas accès.



    Citation Envoyé par Del
    Quand vous parlez de travailler à maille plus fine, j'avoue ne pas bien comprendre. Est-ce que cela va faire une grande différence au niveau des requêtes SQL une fois la base en fonctionnement ou bien est-ce à un autre niveau que cela a une influence ?
    Puisque la possibilité en est donnée, il s’agit surtout de compléter le MCD en rétablissant l’association que vous aviez établie entre FILM et EQUIPE (cf. les messages #11, #27), et dont j’avais traité dans le message #29 (association EQU_FIL).

    Quant aux requêtes SQL, celles-ci peuvent être rendues moins compliquées et plus performantes grâce au raccourci que représente l’association EPF.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Confirmez vous que la cardinalité PRESTATION et FILM est 0-N telle que je l'ai indiqué (au départ de PRESTATION) en fonction de la règle :
    Une Prestation peut exister sans relations à un Film.
    Suis-je cohérent ?

    Sinon,
    Pour moi, relier FILM ou PRESTA à EQUIPE plutôt qu'à POSTE répondait plus à une perception logique, à un modèle; Un Film à une ou des EQUIPES, quelle est l'EQUIPE du FILM ?
    Je pensais en amateur en quelque sorte et non pas du point de vue du schéma. D'où ma confusion. Je pense avoir bien compris le sens de votre proposition, de votre perception.
    Ceci dit, si l'ajout de cette relation supplémentaire peut-être un gain pour la suite, mettons là en place.

    Cordialement,
    Del

  16. #36
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Re-bonsoir Mr Fsmrel,
    Je tenais vraiment à vous remercier pour votre attention et votre temps passé jusqu'ici.
    En espérant pouvoir déboucher le tout de ce schéma avec votre soutient.
    Del

  17. #37
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir Del,


    Citation Envoyé par Del
    Confirmez vous que la cardinalité PRESTATION et FILM est 0-N telle que je l'ai indiqué (au départ de PRESTATION) en fonction de la règle :
    Une Prestation peut exister sans relations à un Film. Suis-je cohérent ?
    Bien entendu, si une prestation peut concerner autre chose qu’un film, la cardinalité 0,N est celle qui convient. Maintenant, si vous décidiez d’étendre le champ des prestations, de sorte qu’un film soit seulement un produit particulier, vous pourriez définir une entité-type PRODUIT, dont l’entité-type FILM serait une spécialisation et, la cardinalité 0,N deviendrait 1,N dans la mesure où une prestation concernerait au moins un produit.



    Citation Envoyé par Del
    Pour moi, relier FILM ou PRESTA à EQUIPE plutôt qu'à POSTE répondait plus à une perception logique, à un modèle; Un Film à une ou des EQUIPES, quelle est l'EQUIPE du FILM ?
    Je pensais en amateur en quelque sorte et non pas du point de vue du schéma.
    C’est en forgeant qu’on devient forgeron... Cela dit, poser la question « Quelle est l'EQUIPE du FILM ? » est évidemment sensée et légitime, elle entraîne la mise en oeuvre de ce qu’en Merise on appelle un modèle externe, une sorte de vue, de champ opératoire à plaquer sur le MCD et conduit à l’étape de la vérification de la de complétude, la validité de ce MCD. La mise en œuvre de l’association EPF relève plus pour sa part de l’optimisation du modèle, que l’on peut prendre en compte dès le MCD.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  18. #38
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut Aller de A à Z, via différents chemins
    Bonsoir Del,



    A propos des chemins différents, menant de A à Z.


    Reprenons le 1er MCD présenté dans le message #32 :





    On observe l’existence d’une boucle, d’un cycle, dont les associations entre entités-types METIER, POSTE, EQUIPE, QUALIFICATION sont la cause. Ainsi, à partir de l’entité-type EQUIPE, via POSTE, on peut « naviguer » vers METIER selon un 1er chemin, et via QUALIFICATION, naviguer vers METIER selon un 2e chemin, mais rien n’impose que, selon le chemin utilisé, les métiers sélectionnés soient strictement les mêmes, alors que du point de vue de l’application, il doit en être ainsi : si l’on n’y prenait garde, il pourrait y avoir des incohérences dans la base de données...

    Exemple légal au vu du modèle, mais illégal vu de l’application :

    L’équipe e1 fait référence au poste p1, lequel fait référence au métier m1 ;

    L’équipe e1 fait référence à la qualification q1 laquelle fait référence au métier m2.

    En théorie, dans le cadre de la théorie relationnelle (alias modèle relationnel de données) on devrait mettre en oeuvre une contrainte ad-hoc, vérifiant que m1 = m2.

    Ici, il suffit d’aménager le MLD produit par DB-MAIN.


    Le MLD à l’état brut :





    Dans l’état du MLD, les incohérences évoquées sont rendues possibles du fait de l’existence dans la table EQUIPE de l’attribut EQU_metierId en plus de l’attribut metierId, alors qu’il fait double emploi. Pour empêcher ces incohérences, on doit en théorie mettre en oeuvre une contrainte forçant ces deux attributs à prendre les mêmes valeurs : le plus simple est évidemment de les fondre en un seul, l’égalité est alors effective, question de bon sens.

    Techniquement parlant, on va se débarrasser de l’attribut EQU_metierId, mais en le remplaçant d’abord par metierId dans la clé étrangère (ref) {EQU_prestationId, EQU_metierId}, puis en le supprimant dans les clés candidates (id et id’).

    Mettons les mains dans le cambouis. En cliquant sur la clé étrangère en cause, on provoque l’ouverture la boîte de propriétés associée :





    En cliquant sur la propriété « components », on provoque l’ouverture de la fenêtre « Multiple choice dialog », dans laquelle on effectuera un « Remove » de l’attribut EQU_metierId, puis, pour le remplacer, un « Add Next » de l’attribut metierId :





    Au résultat :





    Ceci fait, on peut supprimer l’attribut EQU_metierId dans les clés candidates id et id’. Là encore, on passe par la boîte de propriétés, où l’on clique sur la propriété « components ». Exemple avec la clé id :





    Dans la fenêtre « Multiple choice dialog », on effectue un « Remove » décisif de l’attribut EQU_metierId :





    Au résultat :





    De la même façon, on débarrasse la clé id’ de l’attribut EQU_metierId. Au résultat :





    Les clés candidates et étrangères ayant été débarrassées de l’attribut EQU_metierId, on peut supprimer ce dernier qui est devenu sans emploi. Au résultat :





    Désormais, quel que soit le chemin emprunté, c'est-à-dire via POSTE ou QUALIFICATION, chaque équipe ne peut faire référence qu’à un seul métier.

    En complément, histoire de se débarrasser d’un préfixe « EQU » qui n’apporte rien, on renomme EQU_prestationId en prestationId. DB-MAIN renomme de lui-même l’attribut dans les clés :





    Script SQL produit par DB-MAIN (table EQUIPE, attribut periode : j’ai ajouté le type daterange manuellement) :


    
    create table METIER (
         metierId int not null,
         metierNom varchar(32) not null,
         constraint ID_METIER primary key (metierId));
    
    create table PERSONNE (
         personneId int not null,
         personneNom varchar(32) not null,
         constraint ID_PERSONNE primary key (personneId));
    
    create table QUALIFICATION (
         metierId int not null,
         personneId int not null,
         constraint ID_QUALIFICATION primary key (metierId, personneId));
    
    create table PRESTATION (
         prestationId int not null,
         prestationNom varchar(32) not null,
         constraint ID_PRESTATION_ID primary key (prestationId));
    
    create table POSTE (
         prestationId int not null,
         metierId int not null,
         quantite int not null,
         constraint ID_POSTE primary key (prestationId, metierId));
     
    create table EQUIPE (
         prestationId int not null,
         metierId int not null,
         equipeid int not null,
         personneId int not null,
         periode daterange not null,
         constraint ID_EQUIPE primary key (prestationId, metierId, personneId, equipeid),
         constraint SID_EQUIPE unique (prestationId, metierId, personneId, periode));
    
    alter table EQUIPE add constraint FKEQU_QUA
         foreign key (metierId, personneId)
         references QUALIFICATION (metierId, personneId);
    
    alter table EQUIPE add constraint FKEQU_POS
         foreign key (prestationId, metierId)
         references POSTE (prestationId, metierId);
    
    alter table POSTE add constraint FKPOS_MET
         foreign key (metierId)
         references METIER (metierId);
    
    alter table POSTE add constraint FKPOS_PRE
         foreign key (prestationId)
         references PRESTATION (prestationId);
    
    alter table QUALIFICATION add constraint FKQUA_MET
         foreign key (metierId)
         references METIER (metierId);
    
    alter table QUALIFICATION add constraint FKQUA_PER
         foreign key (personneId)
         references PERSONNE (personneId);
    
    

    A suivre : prise en compte des entités-types FILM, PRE_FILM et de l'association EPF.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  19. #39
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Je lis
    Je lis,
    Et je n'en suis qu'au début.
    Pourquoi quand vous créez un MLD les EQU deviennent des EQU et chez moi cela devient des E_P ?
    Juste une remarque en passant,
    maintenant je lis.
    Del

  20. #40
    Nouveau membre du Club
    Homme Profil pro
    technicien audiovisuel
    Inscrit en
    Mars 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien audiovisuel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2016
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Mais
    Mais je crois comprendre aussi que vous me donnez aussi la solution de votre exercice.
    A savoir pourquoi l'évacuation de la redondance...
    Del

Discussions similaires

  1. [MySQL] Recherche dans une base de donnée [ Gros soucis ]
    Par milkasoprano dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/03/2006, 18h59
  2. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 19h00
  3. Recherche dans une base de donnée
    Par genova dans le forum SQLite
    Réponses: 8
    Dernier message: 29/09/2005, 00h16
  4. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 07h47
  5. recherche dans une base de donnée+boucle
    Par eric205 dans le forum Bases de données
    Réponses: 8
    Dernier message: 15/03/2005, 22h14

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