Database
 sql >> Base de données >  >> RDS >> Database

Ensemble de problèmes 1 – Identification des entités

Dans un article précédent sur la modélisation des données, nous vous avions promis de vous donner une série d'exercices pour vous entraîner à trouver des entités. Eh bien, les voici. Amusez-vous !

Problème 1 :École de langue

M. Trotter, propriétaire d'une école de langues en plein essor, souhaite introduire un nouveau système dans son entreprise. Il ne peut plus garder une trace de toutes les informations par lui-même, il a donc demandé notre aide. Il est un peu chaotique, cependant. Voici ce qu'il a dit :

Il y a des dizaines de nouvelles personnes qui arrivent ici et je ne sais plus quoi faire ! Par exemple, la semaine dernière, une fille nommée Hannah est venue et elle voulait devenir étudiante, mais je n'ai pas trouvé mon carnet donc je n'ai pas pu écrire son nom de famille. Ensuite, elle m'a demandé quel type de cours nous proposons et bien… nous en avons beaucoup, alors je lui ai montré le calendrier où j'écris tous les cours. Elle a choisi le chinois et a ensuite demandé qui l'enseignait. Eh bien, j'ai dit, nous avons beaucoup de professeurs ici, alors j'ai commencé à regarder dans ma boîte e-mail pour voir qui j'avais écrit sur l'enseignement du chinois ce trimestre. Cela a pris plus de temps que prévu et Hannah est partie. Quel dommage !

Sur la base de la description, suggérez quelques entités pour le nouveau système de M. Trotter afin qu'il puisse gérer son école plus efficacement.

Solution :

Dans un premier temps, M. Trotter donne l'exemple d'Hannah qui veut s'inscrire à un cours. Dans notre système, elle serait l'une des nombreuses instances de l'entité Student . Les étudiants de notre système s'inscrivent à un Course , qui est un autre bon candidat pour une entité. Enfin, la fille pose des questions sur le Teacher – naturellement, nous voulons aussi garder une trace d'eux, donc ils deviennent la troisième entité.


↑ Cliquez sur le logo pour prévisualiser le modèle dans votre navigateur | Téléchargez le modèle au format png


Problème 2 :écrivain occupé

Joanne L. Bowling travaille pour diverses entreprises et écrit des choses pour elles. Elle est très occupée et aimerait avoir une application pratique qui garde une trace de tout ce qu'elle a écrit. Cette candidature se présentera sous la forme d'un portfolio. Voici comment elle décrit son travail :

Je suis très talentueux et j'écris des tonnes de choses différentes. Par exemple, la semaine dernière, j'ai écrit un article sur la dernière crise économique pour un journal. Je ne m'y connais pas beaucoup en économie, mais j'ai lu un peu et j'ai pu composer un petit article sympa. D'un autre côté, il y a un mois, un autre journal célèbre a publié une série que j'ai faite. Eh bien, celui-là portait sur l'histoire de l'art aux Pays-Bas. J'avais déjà quelques connaissances dans le domaine car j'ai écrit il y a 5 ans un livre sur Rembrandt – qui est d'ailleurs paru l'année dernière. C'est presque toujours pareil quand je travaille avec des journaux; leurs missions sont rapides et faciles. C'est une autre histoire avec les maisons d'édition. Vérification, édition... il y a tant d'étapes et tant d'échéances dont je dois me souvenir !

Sur la base de la description, suggérez quelques entités générales qui pourraient être utilisées dans une application pour que Joanne suive tout ce qu'elle a écrit. Réfléchissez à la question suivante :quel genre de choses a-t-elle écrites et où les a-t-elle publiées ?

Solution :

Comme on peut le voir, Joanne écrit deux types de compositions. Les premiers sont des articles plus courts qui sont publiés dans les journaux. Ce sont des missions rapides et ne nécessitent pas beaucoup d'informations. Le deuxième type de composition est plus long et plus compliqué :écrire des livres. Ils sont publiés par des maisons d'édition. Il vaut mieux les garder comme une entité distincte. Dans l'ensemble, nous avons deux catégories principales de choses que Joanne écrit :Article et Book . Nous avons également deux catégories d'entreprises qui les publient :Newspaper et Publishing House .


↑ Cliquez sur le logo pour prévisualiser le modèle dans votre navigateur | Téléchargez le modèle au format png


Problème 3 :Boutique de thé

Mark Tee possède une petite boutique dans une rue latérale d'une ville de taille moyenne. Il n'avait que peu de clients - jusqu'au jour où un célèbre blogueur l'a découvert lors de ses voyages et a publié un article à ce sujet. Il a dit que la boutique de Mark est la meilleure source de thé au monde. Mark a maintenant tellement de clients qu'il ne sait plus ce qu'il y a en stock. Il a besoin d'un système qui l'aidera à organiser ses produits. Voici ce qu'il a dit :

Les gens achètent mes produits toute la journée et je dois garder une trace de ce que j'ai en stock. Je vends diverses choses. Le thé est le plus important d'entre eux, bien sûr. Je suis très minutieux en matière de thé :j'ai besoin d'informations sur la qualité, la couleur, l'origine... Chaque variété possède au moins certaines de ces propriétés.

Je vends aussi beaucoup de café, mais le café est différent et différentes choses sont utilisées pour le décrire. Et puis il y a les trucs à base de plantes comme le rooibos ou le yerba mate. Les amateurs de thé appellent ces tisanes ou infusions; ils ne sont pas vraiment du "thé" et je n'ai pas besoin de beaucoup d'informations supplémentaires à leur sujet dans mon système.

Lisez la description ci-dessus et suggérez quelques entités différentes pour le système de gestion des stocks de Mark.

Solution :

Comme vous pouvez le constater, il existe trois types de produits et donc trois entités dans notre système :Tea , Coffee et Tisane . (Nous ne traitons pas le rooibos ou le yerba maté séparément, car Mark ne les différencie pas vraiment.)


↑ Cliquez sur le logo pour prévisualiser le modèle dans votre navigateur | Téléchargez le modèle au format png


Problème 4 :Entreprise pharmaceutique

Une entreprise pharmaceutique qui fabrique des médicaments aimerait disposer d'un système qui l'aiderait dans sa gestion. Voici la description que nous a envoyée l'un des employés de l'entreprise :

Dans notre entreprise, les produits sont bien sûr divers médicaments aux propriétés spécifiques. Nous produisons des analgésiques, des antibiotiques et d'autres médicaments. Ils sont fabriqués dans différents départements. Dans chaque département, il y a des employés. Les employés sont qualifiés pour effectuer des types de production spécifiques. Dans le cadre de leur travail, les employés utilisent des appareils spéciaux pour aider à fabriquer les médicaments. Bien sûr, ils ne produiraient rien sans les bons composants ! Oh, et en passant, la production est divisée en lots - des groupes de produits fabriqués en une seule opération. Tout cela est nécessaire pour notre entreprise. Nous devons stocker des informations détaillées sur chaque partie de celui-ci dans notre système.

Sur la base de la description ci-dessus, suggérez quelques entités à utiliser dans le système de l'entreprise pharmaceutique.

Solution :

Dans l'entreprise ci-dessus, la production est basée sur Batches qui consistent en Drugs . Les médicaments sont fabriqués à partir de Components . Il existe également différents Departments avec des Devices et Employees . Ces six noms en gras deviennent nos entités.


↑ Cliquez sur le logo pour prévisualiser le modèle dans votre navigateur | Téléchargez le modèle au format png


Problème 5 :Base de données de films

John est un étudiant en cinéma zélé et souhaite créer un nouveau site Web sur les films. Il a décrit l'idée de cette façon :

Il y aura des informations sur diverses choses dans ma base de données. Tout d'abord, il y aura des films, différents types d'entre eux. Dans chaque film, il y a des acteurs – je veux aussi stocker des informations à leur sujet. Non seulement des données professionnelles, comme les films dans lesquels ils ont joué, mais aussi des choses amusantes ou des informations personnelles. Ensuite, il y a les réalisateurs. Ils sont très importants dans les films, donc je veux aussi écrire à leur sujet. Et les studios de cinéma, bien sûr ! Peu de sites Web les mentionnent, mais ils sont également importants pour moi. Enfin, il y aura des critiques pour tous les films.

Sur la base de la description ci-dessus, suggérez quelques entités pour la base de données de films de John.

Solution :

Nous pouvons clairement identifier 5 entités dans la description :Movie , Actor , Director , Studio et Review .


↑ Cliquez sur le logo pour prévisualiser le modèle dans votre navigateur | Téléchargez le modèle au format png