Question

Je suis en train d'étudier pour un test de base de données et le guide d'étude il y a quelques exercices (beaucoup) de normalisation de la DB et la dépendance fonctionnelle, mais l'enseignant n'a pas fait aucun exercice similaire, donc je voudrais aider quelqu'un me comprendre ce pour attaquer les autres 16 problèmes.

1) Compte tenu du schéma logique suivant: product_sales Relation

POS     Zone     Agent   Product_Code   Qualification   Quantity_Sold
123-A   Zone-1   A-1     P1             8               80
123-A   Zone-1   A-1     P1             3               30
123-A   Zone-1   A-2     P2             3               30
456-B   Zona-1   A-3     P1             2               20
456-B   Zone-1   A-3     P3             5               50
789-C   Zone-2   A-4     P4             2               20

En supposant que: • Les points de vente sont regroupés dans la zone. • Chaque point de vente il y a des agents. • Chaque agent agit dans un seul point de vente. • Deux agents des mêmes points de vente ne peuvent pas commercialiser le même produit. • Pour chaque produit vendu par un agent, il est attribué une qualification en fonction du produit et la quantité vendue.

a) Indiquer 4 dépendances fonctionnelles présentes.
b) Quelle est la forme normale de cette structure.

Était-ce utile?

La solution

Pour commencer à trouver les 4 dépendances fonctionnelles, pensez à quels attributs dépendez sur un autre attribut:

par exemple: la zone ne dépend du point de vente? (Le cas échéant, POS -> Zone ) ou ne le point de vente dépendent de la zone? (Auquel cas Zone -> POS ).

Quatre de vos cinq déclarations vous dire quelque chose sur les dépendances entre les attributs (ou des combinaisons de plusieurs attributs).


En ce qui concerne la normalisation, il y a un (relativement) effacer tutoriel . L'expression est aussi un bon moyen de se rappeler les 1er, 2e et 3e formes normales.

Autres conseils

Dans votre commentaire, vous avez dit

Eh bien, selon la théorie que je l'ai lu, je pense qu'il peut être, mais je beaucoup de doutes: POS ? Zone, {POS, Agent} ? Zone, Agent ? POS, {Agent, Code_produit, Quantity_Sold} ? Qualification -

Je pense que c'est un bon effort.

  1. Je pense que POS-> Zone est juste.
  2. Je ne pense pas {POS, Agent} ? Zone est tout à fait raison. Si vous regardez les données de l'échantillon, et vous y réfléchissez un peu, je pense que vous constaterez que Agent-> POS, et que Agent-> Zone.
  3. Je ne pense pas {agent, PRODUCT_CODE, Quantity_Sold} ? La qualification est tout à fait raison. Les états d'exigence « Pour chaque produit vendu par un agent, il est attribué une qualification en fonction du produit et la quantité vendue. » La partie importante de qui est « une qualification en fonction du produit et la quantité vendue ». Qualification en fonction du produit et de la quantité, de sorte que {PRODUCT_CODE, Quantité} -> Qualification. (Rien dans l'exigence me donne à penser que la qualification pourrait être différente pour les commandes identiques de deux agents différents.)

en fonction de votre commentaire, je pense que vous avez ces dépendances fonctionnelles jusqu'à .

  • POS-> Zone
  • Agent-> POS
  • Agent-> Zone
  • PRODUCT_CODE, Quantité-> Qualification

Mais vous manque au moins un qui a un effet significatif sur la détermination des clés. Voici l'exigence.

Deux agents des mêmes points de vente ne peuvent pas commercialiser le même produit.

Comment exprimez-vous la dépendance fonctionnelle implicite dans cette exigence?

scroll top