DESCRIPTION DU MONDE RÉEL À PARTIR DES CARDINALITÉS

DESCRIPTION DU MONDE RÉEL À PARTIR DES CARDINALITÉS

Si l’entité décrit des cinémas situés sur le territoire français par exemple, le nom du cinéma n’est pas significatif : le Rex existe dans bon nombre de villes. Il en est de même pour le nom de la salle : on peut imaginer sans peine que plusieurs cinémas possèdent une salle « John Cassavettes ». Les autres attributs peuvent difficilement prétendre à identifier une salle de cinéma : le nombre de places et la taille sont communs à beaucoup de salles ainsi que la ville. Si l’on essaie la combinaison ‘Nom du cinéma & Nom de la salle’, on court le risque que deux cinémas Caméo disposent de la même salle « François Truffaut ». Finalement, un identifiant possible serait la combinaison ‘Nom du cinéma & Nom de la salle Ville du cinéma’. Il est peu probable en effet que la même ville dispose de plusieurs cinémas du même nom… encore que ce soit du domaine du possible. Dans ce cas, il est préférable de créer un champ identifiant de toutes pièces qui identifiera la salle. Classiquement, on utilisera un chiffre identifiant que l’on peut nommer ‘Numero_salle’.

IDENTIFICATION DES ENTITÉS ET DES ASSOCIATIONS

Les éléments qui s’imposent intuitivement sont les spectateurs et la pièce jouée. La phrase qui représente le lien entre ces entités peut être de la forme : « les spectateurs achètent un billet pour une pièce ». On identifie deux entités ‘spectateur’ et ‘pièce’ liées par l’association ‘achat’. L’entité ‘spectateur’ contient les attributs nom, numéro de téléphone. On crée un identifiant ‘numero_client’ puisque ‘nom’ et ‘numéro de téléphone’ ne sont pas identifiants. On On considère l’entité ci-après, qui décrit des salles de cinémas. Les attributs de cette entité Que proposez-vous comme identifiant pour cette entité ? On veut modéliser l’activité de vente de billets pour un théâtre. Quelles phrases vont nous permettre d’identifier les entités et la manière dont elles sont associées ? Proposez les attributs que vous utiliseriez pour décrire ces entités et leurs associations ainsi que les identifiants de chaque entité. Que se passe-t-il si le prix du billet varie pour chaque séance et en fonction de la place ?pourrait éventuellement utiliser la combinaison des deux attributs comme identifiant, car deux personnes de même nom ont rarement le même numéro de téléphone, mais il est préférable de créer un identifiant dans ce cas. L’entité ‘pièce’ comprend un titre, l’auteur, le metteur en scène et le prix d’une place (on suppose que toutes les places sont au même prix). De même que pour l’entité ‘spectateur’, on a besoin de créer un identifiant pour la pièce. L’association a pour attributs la date et le numéro de siège. Ces attributs sont en effet caractéristiques de l’action d’achat et non pas du spectateur ou de la pièce (voir figure 2.20).

Si le prix des places varie pour chaque séance, il est non plus une caractéristique de la pièce, mais de l’achat. L’attribut ‘prix’ devient un attribut de l’association ‘achat’. Il n’y a jamais de solution unique en base de données. On aurait pu, par exemple, utiliser une entité ‘billet’ liée aux deux entités ‘spectateur’ et ‘pièce’.On doit déterminer pour chaque association les deux cardinalités minimales et maximales associées aux deux entités liées, puisqu’il s’agit d’associations binaires. Il y aura donc quatre questions à (se) poser par association. On pose ici les questions et on propose les réponses ; dans la vie réelle, ce sont les utilisateurs de la base de données qui apporteraient les réponses .

Pour déterminer les cardinalités du côté de l’entité ‘livre’ : Peut-on avoir un livre sans avoir de fiche ouvrage ? Si c’est le cas, la valeur minimale sera de ‘0’, ; sinon, elle sera de ‘1’. Il paraît clair que tout livre a une fiche ouvrage, à moins qu’il ne soit juste identifié dans la bibliothèque mais pas encore catalogué. Un livre peut-il avoir plusieurs fiches ouvrage ? Si c’est le cas, la cardinalité maximale sera de ‘n’ ; sinon, elle sera de ‘1’. On peut supposer qu’un livre n’a qu’une fiche ouvrage. Association ‘emprunte’ Pour déterminer les cardinalités du côté de l’entité ‘livre’ : Un livre peut-il n’avoir jamais été emprunté ? Si c’est le cas, la valeur minimale sera de ‘0’ ; sinon elle sera de ‘1’. On choisit ‘0’ : un livre peut ne rencontrer aucun succès. Un livre peut-il être emprunté plusieurs fois ? Si c’est le cas, la valeur maximale sera de ‘n’ ; sinon elle sera de ‘1’. On rappelle qu’une base de données modélise une activité sur une période de temps. Un livre peut être emprunté plusieurs fois même si l’on ne peut pas le prêter à deux personnes simultanément. On choisit ‘n’. Pour déterminer les cardinalités du côté de l’entité ‘personne’ : Une personne peut-elle ne pas avoir emprunté de livre ? Si c’est le cas, la valeur minimale sera de ‘0’ ; sinon, elle sera de ‘1’. Une personne ne s’inscrit à la bibliothèque que dans le but d’emprunter un livre ; elle en a donc au moins emprunté un. On choisit ‘1’. Une personne peut-elle emprunter plusieurs livres ? Si c’est le cas, la cardinalité maximale sera de ‘n’ ; sinon, elle sera de ‘1’. On choisit ‘n’ : un lecteur n’est pas limité à l’emprunt d’un seul livre. Association ‘a_écrit’ Pour déterminer les cardinalités du côté de l’entité ‘ouvrage’ : Un ouvrage peut-il ne pas avoir d’auteur ? Si c’est le cas, la valeur minimale sera de ‘0’ ; sinon, elle sera de ‘1’. On choisit ‘1’ : on suppose qu’il n’y a pas de livre anonyme.

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *