Chapitre3: Le Modèle Relationnel 2019_2020 1 Le Modèle Relationnel: Définition
Chapitre3: Le Modèle Relationnel 2019_2020 1 Le Modèle Relationnel: Définition Modèle de niveau logique orienté enregistrement, très simple Défini par Ted Codd en 1970 et développé par IBM lab. Il se base sur la théorie mathématique des relations. Aujourd’hui utilisé par beaucoup de SGBDs commerciaux (Oracle, Informix, DB2, Ingres, Sybase, dBase, SqlServer, Access, etc.) et GIS Modèle à deux concepts: • Relation (table) • Attribut (colonne) 2 Étudiant (CodeEtud, NomEtud, PrénomEtud, AgeEtud) Nom de la Relation Nom des Attributs Une table est un ensemble de données relatives à un même sujet (entité) et structurées sous forme de tableau Étudiant Code Etudiant Nom Etudiant Prénom Etudiant Age Etudiant 125 Ben saleh Ali 19 134 Ben fraj Mohamed 20 167 Ben ahmed Moussa 20 Le Modèle Relationnel: Concepts de Base 3 Le Schéma Relationnel Une BD = ensemble de relations Schéma d’une BD relationnelle = un ensemble de schémas de relation: R1, R2, …, RX Schéma d’une relation = un ensemble d’attributs Ri = (A1, A2, …, Ay) 4 Les Règles de Structuration Attributs: simples et monovalués (domaine de valeurs atomiques) Structure plate régulière Attribut 1 Attribut 2 Attribut 3 Attribut 1 Attribut 2 Attribut 3 V1 V2 Attribut 1 Attribut 2 Attribut 3 V1 V2 Une et une seule valeur atomique par attribut INTERDIT 5 Les Règles de Structuration: Valeurs Nulles Un attribut peut ne pas avoir de valeur pour un tuple: on dit alors qu’il a une valeur nulle. Exemple: on ne connaît ni le numéro de téléphone d’Ali ni l’e-mail de Saleh. 136 Ben Ahmed Ali NIL Ali@yahoo.fr 234 Tounsi Anis 71 000 666 Anis@hotmail.com 675 Ben Mohamed Mohsen 73666876 Mohsen@yahoo.com 676 Ben Saleh Saleh 72666999 NIL 6 Traduction des Entités Créer une Relation par Entité en lui donnant pour attributs les propriétés explicitées et pour clé l'identifiant. A Id_A a1 a2 B Id_B b1 b2 b3 R A (id_A, a1, a2) B (id_B, b1, b2, b3) ETUDIANT Numéro Nom Date naissance Exemple ÉTUDIANT (Numéro, nom, Date naissance) 7 Traduction des Associations 1,N Si la cardinalité maximale de l’autre côté de l’association est 1 On reporte l'identifiant de l'entité (*,N) dans la relation représentant l'entité (1,1) Migration de la clé primaire de l’entité mère (du côté de la cardinalité maximale N) vers l’entité fille (du côté de la cardinalité maximale 1) 8 A Id_A a1 a2 B Id_B b1 b2 b3 R A (id_A, a1, a2, #Id_B) B (id_B, b1, b2, b3) 1,1 *,N Exemple: ETUDIANT N°Etudiant Nom Groupe Code libellé Appartenir 1,1 1,N Etudiant (N°Etudiant , Nom, #Code) Groupe (Code, Libellé) Traduction des Associations 1,N 9 Fille Mère Clé étrangère Traduction des Associations N,M Dans tous les cas, on crée une relation spécifique dont la clé sera composée des clés des entités participantes. Relation dont la clé primaire est composée des clés des entités liées par l’association en question 10 A Id_A a1 a2 B Id_B b1 b2 b3 A (id_A, a1, a2) B (id_B, b1, b2, b3) R( id_A,id_B , r1) N,M N,M Employé Matricule Nom Projet Code Libellé Responsable 1,N 1,N EMPLOYE(Matricule, Nom) PROJET (Code , Libellé , Responsable) TRAVAILLER ( Matricule,code , %Temps) R r1 Travailler % Temps Exemple: Traduction des Associations N,M 11 Clés étrangères Clé primaire Traduction des Associations Naires A Id_A a1 a2 B Id_B b1 b2 b3 A (id_A, a1, a2) B (id_B, b1, b2, b3) C (Id_C , c1) R( id_A,id_B,Id_C ,r1) 1,N C Id_C c1 1,N 1,N R r1 Elles se traduisent comme les associations N, M 12 Traduction des Associations Naires Exemple: Pièce CodePièce projet CodeProjet Fournisseur (CodeFournisseur) Projet (CodeProjet) Pièce (CodePièce) Distribuer( CodeFournisseur ,CodeProjet ,CodePièce , Quantité) 1,N Fournisseur CodeFournisseur 1,N 1,N Distribuer Quantité 13 Traduction des Associations Récursives Cas 1 : cardinalité (X,1) - (X,n), avec X=0 ou X=1. La Clé Primaire de l'entité se dédouble et devient une Clé Etrangère dans la relation. Exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,1) - (X,n) Exemple: une société organisée de manière pyramidale : chaque employé a 0 ou 1 supérieur hiérarchique direct. Simultanément, chaque employé est le supérieur hiérarchique direct de 0 ou plusieurs employés. 14 Employé Matricule Nom Chef 1,N 1,1 Chef de Subordonné Traduction des Associations Récursives Employé ( Matricule Subordonné ,Nom , #Matricule Chef) 15 Traduction des Associations Récursives Cas 2 : cardinalité (X,n) - (X,n), avec X=0 ou X=1. De même, tout se passe exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,n) - (X,n). Il y a, donc, création d'une nouvelle table. PIECE CodePièce Fait_de 1,N Composé Composant Fait_de (Code Pièce Composant ,Code Pièce Composé) 0,N 16 Traduction des Associations de Spécialisation A a1 a2 B b1 b2 b3 C Id_C c1 La clé du supertype est uniquement répétée dans les sous-tables. L'héritage est réalisé par jointure. A Id_C a1 a2 B Id_C b1 b2 b3 C Id_C c1 17 Traduction des Associations de Spécialisation Secrétaire Vitesse de frappe Technicien Grade Employé N°SS Nom Adresse Professeur Discipline Employé (N°SS , Nom , Adresse) Secrétaire (N°SS , Vitesse de frappe) Technicien(N°SS , Grade) Professeur (N°SS , Discipline) 18 Traduction des Associations de Spécialisation A a1 a2 B b1 b2 b3 C Id_C c1 La super table est supprimée et reconstituée par une vue avec projections et unions sur les sous classes. A Id_C a1 a2 B Id_C b1 b2 b3 C Id_C c1 19 Secrétaire Vitesse de frappe Technicien Grade Employé N°SS Nom Adresse Professeur Discipline Secrétaire (N°SS , Nom, Adresse ,Vitesse de frappe) Technicien(N°SS , Nom, Adresse , Grade) Professeur (N°SS , Nom, Adresse , Discipline) Traduction des Associations de Spécialisation 20 Traduction des Associations de Spécialisation A a1 a2 B b1 b2 b3 C Id_C c1 Les sous-tables sont fusionnées dans la super table. Les attributs non pertinents ont la valeur NULL. C Id_C c1 a1 a2 b1 b2 B3 21 Secrétaire Vitesse de frappe Technicien Grade Employé N°SS Nom Adresse Professeur Discipline Traduction des Associations de Spécialisation Employé (N°SS , Nom , Adresse, Vitesse de frappe , Grade , Discipline, #N°fonction) Fonction (N°fonction , Type) 22 Exemple de Passage du EA M.Relationnel C Motivation Id Motivation intitulé avoir Abonne Id Abonne Nom Prénom Date Naissance Sexe Profession Email S’inscrire Rubrique Id Rubrique Nom Rubrique Encadrer Newsletter Id Newsletter Sujet Date Envoie Contenu 0,N 1,1 1,N 0,N 0,N 1,1 23 Exemple de Passage du EA M.Relationnel C Motivation (Id_Motivation , intitulé) Abonne(Id_abonné , Nom , Prénom , Date Naissance , Sexe , Profession , Email , #Id_Motivation ) Rubrique ( Id_Rubrique , Nom Rubrique) Newsletter (Id _newsletter , Sujet , Date Envoie , Contenu , #Id_Rubrique) S’inscrire (Id_abonné ,Id_Rubrique) 24 M.Relationnel: Les Contraintes d’Intégrité La définition d’un modèle de données impose un ensemble de règles d’organisation de données. L’Unicité de la Clé •Toute relation possède un identifiant (clé) •Un enregistrement ne doit exister qu’une seule fois dans une relation. • Il ne peut y avoir deux tuples identiques dans la même relation • L’identifiant n’admet pas de valeurs nulles La contrainte d’unicité de clé impose que toute relation doit avoir une et une seule clé 25 M.Relationnel: Les Contraintes d’Intégrité •Elle impose que toute valeur prise par une clé étrangère doit être une valeur d’une clé primaire d’une autre relation. • Toute association de cardinalité 1:1 engendre une contrainte d'intégrité référentielle La Contrainte Référentielle 26 R A Id_A a1 a2 B Id_B b1 b2 b3 1,1 R r A Id_A a1 A2 #Id_B B Id_B b1 b2 b3 Clé étrangère (Id_B) est une clé étrangère et référence B M.Relationnel: Les Contraintes d’Intégrité 27 M.Relationnel: Les Contraintes d’Intégrité A Id_A a1 a2 B Id_B b1 b2 b3 R r N,M N,M Toute association transformée en relation engendre deux contraintes d'intégrité référentielle A Id_A a1 a2 B Id_B b1 b2 b3 R Id_A Id_B r1 (Id_A) est une clé étrangère et référence A (Id_B) est une clé étrangère et référence B 28 M.Relationnel: Les Contraintes d’Intégrité Etudiant N°CIN Prénom Etudient Nom Etudient Groupe Code Spécialité Nombre Etudient Appartient 1,1 1,N Étudiant (N°CIN, Prénom Etudient, Nom Etudient, #Code) Groupe (Code, Spécialité, Nombre Etudient) Exemple 1: 29 Clé étrangère 07769092 Saleh Ben Ahmed F123 07787654 Ali Tounsi M13 05567890 Fatma Ben Saleh F123 05645342 Mouna Ben Ahmed G45 Exemple 2: Employé (N°CIN, Prénom Employé , Nom Employé, #Code Département) Département (Code Département, Libellé) F123 Finance M13 Marketing M.Relationnel: Les Contraintes d’Intégrité 30 La Contrainte d’Entité Elle impose que tout attribut participant à une clé primaire d’une relation doit être non nulle La Contrainte de Domaine • Le domaine d’un attribut est l’ensemble des valeurs qui lui sont possibles d’être affectées. • Il est judicieux de le mentionner afin de pouvoir contrôler les opérations effectuées ultérieurement sur cet attribut et préparer l’espace mémoire nécessaire. Elle impose que toute valeur prise par un attribut doit être dans le domaine de ce dernier. M.Relationnel: Les Contraintes d’Intégrité 31 Un domaine de valeurs est un ensemble de valeurs atomiques que peut prendre un attribut Exemples de domaines: • Dnom: chaînes de caractères de longueur maximale 30 • DCode: uploads/Philosophie/cours-bd-chapitre-3.pdf
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 27, 2021
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 1.3737MB