Alg - PowerPoint PPT Presentation

About This Presentation
Title:

Alg

Description:

Sous-ensemble du produit cart sien d'une liste de domaines. Une relation est caract ris e ... Fournisseur (N fno, Nom, Adresse, Ville) Produit (N prod, Designation, Prix, Poids, ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 21
Provided by: M1073
Category:
Tags: adresse | alg

less

Transcript and Presenter's Notes

Title: Alg


1
Algèbre relationnelle
2
La partie structurelle le modèle relationnel
  • Produit cartésien de 2 ensembles
  • Relation
  • Sous-ensemble du produit cartésien dune liste de
    domaines
  • Une relation est caractérisée par un nom
  • Représentation commode table à 2 dimensions
  • Exemple la relation Coureur est un
    sous-ensemble du produit cartésien
  • numéro X nom X CodeEquipe X CodePays

3
La partie opérationnelle l'algèbre relationnelle
  • Une algèbre est un ensemble avec des opérations
    fermées sur cet ensemble.
  • Une algèbre relationnelle est un ensemble
    dopérations agissant sur des relations et
    produisant des relations
  • 4 opérations ensemblistes (union, intersection,
    différence, produit cartésien)
  • 3 opérations spécifiques des BD relationnelles
    (sélection, projection, jointure)

4
Opérations ensemblistes
  • Union
  • Les relations doivent avoir le même schéma

Professeur ? Maître de conférence
5
Opérations ensemblistes
  • Intersection
  • Les relations doivent avoir le même schéma
  • Exemple lintersection de Professeur et Maître
    de conférence est une relation nulle (!)
  • Différence
  • Les relations doivent avoir le même schéma
  • Exemple la différence Professeur - Maître de
    conférence est la relation Professeur elle-même
    (!)

6
Opérations ensemblistes
  • Produit cartésien

Code pays Nom Pays
ALL Allemagne
FRA France
SUI Suisse
G-B Grande -Bretagne
Numéro coureur Nom Coureur Code équipe Code pays
8 ULLRICH Jan TEL ALL
31 JALABERT Laurent ONC FRA
61 ROMINGER Tony COF SUI
91 BOARDMAN Chris GAN G-B
Numéro coureur Nom Coureur Code équipe Code pays Code pays Nom Pays
8 ULLRICH Jan TEL ALL ALL Allemagne
8 ULLRICH Jan TEL ALL FRA France
8 ULLRICH Jan TEL ALL SUI Suisse
8 ULLRICH Jan TEL ALL G-B Grande -Bretagne
31 JALABERT Laurent ONC FRA ALL Allemagne
7
Opérations spécifiques
  • Sélection (ou restriction) relation composée de
    n-uplets vérifiant une condition

Numéro coureur Nom Coureur Code équipe Code pays
8 ULLRICH Jan TEL ALL
31 JALABERT Laurent ONC FRA
61 ROMINGER Tony COF SUI
91 BOARDMAN Chris GAN G-B
114 CIPOLLINI Mario SAE ITA
Quels sont les coureurs suisses ?
Relation résultat
R SELECTION(COUREUR, CodePays
SUI) NOTATION ?CodePays SUI(COUREUR)
8
Opérations spécifiques
  • Projection relation restreinte aux attributs
    spécifiés dans la projection
  • Exemple Nom et nationalité des coureurs ?
  • R PROJECTION(COUREUR, NomCoureur, Nationalité)
  • NOTATION ?NomCoureur,Nationalité(COUREURS)

Nom Coureur Code pays
ULLRICH Jan ALL
JALABERT Laurent FRA
ROMINGER Tony SUI
BOARDMAN Chris G-B
CIPOLLINI Mario ITA
Relation résultat
9
Opérations spécifiques
  • Jointure

Code pays Nom Pays
ALL Allemagne
FRA France
SUI Suisse
G-B Grande -Bretagne
Numéro coureur Nom Coureur Code équipe Code pays
8 ULLRICH Jan TEL ALL
31 JALABERT Laurent ONC FRA
61 ROMINGER Tony COF SUI
91 BOARDMAN Chris GAN G-B
Numéro coureur Nom Coureur Code équipe Code pays Nom Pays
8 ULLRICH Jan TEL ALL Allemagne
31 JALABERT Laurent ONC FRA France
61 ROMINGER Tony COF SUI Suisse
91 BOARDMAN Chris GAN G-B Grande -Bretagne
Relation résultat
10
Opérations spécifiques
  • Jointure (suite)
  • Notation Coureur ?? Pays
  • ?-jointure jointure sous condition autre que
    légalité

11
Opérations spécifiques
  • Division relation composée des n-uplets tels
    que le produit cartésien avec le diviseur soit un
    sous-ensemble de la relation dividende (?)

Participer
Epreuve
Relation résultat de Particier ? Epreuve
Quels sont les athlètes qui ont participé à
toutes les épreuves ?
12
Union
Intersection
Différence
x y
a a b b c c
x y
x y
Sélection
Projection
Produit cartésien
13
Remarques sur l'algèbre relationnelle
  • L'algèbre relationnelle permet létude des
    opérateurs entre eux (commutativité,
    associativité, groupe d'opérateurs minimaux,...)
  • équivalence de certaines expressions
  • programmes d'optimisation qui transforment toute
    requête en sa forme équivalente la plus efficace
  • L'opération de jointure est très coûteuse
    proportionnelle au nombre de n-uplets (mn pour
    deux relations jointes)
  • toujours préférable de faire les restrictions le
    plus tôt possible afin de manipuler des tables
    les plus réduites possibles.

14
  • Pourquoi une requête est-elle meilleure qu'une
    autre ?
  • Une requête n'est pas l'unique solution d'un
    problème.
  • efficacités différentes
  • Exemple
  • Fournisseur (Nfno, Nom, Adresse, Ville)
  • Produit (Nprod, Designation, Prix, Poids,
    Couleur)
  • Commande (Ncomm, Nfno, Nprod, , Quantité)
  • Produit 8 lignes 5 colonnes 10 char 400
    char
  • Commande 10 lignes 4 colonnes 10 char 400
    char
  • Références, prix et quantités des produits
    commandés en plus de 10 exemplaires par commande ?

15
  • R1 JOINTURE(Commande, Produit, Produit.Nprod
    Commande.Nprod)
  • R2 SELECTION(R1, Quantité gt 10)
  • R3 PROJECTION(R2, Nprod, Prix, Quantité)
  • R1 jointure sur la table Commande et la table
    Produit 400400 160 000 char

16
  • R1 PROJECTION(SELECTION(Commande,
    Quantitégt10), Nprod, Quantité)
  • R2 JOINTURE(R1, PROJECTION(Produit, Nprod,
    Prix), R1.Nprod PROJ.Nprod)
  • R3 PROJECTION(R2, Nprod, Prix, Quantité)
  • R2 jointure sur le couple (Nprod, Prix) de la
    table Produit 8210 160 char et sur le
    couple (Nprod, Quantité) de la table Commande
    2210 40 char
  • Total 40160 6400 char
  • Gain de 75 (facteur 25) en taille mémoire

17
Clés dune relation
  • Clé primaire
  • Colonne(s) dont les valeurs permettent de repérer
    une seule ligne.
  • Exemple dans la table COUREUR, cest la colonne
    Numéro_Coureur qui est la clé.
  • Clé étrangère
  • Colonne constituée de la clé primaire dune autre
    table
  • Traduit lexistence dun lien entre 2 tables

18
Exercices
  • CRU(NomCru,Commune,Région,Couleur)
  • VINS(Région,Couleur,Millésime,Qualité)
  • CEPAGE-REGION(Cépage,Couleur)
  • Req1 Tous les crus ?
  • Réponse CRU (!)

19
  • Req2 Tous les crus rouges
  • La liste des noms de crus rouges

PROJECTION(SELECTION(CRU, couleurrouge), NomCru)
20
Contraintes d'intégrité
  • Un des outils les plus importants d'un SGBD
  • Contraintes de clé
  • Vérification de l'unicité des clés
  • Contraintes de types de données
  • Vérification des types de données saisies
    (entiers, réels, dates, chaînes de caractères,
    booléens...)
  • Vérification des domaines de validité (entier
    compris entre 0 et 20 pour une note
    détudiant,...)
  • Contraintes d'intégrité référentielles
  • Vérification à partir des clés étrangères (la clé
    primaire associée n'existe pas, note d'un
    étudiant qui n'existe pas, conséquences d'une
    suppression d'une fiche,...)
Write a Comment
User Comments (0)
About PowerShow.com