7.5 Exercices
195
© Dunod – La photocopie non autorisée est un délit.
A237, de nom Antoine, travaille sur le projet BIOTECH depuis la date 50.
Carlier y a travaillé entre 10 et 40, cette dernière date étant exclue.
On demande de rédiger un script SQL qui donne, pour chaque projet,
l’historique du nombre d'employés.
7.5.4 La génération de code
7.26 La section 7.4 nous a appris à écrire des requêtes de migration de données.
Supposons que la base de données source est toujours celle de la figure 3.5,
mais que la base de données cible est d’un format différent. Par exemple, la
table DETAIL comporte, outre les colonnes NCOM, NPRO et QCOM, les
colonnes NCLI (le numéro du client de la commande), LIBELLE (le libellé du
produit commandé) et MONTANT (le montant du détail = QCOM x PRIX).
Ecrire la requête qui crée les instructions de migration pour les détails relatifs
aux produits en sapin.
7.27 Compléter la procédure de génération d’instructions de création de tables en
l’étendant aux autres types de valeurs.
7.28 Compléter la procédure de génération d’instructions de création de tables en
y incluant la définition des identifiants primaires et des clés étrangères.
Suggestions. La définition d’un identifiant primaire est elle aussi constituée
d’un fragment unique, suivi de fragments multiples (les composants) euxmêmes suivis d’un fragment unique. Une clé étrangère sera déclarée par un
instruction alter table. La forme la plus élégante serait sans doute celle
d’une procédure SQL (section 6.5) qui encapsule l’ensemble des requêtes de
génération et qui permet une gestion algorithmique plus concise et plus lisible
des différents cas particuliers (absence d’identifiant par exemple).
7.29 Ecrire un jeu de requêtes qui produise une DTD XML pour l’ensemble des
table de la base de données. On ignorera les contraintes d’intégrité telles que
les identifiants et les clés étrangères.
195
© Dunod – La photocopie non autorisée est un délit.
A237, de nom Antoine, travaille sur le projet BIOTECH depuis la date 50.
Carlier y a travaillé entre 10 et 40, cette dernière date étant exclue.
On demande de rédiger un script SQL qui donne, pour chaque projet,
l’historique du nombre d'employés.
7.5.4 La génération de code
7.26 La section 7.4 nous a appris à écrire des requêtes de migration de données.
Supposons que la base de données source est toujours celle de la figure 3.5,
mais que la base de données cible est d’un format différent. Par exemple, la
table DETAIL comporte, outre les colonnes NCOM, NPRO et QCOM, les
colonnes NCLI (le numéro du client de la commande), LIBELLE (le libellé du
produit commandé) et MONTANT (le montant du détail = QCOM x PRIX).
Ecrire la requête qui crée les instructions de migration pour les détails relatifs
aux produits en sapin.
7.27 Compléter la procédure de génération d’instructions de création de tables en
l’étendant aux autres types de valeurs.
7.28 Compléter la procédure de génération d’instructions de création de tables en
y incluant la définition des identifiants primaires et des clés étrangères.
Suggestions. La définition d’un identifiant primaire est elle aussi constituée
d’un fragment unique, suivi de fragments multiples (les composants) euxmêmes suivis d’un fragment unique. Une clé étrangère sera déclarée par un
instruction alter table. La forme la plus élégante serait sans doute celle
d’une procédure SQL (section 6.5) qui encapsule l’ensemble des requêtes de
génération et qui permet une gestion algorithmique plus concise et plus lisible
des différents cas particuliers (absence d’identifiant par exemple).
7.29 Ecrire un jeu de requêtes qui produise une DTD XML pour l’ensemble des
table de la base de données. On ignorera les contraintes d’intégrité telles que
les identifiants et les clés étrangères.
