> Tous les forums > Forum Autres langages
 Les cardinalités Sql (Bonhomme NULL et Clés étrangères)
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Labougie
  Posté le 21/01/2015 @ 12:08 
Aller en bas de la page 
Groupe Sécurité

Bonjour,

Le lecture du digramme se fait ainsi



film => réalise => réalisateur
film => produit => producteur
film => joue => acteur

support représente les différents médias (dvd br br3d etc...)
son représente les différents codages (2.0 2.1 5.1 dts atmos etc...)

Je souhaite réaliser cette bd, mais les cardinalités me sortent par les yeux, et franchement ce n'est pas simple.
Après moultes lectures, il faut penser à gérer le bonhomme "NULL" (l'expression n'est pas la mienne).

Donc pour afficher ces cardinalités de façon simple.

un peu de lecture pour m'aider, (http://laurent-audibert.developpez.com/Cours-BD/?page=conception-des-bases-de-donnees-modele-a) mais rien n'y fait, cela ne passe toujours pas.

Il me manque un "boot" de logique, je dois avoir des neurones coincés. .

  • un film est réalisé par un réalisateur et un seul et la réciproque donne un réalisateur peut réaliser plusieurs films


film => 1,1 réalise <= 0,n réalisateur

  • un film est produit par un producteur et un seul et la réciproque donne un producteur peut produire plusieurs films


film => 1,1 produit <= 0,n producteur

  • un film est joué par un acteur ou par plusieurs et la réciproque donne un acteur peut jouer dans plusieurs films


film => 1,n joue <= 1,n acteur

.

1,1 indiquerait un et un seul

0,n indiquerait de 0 à plusieurs

1,n indiquerait de au moins 1 à plusieurs

Maintenant est-ce correct, et surtout ensuite vient le problème du bonhomme "NULL" et des clés étrangères, car si mes lectures sont bonnes, le bonhomme "NULL" est à proscrire.

Pas glop de faire juste, même avec des exemples qui sont aussi simples.

labougie

Publicité
ZenJP
 Posté le 21/01/2015 à 13:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Labougie
 Posté le 22/01/2015 à 12:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Groupe Sécurité

Bonjour ZenJp,

Merci pour tes lectures.

Je ne trouve pas cette étincelle qui produit le déclic (comprendre).

Est-ce qu'en fonction de la cardinalité, la clé étrangère peut se retrouver dans l'entité de droite ou de gauche?

J'ai complété en bleu les cardinalités manquantes. (à contrôler) car je ne suis pas certain de mes réponses.

Réalisateurs (o,n) peut donc réaliser aucun ou +sieurs films

Film (1,n) doit avoir au moins une affiche ou +sieurs

Cinéma (o,n) n'a soit pas d'affiche ou + plusieurs

Ce que je ne saisie pas c'est l'optimisation réalise. Pourquoi faut il supprimer cette (entité table)?

labougie

cseguenot
 Posté le 31/01/2015 à 18:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Laboujie,

Comme je crée pas mal de modèles de données à titre professionnel, je pense pouvoir t'aider. Cependant, je n'ai pas bien compris tes questions :

  • Qu'est ce que le bonhomme NULL ? Je n'ai pas vu cette expression dans l'article que tu as mis en lien...
  • De quelle optimisation parles-tu ? Quelle table est supprimée ?

Les cardinalités que tu as indiquées sur ton diagramme ci-dessus sont correctes.

Une chose importante qu'il faut comprendre est le processus suivant :

  1. Ton diagramme est un modèle conceptuel de données (MCD). C'est le modèle qu'on réalise pour réfléchir, c'est à dire poser les concepts (entités) et les relations qui les relient.
  2. Ce MCD te permettra ensuite de générer un modèle physique de données (MPD), qui traduit les entités en tables et les relations en clés étrangères.
  3. La dernière phase consiste à générer un script SQL à partir du MPD. Ce script permet de créer réellement les objets (tables, clés, index...) dans la base.

Les logiciels de modélisations de base de données (tels que Power AMC par exemple) permettent de générer automatiquement le MPD à partir du MCD, puis le script SQL à partir du MPD.

Il y a généralement + de tables dans le MPD que d'entités dans le MCD. En effet, à chaque fois que 2 entités sont reliées par des relations de type 0-n ou 1-n des 2 côtés, une table dite d'"association" sera générée en + des tables correspondant aux entités initiales. Par exemple, le relations Affiche et Joue de ton MCD seront traduites en tables dans le MPD.

J'espère que ceci te permettra déjà de mieux comprendre. Si tu veux d'autres explications, n'hésite pas, mais prends le temps d'écrire des questions les plus claires possibles afin que je puisse t'aider au mieux.

++

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
'SWT_AWT.new_Shell' me renvoie null
 > Tous les forums > Forum Autres langages