0% ont trouvé ce document utile (0 vote)
102 vues2 pages

Vues Relationnelles en SQL : Exemples et Exercices

Ce document décrit un TD sur les vues relationnelles. Il présente plusieurs exercices portant sur la création de vues à partir de schémas relationnels décrivant des bases de données sur les clients bancaires et le parc informatique d'une organisation.

Transféré par

Abir Abir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
102 vues2 pages

Vues Relationnelles en SQL : Exemples et Exercices

Ce document décrit un TD sur les vues relationnelles. Il présente plusieurs exercices portant sur la création de vues à partir de schémas relationnels décrivant des bases de données sur les clients bancaires et le parc informatique d'une organisation.

Transféré par

Abir Abir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Département d’Informatique

Enseignante : [Link].

TD2 : Les Vues Relationnelles

Exercice 1 :
Soit le schéma relationnel de la série 1 :

CLIENT(NumCli, NomCli, AdrCli, TelCli, NbCptE)


OPERATION(NumOp, TypeOP, MtOp, NumCpt*, DateOp) TypeOp=’D’ ou ‘R’
COMPTE(NumCpt, SoldeCpt, TypeCpt, NumCli*) TypeCpt=’CC’ ou ‘CP’

1- Créer la vue CEpargne qui ne retourne que les comptes de type Epargne (conservez toutes les
colonnes)
2- Peut-on insérer les deux types de comptes via la vue précédente ? si oui, interdire ce genre
d’incohérence.
4- Interdire toute insertion via la vue CEpargne
5- Créer la vue ccourant (ncompte, nclient,nomclient, solde) qui retourne les noms des clients et le
solde de leurs comptes courants ;
6-Créer la vue CSoldeT(Numcli, nombreCE, SoldT) qui donne pour chaque client le solde total de tous
ses comptes épargnes
7-Afficher le client qui a le solde le plus élevé.
8-Créer la vue Jours_depot qui interdit les opérations de dépôt le vendredi et le samedi.

Exercice bis :
Soit la base de données relative à la gestion d’un parc informatique. Le bâtiment est composé de trois
étages. Chaque étage possède son réseau (ou segment distinct) éthernet. Ces réseaux traversent des salles
équipées de postes de travail. Un poste de travail est une machine sur laquelle sont installés certains
logiciels. Quatre catégories de postes de travail sont recensées (stations Unix, terminaux X, PC Windows
et PC NT). La base de données décrit aussi les installations de logiciels.
Segment (indIP, nomSegment, etage), indIP trois premiers groupes IP (exemple : 130.120.80)
Salle (nSalle ,nomSalle, nbPoste, indIP)
Types (typeLP nomType) , typeLP=1, nomType=Unix
Poste (nPoste, nomPoste, indIP, ad, typeLP, nSalle) ad dernier groupe de chiffres IP
Logiciel (nLog, nomLog, dateAch, version, typeLP, prix)
Installer (nPoste, nLog, numIns, dateIns, delai) delai intervalle entre achat et installation
1-Créer la vue LogicielsUnix qui contient tous les logiciels de type 'UNIX' (toutes les colonnes sont
conservées).
2- Créer la vue Poste_0 de structure (nPos0, nomPoste0, nSalle0, TypePoste0, indIP, ad0) qui contient
tous les postes du rez-de-chaussée (etage=0 au niveau de la table Segment). Faire une jointure
procédurale(imbriquée), sinon la vue sera considérée comme une vue multitable. Vérifier la structure et
le contenu de la vue.
3-Insérer deux nouveaux postes dans la vue tels qu’un poste soit connecté au segment du rez-de chaussée
‘130.120.80’, et l’autre à un segment du 2 étage ’130.120.82’. Que va être le contenu de la vue et celui de
la table. Conclusion ?
4-Créer la vue SallePrix de structure (nSalle, nomSalle, nbPoste, prixLocation) qui contient les salles et
leur prix de location pour une journée (en fonction du nombre de postes). Le montant de la location
d’une salle à la journée sera d’abord calculé sur la base de 100 € par poste.
Servez-vous de l’expression 100*nbPoste dans la requête de définition.
- Vérifier le contenu de la vue, puis afficher les salles dont le prix de location dépasse 150 €.
- Ajouter la colonne tarif de type SMALLINT(4) à la table Types. Mettre à jour cette table de
manière à insérer les valeurs suivantes :

5- Créer la vue SalleIntermediaire de structure (nSalle, typePoste, nombre, tarif), de telle sorte que le
contenu de la vue reflète le tarif ajusté des salles, en fonction du nombre et du type des postes de travail.
Il s’agit de grouper par salle, type et tarif (tout en faisant une jointure avec la table Types pour les tarifs),
et de compter le nombre de postes pour avoir le résultat suivant :
+--------+-----------+--------+-------+
| nSalle | typePoste | nombre | tarif |
+--------+-----------+--------+-------+
| s01 | TX | 2 | 50 |
| s01 | UNIX | 2 | 200 |
| s02 | PCWS | 2 | 100 |
| s03 | TX | 1 | 50 |
| ... |
6- À partir de la vue SalleIntermediaire, créer la vue SallePrixTotal(nSalle, PrixReel) qui reflète le prix réel
de chaque salle (par exemple, la s01 sera facturée 2*50 + 1*200 = 300 €). Vérifier le contenu de cette vue.
- Afficher les salles les plus économiques à la location.
7- Remplacer la vue Poste0 en rajoutant l’option de contrôle (CHECK OPTION). Tenter d’insérer un
poste appartenant à un étage différent du rez-de-chaussée. Créer la vue Installer0 de structure (nPoste,
nLog, dateIns) ne permettant de travailler qu’avec les postes du rez-de-chaussée, tout en interdisant
l’installation d’un logiciel de type 'PCNT'.
- Tenter d’insérer deux postes, dans cette vue, ne correspondant pas à ces deux contraintes : un
poste d’un étage, puis un logiciel de type 'PCNT'. Insérer l’enregistrement 'p6', 'log2' qui doit
passer à travers la vue.
8- Créez la vue Installer0 de structure (nPoste, nLog, dateIns) ne permettant de travailler qu’avec les
postes du rez-de-chaussée, tout en interdisant l’installation d’un logiciel de type 'UNIX'.
- Tentez d’insérer deux postes dans cette vue ne correspondant pas à ces deux contraintes : un
poste d’un étage, puis un logiciel de type 'UNIX'. Insérer l’enregistrement 'p6', 'log2' qui doit
passer à travers la vue.
9- Créer la vue SallePoste de structure (nomSalle, nomPoste, adrIP, nomTypePoste) permettant d’extraire
toutes les installations sous la forme suivante :
SELECT * FROM SallePoste;
+----------+----------+---------------+-------------------+
| nomSalle | nomPoste | adrIP | nomTypePoste |
+----------+----------+---------------+-------------------+
| Salle 1 | Poste 1 | [Link] | Terminal X-Window |
| Salle 1 | Poste 2 | [Link] | Système Unix |
| Salle 1 | Poste 3 | [Link] | Terminal X-Window |
| ... |

Vous aimerez peut-être aussi