© Your Copyright
CREATE TABLE catalogues (
diffuseur varchar(20),
film varchar(20)
);
CREATE TABLE abonnements (
personne varchar(20),
diffuseur varchar(20)
);
CREATE TABLE preferences (
personne varchar(20),
film varchar(20)
);
INSERT INTO catalogues (diffuseur, film) VALUES('Gaumont','Le magnifique');
INSERT INTO catalogues (diffuseur, film) VALUES('Gaumont','Le gigolo');
-- INSERT INTO catalogues (diffuseur, film) VALUES('Gaumont','L’as des as');
INSERT INTO catalogues (diffuseur, film) VALUES('NetFilm','Le magnifique');
INSERT INTO catalogues (diffuseur, film) VALUES('NetFilm','Le marginal');
INSERT INTO catalogues (diffuseur, film) VALUES('NetFilm','Le professionnel');
INSERT INTO catalogues (diffuseur, film) VALUES('BebelFilms','Le gigolo');
INSERT INTO catalogues (diffuseur, film) VALUES('BebelFilms','Le magnifique');
INSERT INTO catalogues (diffuseur, film) VALUES('BebelFilms','Le marginal');
INSERT INTO catalogues (diffuseur, film) VALUES('BebelFilms','L’as des as');
INSERT INTO catalogues (diffuseur, film) VALUES('BebelFilms','Le professionnel');
--INSERT INTO catalogues (diffuseur, film) VALUES('Gaumont','L’homme de Rio');
INSERT INTO abonnements(personne,diffuseur)VALUES('Jean','BebelFilms');
INSERT INTO abonnements(personne,diffuseur)VALUES('Jean','Gaumont');
-- INSERT INTO abonnements(personne,diffuseur)VALUES('Jean','NetFilm');
INSERT INTO abonnements(personne,diffuseur)VALUES('Anne','BebelFilms');
INSERT INTO abonnements(personne,diffuseur)VALUES('Anne','Gaumont');
INSERT INTO abonnements(personne,diffuseur)VALUES('Pierre','BebelFilms');
INSERT INTO preferences(personne,film) VALUES('Jean','Le magnifique');
INSERT INTO preferences(personne,film) VALUES('Jean','Le marginal');
INSERT INTO preferences(personne,film) VALUES('Anne','Le magnifique');
INSERT INTO preferences(personne,film) VALUES('Anne','Le gigolo');
INSERT INTO preferences(personne,film) VALUES('Anne','L’as des as');
INSERT INTO preferences(personne,film) VALUES('Jean','Le professionnel');
INSERT INTO preferences(personne,film) VALUES('Jean','L’as des as');
INSERT INTO preferences(personne,film) VALUES('Jean','Le gigolo');
-- INSERT INTO preferences(personne,film) VALUES('Anne','L’homme de Rio');
Répondre aux questions suivantes :
A partir de l’expression algbébrique suivante :
\(R = \Pi_{(p.personne)}(\Join_{[p.personne=a.personne]}(\sigma_{[p.film="Le \; magnifique"]}(preferences \; p) ,abonnements \; a))\)
trouvez les expressions correspondantes :
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
\(R=\{ p.personne | \; preferences(p) \; , \; abonnements(a)\) \(\; \; \; \; \; \; \; \; \; \; \; \land \; p.personne=a.personne \land p.film="Le \; magnifique" \; \}\)
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
trouver le nom des abonnés qui ont dans leurs préférences le film « Le magnifique »
Rechercher le nom des films préférés de Jean qui sont dans les catalogues des diffuseurs auxquels il est abonné.
SELECT DISTINCT p.film
FROM preferences p INNER JOIN abonnements a INNER JOIN catalogues c
ON ( p.personne=a.personne AND a.diffuseur=c.diffuseur AND c.film=p.film)
WHERE p.personne='Jean';
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
\(R_1 = \sigma_{[personne="Jean" ]}(preferences)\)
\(R_2 = \Join_{[R_1.film=c.film]}(R_1,catalogues \; c)\)
\(R_3 = \Join_{[R_2.diffuseur=a.diffuseur]}(R_2) ,abonnements \; a)\)
\(R = \Pi_{film}(R_3)\)
Rechercher le titre des films proposés par « NetFilm » qui ne sont pas dans les préférences de « Jean » qui est abonné chez ce diffuseur
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
\(R_1 = \sigma_{[diffuseur='NetFilm']}(catalogues)\)
\(R_2 = \Pi_{(film)}(R_1)\)
\(R_3 = \sigma_{[diffuseur='NetFilm']}(abonnements)\)
\(R_4 = \sigma_{[personne='Jean']}(preferences)\)
\(R_5 = \Join_{[R_3.personne=R_4.personne]}(R_3,R_4)\)
\(R_6 = \Pi_{(film)}(R_5)\)
\(R = \setminus(R_2,R_6)\)
SELECT film FROM catalogues WHERE diffuseur='NetFilm'
EXCEPT
SELECT film FROM abonnements a INNER JOIN preferences p ON (a.personne=p.personne )
WHERE a.diffuseur='NetFilm' AND p.personne='Jean';
Exprimer le calcul relationnel suivant :
\(R=\{ c.diffuseur\; | \; \forall p.film \in preferences(p) \; , \; (c.diffuseur,p.film) \in catalogues(c) \}\)
SELECT DISTINCT diffuseur
FROM catalogues c1
WHERE NOT EXISTS (
SELECT p.film
FROM preferences p
EXCEPT
SELECT c2.film
FROM catalogues c2
WHERE c1.diffuseur=c2.diffuseur
);
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
trouver le nom des diffuseurs qui ont dans leur catalogue tous les films préférés des personnes
A partir de la requête SQL suivante :
CREATE VIEW R1 AS
SELECT diffuseur FROM catalogues;
CREATE VIEW R2 AS
SELECT * FROM R1,preferences WHERE personne='Jean';
CREATE VIEW R3 AS
SELECT diffuseur,film FROM R2
EXCEPT
SELECT * FROM catalogues;
CREATE VIEW R4 AS
SELECT diffuseur FROM R3;
CREATE VIEW R5 AS
SELECT * FROM R1 EXCEPT SELECT * FROM R4;
SELECT DISTINCT diffuseur
FROM catalogues c1
WHERE NOT EXISTS (
SELECT p.film
FROM preferences p WHERE p.personne='Jean'
EXCEPT
SELECT c2.film
FROM catalogues c2
WHERE c1.diffuseur=c2.diffuseur
);
Clavier | Action |
---|---|
F1 | Afficher une aide technique |
F2 | Afficher une aide pédagogique |
Ctrl-A | Tout sélectionner |
Ctrl-C | Copier la sélection dans le presse-papier |
Ctrl-V | Copier le presse-papier dans la sélection |
Ctrl-X | Couper la sélection et la copier dans le presse-papier |
Ctrl-Z | Annuler la modification |
Maj-Ctrl-Z | Rétablir la modification |
Menu | Action |
---|---|
Ré-initialiser les sorties | |
Faire apparaître le menu d'aide | |
Valider la zone de saisie | |
Initialiser la zone de saisie | |
Charger le contenu d'un fichier dans la zone de saisie | |
Sauvegarder le contenu de la zone de saisie dans un fichier | |
Imprimer le contenu de la zone de saisie |
trouver le nom des diffuseurs qui ont dans leur catalogue tous les films préférés de « Jean »
On considère les instances de tables
|
|
donnera l’ensemble des valeurs de \(c\) :
/01000/: | vous avez 2 bonnes valeurs |
---|---|
/00100/: | vous avez 2 bonnes valeurs |
/00010/: | vous avez 2 bonnes valeurs |
/00001/: | il y en a moins de 4 valeurs |
gagné
Soit l’instance de relation R suivante :
R | |||
---|---|---|---|
A | B | C | D |
1 | 3 | 2 | 1 |
2 | 1 | 3 | 2 |
2 | 2 | 1 | 3 |
3 | 2 | 2 | 2 |
La requête SQL SELECT B,SUM(A+C+D) FROM R GROUP BY B;
donnera comme résultat l’ensemble des éléments :
On considère les instances de tables
|
|
Le résultat de la requête :
- \(Q=\cap(\Pi_{(A,B)}(\sigma_{[C!=3]}(R)),S)\)
sera l’ensemble : :
Les opérateurs SELECT, FROM, WHERE correspondent respectivement aux opérateurs de l’algèbre relationnelle suivants :
QCM | Radio | Checkbox | Total |
---|---|---|---|
Nombre de questions | |||
Réponses non enregistrées | |||
Réponses enregistrées | |||
Taux d'enregistrement | |||
Réponses enregistrées non validées | |||
Réponses enregistrées validées | |||
Taux de réussite partiel | |||
Taux de réussite total |