Forum Security-X > Programmation

Base de données Cours de rattrapage

<< < (3/4) > >>

xtrem47:
Salut,


--- Citer ---Si ton magasin et un nom d'enseigne nationale "Labougie Location". Chaque magasin porte donc le même nom, mais pas la même adresse, alors l'id_Magasin pourrait se construire de la sorte.

nombredemagasin_département cela donnant ceci:


* 0130  magasin 01 du département 30
* 0230  magasin 02 du département 30
* 0330  magasin 03 du département 30
* Etc... pour chaque magasins de chaque département
Voici la raison pour laquelle l'ID me semble important, ainsi, d'un simple coup d'oeil, l'on sait d'où provient le produit. Que cela soit pour mon exo ou pour mon cas de tout les jours (grosse enseigne internationale)
--- Fin de citation ---

Un ID se construit habituellement comme un simple index, notamment pour des raisons de performances. Mais passons, moi je veux juste que tu comprenne comment se construit une clé primaire, la clé artificielle dans 99% des cas c'est parfait.



--- Citer ---
--- Citer ---J'avais aussi noté, pour Etat comme je te l'ai dis, vu l'énoncé il serait certainement bien vu que tu utilise une énumération, sauf si tu penses que dans le temps, on pourrait vouloir modifier (ajouter, modifier ou supprimer un type d'état) la table. A toi de voir.
--- Fin de citation ---

Que nommes tu une énumération? (une liste de choix dans un soft, mais ici c'est la même chose, mais comment m'y prendre).
--- Fin de citation ---

Ce que j'appel énumération, c'est un type de donnée, tu peux en ajouter dans une base, il y a des représentations en UML (aucune idée en E-A). Par exemple là tu ferais un typedef enum EtatObjet {BON, MOYEN, MAUVAIS} EtatObjet; Que tu pourrais ensuite utiliser comme type pour un champ Etat dans une table.



--- Citer ---Le lien avec les corrections suite à ton dernier post
--- Fin de citation ---

Pas mal de choses que j'ai du mal à comprendre, je te propose une autre base de travail, j'ai fais rapidement un diagramme UML (ce n'est donc pas ce que tu veux), il y a des choses qui ne vont pas et j'ai peut-être pas trop suivi la consigne de l'exercice, mais ça nous donnera une base de travail. Je pense que tu saisira mieux la logique de ce que j'ai expliqué dans ma réponse précédente. Essaye donc d'améliorer ton diagramme et pareil hésite pas à poser des questions.

UML : http://up.security-x.fr/file.php?h=R4a82e8df1b077237e3fbab8990a69801

 :AAC

labougie:
Salut Xtrem,

Ton Uml m'aide un peu mieux,  :sup:.
Donc, pour partir sur de bonnes bases, je recommence tout depuis le début afin que tu puisses me guider sur les étapes.

J'ai donc décortiqué l'énoncée de la façon suivante:


* 10 Magasins
* Donc des clubs
* Des clients
* Des cassettes
* Des films
* Un réalisateur
* Des acteurs
* Des conditions de location
* L'état des K7
* La gestion des retards

Ensuite j'ai découpé tout cela en différentes parties.

Pour le magasin

Pour le club

Pour le Client

* Il verse une caution
* Suivant montant caution, a droit de 1 à 6 K7
Conditions location

* Autorisée si client en règle
* Ne pas avoir de K7 en retard
* Durée de l'emprunt 3 jours maxi
* Retournée dans n'importe quel club
Cassette

* Plusieurs K7 peuvent avoir le même film (donc un choix pour plusieurs clients de louer le même film)
* Date de mise en service
* Elle aura un N° d'état commun à chaque magasin (de TB à Mauvais)
* Le nom du film que l'on doit trouver dans la K7
* Combien de fois elle a été loué
Film

* Il a un genre cinématographique
* Il possède un nom
* Est pour un type de public
* A une durée
* Est réalisé par un réalisateur
* A des acteurs prinicpaux
La consultation client

* Nom
* Adresse
* Nombre d'emprunt en cours
* Liste des N° de K7
* Titre des K7 actuellement empruntées
Consultation du genre

* Liste des films du genre, dispo dans magasin donné
Consultation des retardataires

* Périodiquement, cela doit sous entendre par (jour, semaine, mois)
* liste des K7 non retournées à temps
* Nom & adresse du client
* Date de l'emprunt
* N° & titre des K7
ici le code au cas ou tu souhaites directement avoir accès aux listes

--- Code: ---[list]
[li] 10 Magasins[/li]
[li] Donc des clubs[/li]
[li] Des clients[/li]
[li] Des cassettes[/li]
[/list]

Ensuite j'ai découpé tout cela en différentes parties.

[color=blue]Pour le magasin[/color]

[color=blue]Pour le club[/color]

[color=blue]Pour le Client[/color]
[list]
[li] Il verse une caution[/li]
[li] Suivant montant caution, a droit de 1 à 6 K7[/li]
[/list]

[color=blue]Conditions location[/color]
[list]
[li] Autorisée si client en règle[/li]
[li] Ne pas avoir de K7 en retard[/li]
[li] Durée de l'emprunt 3 jours maxi[/li]
[li] Retournée dans n'importe quel club[/li]
[/list]

[color=blue]Cassette[/color]
[list]
[li] Plusieurs K7 peuvent avoir le même film (donc un choix pour plusieurs clients de louer le même film)[/li]
[li] Date de mise en service[/li]
[li] Elle aura un N° d'état commun à chaque magasin (de TB à Mauvais)[/li]
[li] Le nom du film que l'on doit trouver dans la K7[/li]
[li] Combien de fois elle a été loué[/li]
[/list]

[color=blue]Film[/color]
[list]
[li] Il a un genre cinématographique[/li]
[li] Il possède un nom[/li]
[li] Est pour un type de public[/li]
[li] A une durée[/li]
[li] Est réalisé par un réalisateur[/li]
[li] A des acteurs prinicpaux[/li]
[/list]

[color=blue]La consultation client[/color]
[list]
[li] Nom[/li]
[li] Adresse[/li]
[li] Nombre d'emprunt en cours[/li]
[li] Liste des N° de K7[/li]
[li] Titre des K7 actuellement empruntées[/li]
[/list]

[color=blue]Consultation du genre[/color]
[list]
[li] Liste des films du genre, dispo dans magasin donné[/li]
[/list]

[color=blue]Consultation des retardataires[/color]
[list]
[li] Périodiquement, cela doit sous entendre par (jour, semaine, mois)[/li]
[li] liste des K7 non retournées à temps[/li]
[li] Nom & adresse du client[/li]
[li] Date de l'emprunt[/li]
[li] N° & titre des K7[/li]
[/list]
--- Fin du code ---

Maintenant je suppose qu'il faut créer ce qui se nomme les entités et choisir une clé_primaire.
Mais avant cela j'attends ta réponse.

labougie

xtrem47:
Salut,


--- Citer ---
* 10 Magasins
* Donc des clubs
* Des clients
* Des cassettes
* Des films
* Un réalisateur
* Des acteurs
* Des conditions de location
* L'état des K7
* La gestion des retards
--- Fin de citation ---


--- Citer ---Donc des clubs
--- Fin de citation ---

Dans ma tête c'est des magasins qui se réunissent en un club.


--- Citer ---Des conditions de location, La gestion des retards
--- Fin de citation ---

Oui mais comme déjà expliqué surtout te tracasse pas avec ça pour le moment.


--- Citer ---Ensuite j'ai découpé tout cela en différentes parties.
--- Fin de citation ---

OK, c'est très bien cette liste, ça va bien t'aider à réaliser le truc.



--- Citer ---Maintenant je suppose qu'il faut créer ce qui se nomme les entités et choisir une clé_primaire.
Mais avant cela j'attends ta réponse.
--- Fin de citation ---

Oui, il faut que tu ais toutes tes entités (là je pense que c'est bon) puis tu mets les attributs, choisi la clé primaire, puis il faudra faire les associations. Et on sera bon je pense. Si tu veux tout formaliser tu peux commencer à faire de l'entité-association.

Bon courage :AAC

labougie:
Voici la copie jpg des Entites, attributs avec le modèle association.

Les liaisons apportent les cardinalités, /!\ ici elles sont données par défaut par l'outil que j'utilise, donc, je ne les ai pas modifié car je ne les ai pas encore étudié.
 
Par contre comment inscrire dans ce schéma les infos suivantes:

Date de départ, de retour, puis les états des k7.

labougie

Fichier.jpg

xtrem47:
Salut,

Désolé pour le temps de réponse, donc ce que tu as fais c'est pas mal du tout :sup:

D'abord des petits trucs, associer un mail à une adresse ? Bof

Dans cassette tu mets date_entrée et duree_location, ça ne sont pas des attributs liées à la cassette, mais pour le premier à l'association magasin / cassette, et pour le second à l'association client / cassette, d'où l'utilisation de classes d'association. Elles sont très utiles, c'est plus simple de s'y retrouver, par la suite on peut même avoir un historique de toute l'activité de la cassette (qui l'a loué, combien de temps, dans quels magasins est-elle passée, etc).

Reste donc à vérifier tes attributs, sélectionner les clés primaires, à défaut créer des index (clés artificiels). Et faire la cardinalité (je pense que tu as compris le principe), juste un petit truc si je me souviens bien le "sens" de la cardinalité est inversé entre UML et E-A (donc si tu regardes mon modèle pour voir ce que j'aurais fais en E-A il faut que tu permute les cardinalités de chaque coté ^^).

 :AAC

Navigation

[0] Index des messages

[#] Page suivante

[*] Page précédente

Sortir du mode mobile