Modèle relationnel

publicité
Bases de Données
Le modèle relationnel
2A-SI
Généralités du « modèle relationnel » :
4 - Bases de Données
4.2 - Modèle relationnel
Stéphane Vialle
– Ex d’implantations : DB2, INFORMIX, INGRES,
ORACLE, SYBASE, SQL-server
– Repose sur l’algèbre relationnelle
→ possède des bases solides
[email protected]
http://www.metz.supelec.fr/~vialle
Avec l’aide du cours de Y. Bourda
– Concepts puissants et simples !
→ succès !
Bases de Données
Bases de Données
Le modèle relationnel
Le modèle relationnel
Algèbre relationnelle :
Généralités du « modèle relationnel » :
– Les données sont organisées en tables 2D
• Une table 2D = une « relation »
• Une ligne = un n-uplet = un « tuple »
• Domaine : ens. de valeurs associées à un nom
Nom : {val1 ; val2 ; ….}
– Données manipulées uniquement par des opérateurs de
« l’algèbre relationnelle ».
– La cohérence de la base est imposée par des
« contraintes d’intégrité » :
- sur le modèle relationnel (voir slides suivantes)
- par la théorie de la normalisation (voir plus loin)
Ces contraintes d’intégrité évitent les incohérences lors de la
conception, de la manipulation et de la mise à jour de la base.
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
• Relation :
– Formalisé par CODD en 1970
Ex :
Couleur : {Jaune ; Bleu}
• Produit cartésien :
Couleur : {Jaune ; Bleu}
X
Marque : {Peugeot ; Renault}
X
Etat : {Excellent ; Moyen ; Mauvais}
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
Sous-ensemble du produit cartésien,
caractérisé par un nom :
Ex : « Couleur_Marque_Etat »
Couleur_Marque_Etat
Jaune
Peugeot Excellent
Jaune
Renault
Jaune
Bleu
Renault Moyen
Peugeot Mauvais
Excellent
Marque
• Attribut :
Colonne d’une relation
caractérisée par un nom
• Tuple :
Ligne d’une relation
« Les seules lignes qui ont un sens
dans le cadre de mon problème »
1
Bases de Données
Bases de Données
Le modèle relationnel
Le modèle relationnel
Algèbre relationnelle :
Algèbre relationnelle :
Couleur Marque
Etat
• Schéma de relation :
Nom de la relation,
suivi de la liste des attributs
avec leurs domaines (qui
doivent être connus).
• Base de données relationnelle :
« BdD dont le schéma est un
ensemble de schémas de
relations et dont les
occurrences sont les tuples
de ces relations »
Ex : Couleur_Marque_Etat (Couleur,Marque,Etat)
• SGBD : un logiciel supportant le
modèle relationnel, et qui
peut manipuler les données
avec des opérateurs
relationnels
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Rmq : Les opérandes = des relations, ou au moins une relation
Un résultat
= une relation
• Union :
Opérandes : 2 relations ayant le même schéma
Résultat
: relation avec les tuples de chaque opérande
(les doubles sont éliminés)
Union
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Différence relationnelle :
Opérandes : 2 relations ayant le même schéma
Résultat
: les tuples de la première relation présent
seulement dans la première relation
CE_1 – CE2
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Intersection :
Opérandes : 2 relations ayant le même schéma
Résultat
: relation avec les tuples présents dans les
deux opérandes à la fois
Intersection
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Produit Cartésien : (déjà vu)
Opérandes : 2 relations
Résultat
: toutes les combinaisons possibles des
tuples des opérandes
CxE
2
Bases de Données
Le modèle relationnel
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
Opérateurs relationnels :
• Projection :
Opérandes : 1 relation et un ou des attributs
Résultat
: la relation restante après conservation des
colonnes des seuls attributs indiqués et
suppression des tuples devenus identiques
• Restriction :
Opérandes : 1 relation et une condition
Résultat
: la relation restante après suppression des
tuples ne satisfaisant pas la condition
Projection sur Couleurs et Marques
Restriction à la condition « Couleurs = Jaune »
Projection sur Couleurs
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Jointure :
Opérandes : 2 relations et une condition portant sur un
argument de la 1ère relation et sur un
argument de la 2nd.
Résultat
: le produit cartésien suivi de l’élimination des
tuples (lignes) ne satisfaisant pas la condition
E . . D(Dep=Int)
Bases de Données
Le modèle relationnel
Langages des bases de données relationnelles :
• Objectifs :
• créer des données : définition de schémas de BdD
• interroger les données : application des opérateurs relationnels
• manipuler les données : maj – ajout – suppression de données
• contrôler les droits des utilisateurs sur les données
• 3 types de langages :
• langages algébriques basés sur l’algèbre relationnelle : SQL
• langages logiques (logique des prédicats) :
- basés sur le calcul relationnel des tuples …
- basés sur le calcul relationnel des domaines …
• Besoin d’enrichissement :
• les langages d’interrogation et manipulation de données ont une
puissance d’expression insuffisante pour les opérations complexes
• on les insère dans des langages traditionnels, ex : « C++ & SQL »
3
Téléchargement