Relation access

Discussions et dépannage concernant Access (Toutes versions).

Modérateur : Modérateurs

Répondre
DURANTEAU
Membre récent
Membre récent
Messages : 11
Enregistré le : 02 juin 2005, 23:00:00
Contact :

Relation access

Message par DURANTEAU » 03 oct. 2005, 11:48:27

Bonjour,

J'ai trouvé un cours access à cette adresse

http://enseignement.insset.u-picardie.f ... rs/access/

Je commence par le cours n° 1, mais je ne comprends pas le schéma de relation page 14

Exemple la relation entre la table Commandes et la table Lignes-commande

Sachant qu'une même commande peut générer n lignes-commande
Pourquoi n côté Commandes et 1 côté Lignes-commandes.
Sur quel champ doit porter physiquement la relation pour obtenir ces cardinalités.
Merci de m'expliquer.

nouv
Membre actif
Membre actif
Messages : 277
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Lyon

Message par nouv » 04 oct. 2005, 08:44:32

slt,
effectivement le shéma de la page 14 est faux - A UNE commande PLUSIEURS ligne de commande - 1 et n devrait être inversé.
J'ai pas lu le cours mais :
sur la table ligne de commande ajoute une clé primaire num ligne commande (en numéro auto c'est plus rapide)
faire la relation entre les deux tables sur le champ N° commande
><>

Nemric
Membre hyperactif
Membre hyperactif
Messages : 676
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Le Puy en Velay / Lyon
Contact :

Message par Nemric » 04 oct. 2005, 09:33:41

Salut,
:| Non c'est pas faux !
on lit pas une relation comme ça !

pour 1 commande on a n lignes commandes donc ou met un n
pour 1 ligne commande on a 1 commande alors on met un 1

cette façon de lire et de travailler est un MCD de la methode MERISE de conception des applications :

si on lit pas comme ca on est pas pret de comprendre le sens de clef primaire et etrangere ... et justement ce sont les relations access qui sont ecrites a l'envers par rapport à la methode ! microsoft ne fait pas foi contrairement au cachet de la poste ;)
Sur la table ligne de commande ajoute une clé primaire num ligne commande (en numéro auto c'est plus rapide)
Cà c'est faux !

la clef primaire de ligne commande c'est 2 codes : le code commande et le code produit (clef etrangeres), les 2 combinés sont LA clef primaire. il faut les 2 code pour avoir la quantité demandée. En français : pour 1 commande ET pour un produit on a UNE quantité. on peut rajouter un numero auto mais il sera totalement inutile pour retrouver la quantité :Comment retrouver combien de produits n°5 on ete commandé dans la commande n°18 sachant que le numero automatique va être par ex n°12, il vaut mieu faire un requete sur num commande = 18 et num produit = 5 pour avoir la quantité, le numero auto tu le saura jamais !

A mon avis vous êtes allé trop vite a la page 14 ;)

Nemric
~ ALEA JACTA EST ~
Image
~ No Patch For Stupidity ~

DURANTEAU
Membre récent
Membre récent
Messages : 11
Enregistré le : 02 juin 2005, 23:00:00
Contact :

Message par DURANTEAU » 04 oct. 2005, 09:44:08

ok ¨
Effectivement 1 et n devrait être inversé.
Sur la table ligne de commande, il faut ajouter une clé primaire concaténé N° COMMANDE et Code produit pour la relation avec la table produits.
De même qu'il faut une clé primaire concaténé sur N° Fournisseur et code produit de la table Fournisseurs-produits.
Je ne comprends pas que des profs universitaires mettent en ligne des cours avec autant d'erreur, c'est à dire sans vérification.

Nemric
Membre hyperactif
Membre hyperactif
Messages : 676
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Le Puy en Velay / Lyon
Contact :

Message par Nemric » 04 oct. 2005, 11:36:42

Salut,
:plor
Merci de m'expliquer.
Je ne comprends pas que des profs universitaires mettent en ligne des cours avec autant d'erreur,
On t'explique ou tu sais ?
Effectivement 1 et n devrait être inversé.
tu m'a lu precedement ? je t'explique comment on lit une relation ... et pas comment on l'interprete vite fait ...

les profs appliquent la methode ancestrale ;) MERISE !

methode est mot tres important lorsqu'on veut pas faire de conneries !

Image

sur cette image, on voit ce qu'est un vrai relation, claire nette et precise ! ce qu'on appel un MCD, un vrai !

un client obtient 1 ou plusieurs factures : 1,n
une facture correspond a 1 seul et unique client : 1,1

une facture contient 1 ou plusieurs article : 1,n
un article correspond a 0 ou plusieurs factures : 0,n

et je te garanti que les indications sont du bon côté !

le rond vert "contient/quantité" donnera lieu à la creation d'une table (car on a une relation de type plusieurs a plusieurs 1,n et 0,n, pour l'exemple precedent se sera la table ligne_commandes) mettant en relation le num facture et le num produit pour avoir la quantité de produit par facture avec les clef etrangere idfacture et idarticle, les 2 clef etrangere ensembles deviennent la clef primaire de quantité, car une quantité correspond exactement et uniquemant a un ensemble facture ET produit
il faut ajouter une clé primaire concaténé N° COMMANDE et Code produit
tu peux tres bien faire ca, mais tu devra gerer par le code la concatenation/deconcatenation de ce code, alors qu'en l'etat, c'est la base de donnée qui gére nativement la relation ... c'est donc tres simple

Nemric
~ ALEA JACTA EST ~
Image
~ No Patch For Stupidity ~

DURANTEAU
Membre récent
Membre récent
Messages : 11
Enregistré le : 02 juin 2005, 23:00:00
Contact :

Message par DURANTEAU » 04 oct. 2005, 16:50:38

Bonjour,

Il me semblait que l'on était d'accord pour l'inversion des cardinalités
Il me semble qu'il existe une seule lecture, sinon plusieurs méthodes

Je comprend bien que l'écriture diffère aux différents niveaux, modèle conceptuelle et modèle physique.

Quand je parles de numéro auto, cela peut être un numéro tout court sans qu'il soit automatique, là n'est pas le problème.

La lecture des cardinalités, doit déboucher sur leur interprétation, sinon cela ne sert à rien.

La méthode ancestrale merise.

Je connais qu'une seule méthode merise qu'elle soit ancestrale ou non, elle reste valable.

Le MCD fait partie de la méthode que j'appelerais MERISE 1, puis ensuite l'apparition de la méthode Merise 2 avec de nouveaux modèles.

La concaténation est exactement ce que tu fais dans ton exemple, à la différence près que tu utilises le vocabulaire les 2 clef étrangère ensemble.

En attendant j'ai réalisé le modèle physique simplifié pour le nombre d'attributs concernant la base de données Magasin et ça marche.

Nemric
Membre hyperactif
Membre hyperactif
Messages : 676
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Le Puy en Velay / Lyon
Contact :

Message par Nemric » 05 oct. 2005, 09:21:37

Salut,
je connais pas de merise 2, mais je te crois sur parole.

je ne concatene pas les 2 clefs, ma table sera avec 2 champ d'une clef chacun : le champ code produit et le champ code commande. je suppose que par concatenation tu fais un champ code produit & code commande :
je vais essaye d'illustrer ;)

table 1 non concatenée : (

Code : Tout sélectionner

 = 10 ; [code commande] = 15) = clef primaire
table 2 concatenée : ( [code prod/comm] = 1015) = clef primaire

je t'ai compris ?

sinon, l'image vient de la : http://www.sam-mag.com/P53,53,5,43,,,default.aspx

ce cours a l'air super bien fait, et le model physique ne pose pas de probleme de cardinalités ... c'est curieusement lorsqu'on l'applique a Ms access qu'elles s'inversent ! d'ou mon emportement.

bonne continuation

Nemric
~ ALEA JACTA EST ~
Image
~ No Patch For Stupidity ~

DURANTEAU
Membre récent
Membre récent
Messages : 11
Enregistré le : 02 juin 2005, 23:00:00
Contact :

Message par DURANTEAU » 05 oct. 2005, 09:38:31

Quand tu as deux champs constituant chacun une clé, cela devient une clé concaténé.

Je peux te joindre si tu veux mon modèle Physique ACCESS, tu me dis si tu le trouves correcte.

Comme tu veux.

Nemric
Membre hyperactif
Membre hyperactif
Messages : 676
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Le Puy en Velay / Lyon
Contact :

Message par Nemric » 05 oct. 2005, 10:06:52

ouais je veux bien jeter un oeil pour mieu comprendre le mot "concaténé" ;) j'ai du mal comprendre

Nemric chez hotmail dot com
~ ALEA JACTA EST ~
Image
~ No Patch For Stupidity ~

Répondre

Retourner vers « Access »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités