Algèbre Relationnel PDF

Title Algèbre Relationnel
Course Système d'information et gestion en réseau
Institution Université Paris II Panthéon-Assas
Pages 12
File Size 244.3 KB
File Type PDF
Total Downloads 40
Total Views 130

Summary

Cours d'amphi d'algèbre relationnel ...


Description

ALGEBRE RELATIONNEL Une relation - Formellement : sous ensemble de produits cartésiens de N champs d’application (ou rubriques) D1xD2x…xDN - Pratiquement : une relation est représentée par un tableau : N°Etudiant Nom 430 Dupont 651 Durant 961 Martin

Age 20 23 20

Profession du père Maçon Dentiste Maçon

N° étudiant  attribut « Maçon » « Dentiste »...  Occurrences de la relation (nuplets) Schéma de la relation : R(attribut 1,…, attributn) R(N°Etudiant, Nom, Age, Prof père) • Sur ces relations, existent des opérateurs • Ces opérateurs définissent l’Algèbre relationnelle • Ces opérateurs opèrent sur des relations et produisent de nouvelles relations : construction de nouvelles informations à partir des relations de départ et d’une composition séquentielle d’opérateurs 3 catégories d’opérateurs relationnels : - Opérateurs unaires : affectation, sélection et projection - Opérateurs binaires travaillant sur 2 relations : union, intersection, différence - Opérateurs binaires travaillant sur 2 relations de schémas diférents : jointure, produits cartésiens, division

1. Opérateurs unaires - Afectation Sauvegarder le résultat d’une expression de recherche - Renommer la relation et ses attributs Syntaxe : R(A1…AN) 120) Dans Q2 : attributs de films + réalisateurs

Rés=PROJECTION(Q2,titre) Dans Rés : attributs titre

En SQL SELECT f.titre FROM film as f, réalisateurs as r WHERE f.réalisateur=r.code AND f.durée>120 AND r.nationalité=’USA’; PROJECTION JOINTURE SELECTION

o Nom des acteurs qui n’ont jamais joué dans un film policier 10

Rechercher les acteurs qui ont déjà joué dans un film policier et faire la différence avec les acteurs = acteurs qui n’ont jamais joué dans un film policier.

Q1=SELECTION(catégories,intitulé=’Policier’) Dans Q1 : attributs de catégories

Q2=JOINTURE(Q1,films,catégorie=code) Dans Q2 : attributs de film + attributs de catégories

Q3=JOINTURE(Q2,joue,Q2.référence=joue.référence) Dans Q3 : attributs de films + attributs de joue + attributs de catégories

Q4=JOINTURE(Q3,acteurs,acteurs.code=code_acteur) Dans Q4 : attributs de films + attributs de joue + attributs de catégorie + attributs de acteurs

Q5=PROJECTION(Q4,acteurs.code,nom,prénom) Dans Q5 : attributs code, nom et prénom des acteurs

Q6=acteurs-Q5

OU

Q6=DIFFERENCE(acteurs,Q5) Rés=PROJECTION(Q6,nom)

o Nom et prénoms des réalisateurs qui ont réalisé des films policiers et horreurs Rechercher les acteurs qui réalisé des films policiers et ceux qui ont fais des films d’horreur puis on va faire une intersection entre les deux.

Q1=SELECTION(catégories,intitulé=’Policier’) Q2=JOINTURE(Q1,films,catégorie=code) Q3=JOINTURE(Q2,réalisateurs,réalisateur=réalisateurs.code) Q4=JOINTURE(Q3,réalisateurs.code,nom,prénom) Dans Q4 : attributs de code, nom et prénom des réalisateurs

Q5=SELECTION(catégories,intitulé=’Horreur’) Q6=JOINTURE(Q5,films,catégories=code) Q7=JOINTURE(Q6,réalisateurs,réalisateurs=réalisateurs.code) Q8=PROJECTION(Q7,réalisateurs.code,nom,prénom) Dans Q8 : attributs code, nom et prénom des réalisateurs

Q9=INTERSECTION(Q4,Q8) Dans Q9 : code, nom et prénom

Rés=PROJECTION(Q9,nom,prénom)

o Dans quelles catégories Spielberg n’a-t-il pas réalisé de films ? Q1=SELECTION(réalisateurs,nom=’Spielberg’) Dans Q1 : attributs de réalisateurs

Q2=JOINTURE(Q1,films,code=réalisateur) Dans Q2 : attributs de réalisateurs + attributs de films

Q3=JOINTURE(Q2,catégories,catégories=catégories.code) Dans Q3 : attributs de réalisateurs + attributs de films + attributs de catégories

Q4=PROJECTION(Q3,catégories.code,intitulé) Dans Q4 : attributs de code (catégories) + intitulé

Q5=catégories-Q4

OU

Q5=DIFFERENCE(catégories,Q4) Rés=PROJECTION(Q5,intitulé)

o Acteurs qui jouent dans tous les films de Spielberg On recherche la référence des films de Spielberg puis on divise la table joue par la relation contenant le seul attribut référence des films de S ce qui donnera le résultat

11

code_acteur des acteurs ayant joué dans tous les films de S. Il faudra ensuite faire une jointure avec la table acteurs pour avoir le nom de ces acteurs. Référence /  Code_acteur Code_acteur / Référence

Q1=SELECTION(réalisateurs,nom=’Spielberg’) Dans Q1 : attributs de réalisateurs

Q2=JOINTURE(Q1,films,code=réalisateur) Dans Q2 : attributs de réalisateurs + attributs de films

Q3=PROJECTION(Q2,référence) Q4=DIVISION(joue,Q3) Q5=JOINTURE(acteurs,Q4,code=code_acteur) Rés=PROJECTION(Q5,nom,prénom)

o Réalisateurs ayant réalisé des films dans toutes les catégories On recherche pour chaque réalisateur les codes et intitulés des catégories dans lesquelles il a réalisé des films. Il faudra ensuite diviser « réalisateur, code, intitulé » par « code, intitulé » et donnera le résultat « réalisateur ». Il faudra ensuite faire une jointure avec la table réalisateurs pour avoir le nom de ces réalisateurs. Réalisateur  Réalisateur Code / Code Intitulé Intitulé

Q1=JOINTURE(film,catégories,catégories=code) Q2=PROJECTION(Q1,code,intitulé,réalisateur) Q3=DIVISION(Q2,catégories) Q4=JOINTURE(Q3,réalisateurs,réalisateurs=code) Dans Q4 : attributs de réalisateurs + réalisateurs

Rés=PROJECTION(Q4,nom,prénom)

12...


Similar Free PDFs