Lab 0

Description du problème

[30 min]

Un laboratoire souhaite gérer les médicaments qu'il conçoit.

Un médicament est décrit par un nom, qui permet de l'identifier. En effet il n'existe pas deux médicaments avec le même nom. Un médicament comporte une description courte en français, ainsi qu'une description longue en latin. On gère aussi le conditionnement du médicament, c'est à dire le nombre de pilules par boîte (qui est un nombre entier).

Ce problème est un exemple très simple que l'on pourra modéliser avec une base de données relationnelle à une seule table.

Vous pouvez tester vos instructions SQL ici : Db Disco[1]

Question

Proposer une clarification du problème (par exemple sous la forme d'une liste des propriétés de la relation visée).

Solution

Relation Médicament
  • Nom (identifiant unique)

  • Description courte en français

  • Description longue en latin

  • Conditionnement en nombre (entier) de pilules par boîte

Question

Proposer un exemple de données.

Solution

  • Nom : Chourix

    Description courte : « Médicament contre la chute des choux »

    Description longue : « Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare. »

    Conditionnement : 13

  • Nom : Tropas

    Description courte : « Médicament contre les dysfonctionnements intellectuels »

    Description longue : « Suspendisse lectus leo, consectetur in tempor sit amet, placerat quis neque. Etiam luctus porttitor lorem, sed suscipit est rutrum non. ».

    Conditionnement : 42

Question

Dessiner un modèle conceptuel de données en UML. Il ne contient qu'une seule classe.

Question

Proposer un modèle logique de données sous forme de schéma relationnel. Il ne contient qu'une seule relation.

Solution

Medicament (#nom:varchar, description:varchar, description_longue:varchar, conditionnement:number)

Question

Proposer une implémentation en SQL standard de votre modèle relationnel. Il ne contient qu'une seule instruction CREATE TABLE.

Solution

1
CREATE TABLE medicament (
2
nom VARCHAR PRIMARY KEY,
3
description VARCHAR,
4
description_longue VARCHAR,
5
conditionnement INTEGER)

Question

Écrivez les instructions SQL permettant d'insérer vos données de test dans votre base de données.

Solution

1
INSERT INTO medicament (nom, description, description_longue, conditionnement) 
2
VALUES ('Chourix','Médicament contre la chute des choux','Vivamus fermentum...',13);
3
4
INSERT INTO medicament (nom, description, description_longue, conditionnement) 
5
VALUES ('Tropas','Médicament contre les dysfonctionnements intellectuels',' Suspendisse lectus...',42);