Le modèle relationnel 8Les structures de données 8Les règles d’intégrité struct

Le modèle relationnel 8Les structures de données 8Les règles d’intégrité structurelle 8L’algèbre relationnelle Le modèle relationnel  Inventé par E. F. Codd en 1970  Fondé sur la théorie mathématique des 2  Fondé sur la théorie mathématique des ensembles et sur la notion de base qui lui est rattachée : la relation. Objectifs d’un modèle relationnel: Rappel  Proposer une indépendance des données et des traitements.  Permettre de gérer les problèmes de cohérence et de redondance des données. 3 cohérence et de redondance des données.  Utiliser des structures de données simples et issues de la vie courante (tables).  Proposer des langages de manipulation de données non procéduraux  Permettre des vues utilisateurs différentes des relations implantées Le modèle relationnel : Les 10 concepts clés (1/2)  La définition du domaine d’un attribut  Le concept de relation 4  Les attributs  Les tuples  Le schéma d’une relation Le modèle relationnel : Les 10 concepts clés (2/2)  La clé  La contrainte référentielle 5  Les valeurs nulles  La contrainte d’entité  La contrainte de domaine Les structures de données : Domaine d’un attribut  Définition : ensemble des valeurs prises par un attribut  Un domaine se définit soit : 6  Un domaine se définit soit : • en extension 8ex. : couleur_yeux = {bleu, vert, marron, noir} • en compréhension 8ex. : âge_enfants = {0, 15} Définition du produit cartésien: Rappel Soient deux ensembles O et P, on appelle Produit cartésien de O et P, l'ensemble noté O×P , des couples (x,y) où x∈O et 7 noté O×P , des couples (x,y) où x∈O et y∈P. Étudiants={ A , T , M } Professeurs = { L , Y } Étudiants ×Professeurs={ (A,L) , (A,Y) , (T,L) , (T,Y) , (M,L) , (M,Y) } Les structures de données : la relation Nom de la relation PRODUIT Attributs , champs N um _prod N om _prod Q té_stock Définition : Sous-ensemble du produit cartésien d’un ensemble d’attributs 8 Occurrences , Tuples, Enregistrements ♦Cardinalité de la relation (nombre de lignes) ♦Unicité du nom des attributs ♦Indifférence de l’ordre des lignes et des colonnes ♦Nombre de colonnes = degré N um _prod N om _prod Q té_stock 24 141 67 C haise Table Lit 63 27 12 Caractérisée par : Les structures de données : Schéma de relations 4 Le schéma de relation représente la structure invariante d’une relation. 4Il est constitué du nom de la relation suivi de la liste des attributs et de leurs domaines associés 9 attributs et de leurs domaines associés PRODUIT (N°PRODUIT : entier, NOM : chaîne, QTE EN STOCK : entier>0) Nom relation Attributs (clé) (souligné) Attributs non clé Règles d’intégrité structurelle  Assertions qui doivent être vérifiées par les données contenues dans la base. 10 • Règles inhérentes au modèle relationnel Règles d’intégrité structurelle du modèle relationnel Unicité de clé Contrainte de référence 11 Contrainte de référence Contrainte d’entité Contrainte de domaine Clé d’une relation  Une relation étant un ensemble de tuples, il ne peut y avoir deux tuples identiques dans une relation. 12  Clé : ensemble minimal d’attributs dont la connaissance des valeurs permet d’identifier un tuple unique Contrainte référentielle(1/2)  Contrainte d’intégrité portant sur une relation R1, consistant à imposer que la valeur d’un groupe d’attributs apparaisse comme valeur de clé dans une autre relation R2. 13 8Elles définissent des liens obligatoires entre relations. 8Garantissent le succès des opérations de mise à jour. Contrainte référentielle(2/2)  Les contraintes de référence sont liées à la notion de clés étrangères : 8Lors de l’insertion d’un tuple dans une relation soumise à une contrainte référentielle (« relations référençantes ») , il faut vérifier que les valeurs de clés étrangères existent dans les relations référencées. 14 clés étrangères existent dans les relations référencées. 8Lors de la suppression d’un tuple dans une relation référencée, il faut vérifier qu’aucun tuple de la relation référençante ne fasse référence au tuple que l’on souhaite supprimer. – soit le SGBD refuse la suppression – soit il la répercute en cascade. Contrainte d’entité  Lorsque la valeur d’un attribut est inconnue, on utilise une valeur conventionnelle appelée valeur nulle 15  La contrainte d’entité impose que toute relation possède une clé primaire et que tout attribut participant à cette clé primaire soit non null. Contrainte de domaine  Les valeurs d’un attribut doivent vérifier une assertion logique 16 une assertion logique Algèbre relationnelle : Définition  Collection d’opérations formelles qui agissent sur des relations et produisent une relation en résultat. 17 relation en résultat.  Dans la plupart des systèmes relationnels, la réponse à une requête s’obtient par l’utilisation d’un ou plusieurs opérateurs relationnels. Algèbre relationnelle : Opérateurs relationnels • Opérateurs unaires : 8Sélection 8Projection 8Complément • Opérateurs binaires : 18 • Opérateurs binaires : 8Union 8Intersection 8Différence 8Les produits et Jointures 8Division Théorie des ensembles Algèbre relationnelle : Sélection (ou restriction) (1/3) Elimination des occurrences de la relation qui ne satisfont pas à une condition donnée. Ex. : Considérons la relation Commande N° COMMANDE DATE MONTANT 28 Octobre 1986 19 28 29 30 52 Octobre Octobre Novembre Décembre 1986 2024 1610 512 La sélection permet de répondre à la question : Donnez les commandes passées après le mois d’octobre N° COMMANDE DATE MONTANT 30 52 Novembre Décembre 1610 512 La condition peut contenir plusieurs critères Algèbre relationnelle : Sélection (ou restriction) (2/3)  Opération sur une relation R1 produisant une relation R2 de même schéma, mais comportant les seuls tuples qui vérifient la condition précisée en argument. 20  Notation : σcondition (R1) R2=selection (R1,condition) Algèbre relationnelle : Sélection (ou restriction) (3/3)  Opérateurs de comparaison =, ≠, <, >, ≤, ≥, BETWEEN, IN, LIKE 21  Combinaison de plusieurs conditions reliées par des opérateurs logiques : AND, OR, NOT  Valeurs NULL Algèbre relationnelle : Projection (1/2) Consiste à supprimer des attributs d’une relation Soit la relation ETUDIANT : Num_étu Nom_étu Nom_départ Adr_départ 521 632 Nom1 Nom2 Informatique Mathématique Fes Meknes 22 632 569 451 Nom2 Nom3 Nom1 Mathématique Informatique Informatique Meknes Rabat Rabat La projection sur nom_étu, nom_départ donne : Nom_étu Nom_départ Nom1 Nom2 Nom3 Informatique Mathématique Informatique La projection sur nom_départ, adr_départ donne : Nom_départ Adr_départ Informatique Mathématique Informatique Fes Meknes Rabat Algèbre relationnelle : Projection (2/2)  Opération sur une relation R1 consistant à composer une relation R2 en enlevant à la relation initiale tous les attributs non mentionnés en opérandes. 23 mentionnés en opérandes.  Notation: π A1, A2, …, An (R1) R2=projection(R1;A1,A2,…,An) Algèbre relationnelle : Complément (1/2) Consiste à construire la relation qui contient toutes les occurrences qui n’existent pas (c’est la relation qui exprime le FAUX) Soit la relation R : Professeur Elève Prof1 Nom2 Le complément de R sera : 24 Prof1 Prof2 Prof2 Prof2 Prof3 Prof3 Nom2 Nom1 Nom2 Nom1 Nom4 Nom1 Nom4 Professeur Elève Prof1 Prof3 Nom4 Nom2 Algèbre relationnelle : Complément (2/2)  Ensemble des tuples du produit cartésien des domaines des attributs d’une relation n’appartenant pas à cette relation 25 n’appartenant pas à cette relation  Notation: Not (R1) R2=Comp (R1) Algèbre relationnelle : Union (1/2) Permet de fusionner deux relations en une seule. Cette opération n’est possible que sur des relations ayant les mêmes attributs. Soit la relation OUVRIER Num_empl Nom_empl Num_empl Nom_empl Soit la relation CADRE 26 Num_empl Nom_empl 15 17 56 Nom1 Nom3 Nom2 Num_empl Nom_empl 3 21 Nom5 Nom6 L’union permet de construire la relation EMPLOYE Num_empl Nom_empl 3 21 15 17 56 Nom5 Nom6 Nom1 Nom3 Nom2 Algèbre relationnelle : Union (2/2)  Opération portant sur deux relations de même schéma R1 et R2, consistant à construire une relation de même schéma 27 construire une relation de même schéma R3 ayant pour tuples ceux appartenant à R1 ou (inclusif) R2.  Notation: R1∪R2 R3=Union (R1,R2) Algèbre relationnelle : Intersection (1/2) Permet de fournir des occurrences présentes dans l’une et l’autre des relations. Cette opération n’est possible que sur des relations ayant les mêmes attributs. Soit la relation INGENIEUR Num_empl Nom_empl Soit la relation CHEF DE SERVICE Num_empl Nom_empl 3 Nom5 28 Num_empl Nom_empl 3 15 28 Nom5 Nom1 Nom4 Num_empl Nom_empl 3 15 Nom5 Nom1 L’intersection permet de construire la relation suivante 3 21 15 56 Nom5 Nom6 Nom1 Nom2 Algèbre relationnelle : Intersection (2/2)  Opération portant sur deux relations de même schéma R1 et R2 consistant à construire une relation de même schéma R3 ayant pour tuples ceux appartenant à la 29 R3 ayant pour tuples ceux appartenant à la fois à R1 et R2.  Notation: R1 ∩R2 R3=Intersection (R1,R2) Algèbre relationnelle : Différence (1/2) Permet d’obtenir les occurrences de la relation 1 qui n’appartiennent pas à la relation 2. Les deux relations doivent avoir les mêmes attributs. Cette opération n’est pas commutative. Soit la relation INSCRITS Soit la relation RECUS 30 Nom_étu Nom_UV Nom2 Nom5 Nom2 Maths Maths Chimie Nom_étu Nom_UV Nom2 Nom5 Physique Chimie La différence permet de construire la relation suivante Nom_étu Nom_UV Nom2 Nom5 Nom2 Nom2 Nom5 uploads/Philosophie/ cours-algebre-relationnelle-pdf.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager