1
2A-SI
4 - Bases de Données
4.2 - Modèle relationnel
Stéphane Vialle
Stephane.Vial[email protected]
http://www.metz.supelec.fr/~vialle
Avec l’aide du cours de Y. Bourda
Bases de Données
Le modèle relationnel
Généralités du « modèle relationnel » :
Formalisé par CODD en 1970
Ex d’implantations : DB2, INFORMIX, INGRES,
ORACLE, SYBASE, SQL-server
Repose sur l’algèbre relationnelle
possède des bases solides
Concepts puissants et simples !
succès !
Bases de Données
Le modèle relationnel
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 »
– 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.
2
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
• Produit cartésien :
Couleur : {Jaune ; Bleu}
X
Marque : {Peugeot ; Renault}
X
Etat : {Excellent ; Moyen ; Mauvais}
• Domaine : ens. de valeurs associées à un nom
Nom : {val1 ; val2 ; ….}
Ex :
Couleur : {Jaune ; Bleu}
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
• Relation : Sous-ensemble du produit cartésien,
caractérisé par un nom :
Ex : « Couleur_Marque_Etat »
Jaune Peugeot Excellent
Jaune Renault Excellent
Jaune Renault Moyen
Bleu Peugeot Mauvais
Couleur_Marque_Etat
« Les seules lignes qui ont un sens
dans le cadre de mon problème »
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
Attribut :
Colonne d’une relation
caractérisée par un nom
• Tuple :
Ligne d’une relation
Marque
3
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
• Schéma de relation :
Nom de la relation,
suivi de la liste des attributs
avec leurs domaines (qui
doivent être connus).
Marque EtatCouleur
Ex : Couleur_Marque_Etat (Couleur,Marque,Etat)
Bases de Données
Le modèle relationnel
Algèbre relationnelle :
• 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 »
•SGBD :un logiciel supportant le
modèle relationnel, et qui
peut manipuler les données
avec des opérateurs
relationnels
Les opérandes = des relations, ou au moins une relation
Un résultat = une relation
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• 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
•Rmq :
4
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 :
• 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 :
• Produit Cartésien : (déjà vu)
Opérandes : 2 relations
Résultat : toutes les combinaisons possibles des
tuples des opérandes
C x E
5
Bases de Données
Le modèle relationnel
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
Projection sur Couleurs et Marques
Projection sur Couleurs
Bases de Données
Le modèle relationnel
Opérateurs relationnels :
• Restriction :
Opérandes : 1 relation et une condition
Résultat : la relation restante après suppression des
tuples ne satisfaisant pas la condition
Restriction à la condition « Couleurs = Jaune »
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)
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !