Du producteur au consommateur++
[30 min]
Soit la base de données suivante :
CTRL+C pour copier, CTRL+V pour coller
1
CREATE TABLE Producteur (
2
raison_sociale VARCHAR (25),
3
ville VARCHAR(255),
4
PRIMARY KEY (raison_sociale)
5
);
6
7
CREATE TABLE Consommateur (
8
login VARCHAR(10),
9
email VARCHAR(50),
10
nom VARCHAR(50) NOT NULL,
11
prenom VARCHAR(50) NOT NULL,
12
ville VARCHAR(255) NOT NULL,
13
PRIMARY KEY (login,email),
14
UNIQUE (nom,prenom,ville)
15
);
16
17
CREATE TABLE Produit (
18
id INTEGER,
19
description VARCHAR(100),
20
produit_par VARCHAR(25) NOT NULL,
21
consomme_par_login VARCHAR(10),
22
consomme_par_email VARCHAR(50),
23
PRIMARY KEY (id),
24
FOREIGN KEY (produit_par) REFERENCES Producteur(raison_sociale),
25
FOREIGN KEY (consomme_par_login,consomme_par_email) REFERENCES Consommateur(login,email)
26
);
CREATE TABLE Producteur ( raison_sociale VARCHAR (25), ville VARCHAR(255), PRIMARY KEY (raison_sociale) ); CREATE TABLE Consommateur ( login VARCHAR(10), email VARCHAR(50), nom VARCHAR(50) NOT NULL, prenom VARCHAR(50) NOT NULL, ville VARCHAR(255) NOT NULL, PRIMARY KEY (login,email), UNIQUE (nom,prenom,ville) ); CREATE TABLE Produit ( id INTEGER, description VARCHAR(100), produit_par VARCHAR(25) NOT NULL, consomme_par_login VARCHAR(10), consomme_par_email VARCHAR(50), PRIMARY KEY (id), FOREIGN KEY (produit_par) REFERENCES Producteur(raison_sociale), FOREIGN KEY (consomme_par_login,consomme_par_email) REFERENCES Consommateur(login,email) );
Question
Établissez les instructions LCD permettant d'attribuer :
les droits en lecture seule pour tous les utilisateurs pour la table
Produit
les droits en lecture et en écriture pour l'utilisateur
Admin
sur toutes les tables.
Question
Afin d'alimenter une application de suivi nommée Big Brother écrivez les trois vues SQL LMD permettant de connaître :
Les produits produits et consommés dans la même ville
Les produits qui ne sont pas consommés
Le nombre de produits produits par chaque producteur
Établissez un schéma externe limité à ces trois vues pour l'utilisateur BB
(sous lequel se connecte l'application Big Brother).