Les bases de données

Établir des schémas relationnels

Le problème

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).

À chaque médicament on associe une liste de contre-indications, généralement plusieurs, parfois aucune.

Une contre-indication comporte un code unique qui l'identifie, ainsi qu'une description.

Une contre-indication est toujours associée à un et un seul médicament.

Exemples de données

Voici deux exemples de données :

  • Le Chourix a pour description courte "« Médicament contre la chute des choux »" et pour description longue "« Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare. »". Il est conditionné en boîte de 13.

    Ses contre-indications sont :

    • CI1 : Ne jamais prendre après minuit.

    • CI2 : Ne jamais mettre en contact avec de l'eau.

  • Le Tropas a pour description courte "« Médicament contre les dysfonctionnements intellectuels »" et pour description longue "« Suspendisse lectus leo, consectetur in tempor sit amet, placerat quis neque. Etiam luctus porttitor lorem, sed suscipit est rutrum non. »". Il est conditionné en boîte de 42.

    Ses contre-indications sont :

    • CI3 : Garder à l'abri de la lumière du soleil.

Question

Donner la représentation sous forme de tables des relations 'MEDICAMENT' et 'CONTRE_INDICATION'

Indice

nom

description

desc_longue

cond

Chourix

Indice

code

desciption

id_med

CI1

Ne jamais prendre après minuit

Chourix

Solution

Les relations

MEDICAMENT

description

desc_longue

cond

Chourix

Médicament contre la chute des choux

Vivamus fermentum....

13

Tropas

Médicament contre les dysfonct...

Suspendisse....

42

CONTRE_INDICATION

desciption

#id_med

CI1

Ne jamais prendre après minuit

Chourix

CI2

Ne jamais mettre en contact avec de l'eau

Chourix

CI3

Garder à l'abri de la lumière du soleil

Tropas

Question

Écrire le schéma relationnel permettant de représenter une base de données pour ce laboratoire.

Solution

Schéma relationnel

MEDICAMENT ( :varchar, description:varchar, description_longue:varchar, conditionnement:number)

CONTRE_INDICATION( :varchar, description:varchar, #id_med : number)

Exercice 2

On veut créer une base de donnée permettant de gérer les clients d'un site web proposant des articles à vendre.

On utilisera 3 relations CLIENTS, COMMANDES et ARTICLES.

La table CLIENTS devra contenir les noms, prénoms, n° de téléphone et l'adresse des clients

La table ARTICLES devra contenir les codes des articles ,leurs noms, une description et le prix des articles

Question

Que doit contenir la table COMMANDES ?

Indice

Un n° de commande

Indice

Une référence au client

Indice

Une référence à l'article

Indice

La quantité d'articles commandés

Question

Quel doit être la clé primaire de la relation CLIENTS

Solution

Il faudra introduire une clé de type "id" pour identifier un client

Question

Quel doit être la clé primaire de la relation ARTICLES ?

Solution

L'attribut code_article fera l'affaire

Question

Voici une représentation de la table COMMANDES :

COMMANDES

numero

id_client

id_article

quantite

Quelles doivent être les clés étrangères de la tables COMMANDES ?

Indice

il faut lier les deux autres relations

Solution

id_client, pour lier la commande à un client

id_article, pour lier la commande à un article

Question

Donner la représentation sous forme de tables des relations CLIENTS, ARTICLES et COMMANDES en inventant au moins 3 clients , deux commandes et 4 articles.

Solution

Les relations sous forme de tables

Question

Réaliser un schéma pour représenter cette base de données relationnelle.

PrécédentPrécédentFin
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)