MediaTek V

[1 h]

CTRL+C pour copier, CTRL+V pour coller
1
Adresse (#num:integer, #rue:string, #cp:integer, #ville:string, #client => Client)
2
3
Type TClient <num:integer, nom:string, prenom:string, ddn:date, tel:string, genre:{'m','f'}>
4
Client de TClient (#num) 
5
6
Type TProduit <num:integer, designation:string, prix:float, stock:integer>
7
Produit de TProduit (#num)
8
9
Facture (#num:integer, #client =>o Client, #produit =>o Produit, qte:integer)
Adresse (#num:integer, #rue:string, #cp:integer, #ville:string, #client => Client)

Type TClient <num:integer, nom:string, prenom:string, ddn:date, tel:string, genre:{'m','f'}>
Client de TClient (#num) 

Type TProduit <num:integer, designation:string, prix:float, stock:integer>
Produit de TProduit (#num)

Facture (#num:integer, #client =>o Client, #produit =>o Produit, qte:integer)

Question

Réalisez l'implémentation SQL3 sous Oracle.

Alimenter une base RO

Une fois la base créée, insérer des données pour l'alimenter.

On négligera la table Adresse pour la suite de l'exercice (aucun de nos clients n'aura d'adresse).

Question

Initialiser les tables client et produit avec les données de votre choix (au moins deux clients et deux produits).

Question

Initialiser les factures avec les données de votre choix (deux factures de deux lignes chacune au moins).

Questions par navigation d'OID

Vous allez à présent expérimenter la manipulation des OID pour naviguer d'enregistrement en enregistrement, sans utiliser de jointure.

Question

Écrivez une requête permettant d'afficher la liste des factures existantes, avec le nom et le prénom du client.

Question

Écrivez une requête permettant d'afficher le montant total de chaque facture, en rappelant le numéro du client pour chaque facture.

Question

Écrivez une requête permettant d'afficher pour chaque client (num et nom) les produits (num et désignation) qu'il a déjà acheté, avec la quantité correspondante.