APSQL

Etablir le schéma entités – relations – attributs (ERA)

A partir de l'interview d'Alfred le gérant d'un magasin de location de films proposer le schéma ERA : c'est-à-dire la définition des tables, des colonnes, des types de données pour ces colonnes et des différentes contraintes d'intégrités

Interview d'Alfred le responsable de la boutique.

Nos clients sont de plus en plus exigeant, cependant ils oublient également fréquemment de nous rendre les DVD qu'ils ont loués, à la date indiquée lors de leur location. Bien qu'il s'agisse d'un club dans lequel nos clients sont de confiance, nous souhaitons mieux suivre nos locations et l'ensemble des éléments mis à disposition de nos membres.

Lorsque les clients empruntent un ou plusieurs films, ils s'engagent sur une durée de location. Même si certains dépassent cette date limite, la très grande majorité d'entre eux la respecte. Ainsi lorsqu'un film n'est pas disponible à la location, il nous est possible d'indiquer la date de retour prévue, ceci afin d'éviter que les gens reviennent inutilement au magasin.

Pour chaque client, il nous est nécessaire de connaître son nom, prénom, son adresse et un numéro de téléphone. Nous utilisons ces informations en cas de non retour d'un ou plusieurs DVD 2 jours après la date prévue pour contacter le client et l'inviter à rende son exemplaire au plus vite. Ce délai est réduit à 24 h dans le cas d'une nouveauté.

Un client ne peut pas emprunter plus de 5 films à la fois avec au maximum 2 nouveautés. Toutefois, moyennant une majoration, le client peut exceptionnellement emprunter 3 nouveautés. Cette autorisation n'est accordée qu'une fois par mois au maximum.

Pour nous, une nouveauté est un film qui est disponible à la location depuis moins de 3 mois. Passé ce délai, le film perd son statut de nouveauté. Un même film peut être disponible en plusieurs exemplaires. C'est généralement le cas pour les nouveautés, puis au fur et à mesure que le nombre d'emprunts pour ce titre diminue, nous réduisons le nombre d'exemplaire disponibles à la location.

Chaque exemplaire, est parfaitement identifié par son numéro d'inventaire. Il dispose également d'une place spécifique en magasin. Cette place est repérée par son numéro de travée, et son numéro d'étagère. Il est possible de disposer plusieurs films différents sur une même étagère. En général nous essayons de regrouper ensemble tous les exemplaires d'un même film. Cet emplacement physique peut varier au cours du temps car les nouveautés sont mises en avant et ne sont pas classé selon la catégorie du film.

Les catégories permettent de classer de façon grossière les films, c'est par exemple: horreur, aventure, comédie, western, enfant, documentaire, ….

Lorsqu'un client vient pour louer des films, nous commençons toujours par nous assurer qu'il a bien rendu tous les films emprunté et qu'il est à jour dans ses règlements. Nous créons alors une fiche sur laquelle nous notons les références du client, la référence de chaque exemplaire emprunté, son titre et la date de retour prévue. Comme le montant de la location est lié à la durée d'emprunt, le client paiera lorsqu'il aura rendu tous les exemplaires empruntés. Le paiement s'effectue toujours en une seule fois.

Pour calculer le prix de location nous tenons compte des éléments suivant:

  • la durée de location (en jours),
  • le type du film : nouveauté ou non,
  • le prix de location à la journée fixé au niveau de chaque film.

Nos clients et nous même souhaitons pour chaque film connaître le réalisateur et les principaux acteurs afin de pouvoir réaliser des recherches par rapport à ces critères.

Pour chaque film présent dans la boutique sous la forme de un ou plusieurs exemplaires nous dressons la fiche du film sur laquelle sont présent le détail du film, comme son nom, sa nationalité, son réalisateur, la liste des principaux acteurs, mais également un résumé.

Exemple de fiche films

Une fois par mois, nous envoyons par mail, à nos clients qui possède une adresse électronique, la liste de nos nouveautés

Identifier les entités

    A la lecture de l’interview il est possible d’identifier les entités suivantes :
  • Client : regroupe toutes les informations relatives au client
  • Film : regroupe toutes les informations relatives à un film
  • Artiste : regroupe les acteurs et les réalisateurs
  • Exemplaire : regroupe toutes les informations d’un exemplaire de film mis en location
  • FicheLocation : regroupe toutes les informations communes à un ou plusieurs emprunts réalisés simultanément par un client
  • DétailLocation : regroupe les informations spécifiques à chaque exemplaire emprunté
  • Catégorie : permet de regrouper les films de façon logique

Le schéma ERA

Le schéma suivant donne un aperçu graphique du schéma ERA (Entités - Relations - Attributs)

schéma ERA

Le détail des entités

Clients

Attribut Type de données Contraintes Commentaire
numero int Clé primaire identity
nom nvarchar(50) Obligatoire
prenom nvarchar(50) Obligatoire
adresse nvarchar(100) Obligatoire
codePostal char(5) Obligatoire
ville nvarchar(50) Obligatoire
telephone char(14)  
mobile char(14)  
email nvarchar(100)

Fiches

Attribut Type de données Contraintes Commentaire
numero int Clé pimaire identity
client int Obligatoire
Clé étrangère(Clients)
 
creeLe datetime   date du jour par défaut
montantPayemoney    

Détails

Attribut Type de donnéesContraintesCommentaire
numero int Clé pirmaire
fiche int Clé pirmaire
Clé étrangère(Fiches)
dureeLocation int Obligatoire
exemplaire int Obligatoire
Clé étrangère(Exemplaires)

Exemplaires

Attribut Type de données ContraintesCommentaire
numero int Clé pirmaire
travee int Obligatoire
etagere int Obligatoire
film int Obligatoire
Clé étrangère(Films)

Films

valeur par défaut: Fra
Attribut Type de données Contraintes Commentaire
numero int clé primaire identity
titre nvarchar(80) obligatoire
disponibleLocation tinyint obligatoire
prixLocationJour money obligatoire
categorie char(5) obligatoire
realisateur int obligatoire
clé étrangère (Artistes)
producteur int obligatoire
clé étrangère (Producteurs)
anneeProduction smallint obligatoire
nationalite char(5) obligatoire
duree int obligatoire
spectateurs int obligatoire
clé étrangère (Spectateurs)
resume nvarchar(max) obligatoire

Acteurs

Attribut Type de données ContraintesCommentaire
artiste int clé primaire
clé étrangère(Artistes)
film int clé primaire
clé étrangère(Films)

Artistes

Attribut Type de données Contraintes Commentaire
numero int clé primaire identity
nom nvarchar(50) obligatoire
prenom nvarchar(50) obligatoire

Categories

Attribut Type de données Contraintes Commentaire
code char(5) clé primaire
libelle nvarchar(50) obligatoire

Producteurs

Attribut Type de données Contraintes Commentaire
numero int clé primaire identity
nom nvarchar(50) obligatoire

Spectateurs

Attribut Type de données Contraintes Commentaire
numero int clé primaire identity
libelle nvarchar(50) obligatoire