MediaTek II

[45 min]

L'association MediaTek souhaite réaliser la base de données correspondant aux schémas ci-après.

CTRL+C pour copier, CTRL+V pour coller
1
Type Adresse : <num:integer, rue:string, cp:integer, ville:string>
2
Type ListeAdresse : collection de <Adresse>
3
Client (#num:integer, nom:string, prenom:string, adresse:ListeAdresse, ddn:date, tel:string, genre:{'m','f'}) 
4
Produit (#num:integer, designation:string, prix:float, stock:integer) 
5
Facture (#num:integer, #client=>Client(num), #produit=>Produit, qte:integer)
Type Adresse : <num:integer, rue:string, cp:integer, ville:string>
Type ListeAdresse : collection de <Adresse>
Client (#num:integer, nom:string, prenom:string, adresse:ListeAdresse, ddn:date, tel:string, genre:{'m','f'}) 
Produit (#num:integer, designation:string, prix:float, stock:integer) 
Facture (#num:integer, #client=>Client(num), #produit=>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.

Question

Initialiser les tables Client et Produit avec les données de votre choix (au moins deux clients et deux produits, au moins un client avec deux adresses).

Question

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

Question

Affichez le contenu des trois tables de la base de données.

Interroger une base RO : Utilisation des tables imbriquées

Nous allons à présent interroger la base RO imbriquée.

Question

Écrivez une requête permettant de renvoyer le nombre de produits total achetés par chaque client, ainsi que la moyenne de produit par facture.

Question

Écrivez une requête permettant de renvoyer les numéros et noms des clients de la ville de Compiègne ayant payé au moins une facture avec au moins deux articles (vous pouvez utiliser une autre ville correspondant à vos données) .

Question

Créer une vue ClientR qui affiche le contenu de la table Client en mode relationnel (en supprimant l'imbrication donc).