École supérieure en Sciences et Technologies de l’Informatique et du Numérique
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN) Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 1 Objectif du module Expliquer les fondements en matière de modélisation de données ; Former les étudiants à la conception, à la création, et à la gestion des bases de données relationnelles. Organisation du module Volume horaire : 13 Cours ; 12 séances de TDs ; 12 séances de TP ; Contrôle de connaissances : Contrôle continu (Partiel TD, TP) et Examen. Références bibliographiques Georges Gardarin, Bases de Données, Eyrolles, 2003. Ramon A. Mata-Toledo, Pauline K. Cushman, Introduction aux bases de données relationnelles, EdiScience, 2002. Nacer BOUDJLIDA, Bases de données et systèmes d’informations – Le Modèle relationnel : langages, systèmes et méthodes, DUNOD, 2002. Ramon A. MATA-TOLEDO and Pauline K. CUSHMAN, «Programmation SQL», Ediscience, 2003. Plan du cours Chapitre 1 : Modélisation de données Ce chapitre décrira la méthodologie à suivre pour élaborer un modèle conceptuel de données suivant le modèle entité/association. Chapitre 2 : Bases de données et système de gestion de bases de données Ce chapitre introduit la problématique des bases de données. Chapitre 3 : Concepts sur les bases de données relationnelles Ce chapitre se focalise sur l’étude des concepts pivots des bases de données relationnelles. Chapitre 4 : Dépendances fonctionnelles et normalisation Ce chapitre étudiera la théorie de la normalisation qui constitue un processus de contrôle de la redondance et la préservation de la cohérence de données. Chapitre 5 : Algèbre relationnelle. Ce chapitre abordera l’algèbre relationnelle qui constitue le formalisme support du langage de requête SQL. Chapitre 6 : Mise en œuvre d’une base de données relationnelle : Langage SQL Ce chapitre est consacré au SQL (Structured Query Language) qui est considéré comme le langage d’accès normalisé aux bases de données relationnelles. Chapitre I – Modélisation de données 1. Introduction Un modèle conceptuel de données (MCD) modélise les données décrivant une situation particulière et les liens qui les caractérisent. Le MCD doit être complet pour supporter toutes les données nécessaires et bien formé pour ne pas être la source de redondances et d’incohérences de données. Deux formalismes sont utilisés : (i) modèle entité-association proposé par Chen en 1976 (ii) diagramme de classes d’UML pour la modélisation orientée objet. 2. Concepts du modèle entité-association Le modèle E-A s’appuie principalement sur cinq concepts : l’entité, l’association, les propriétés, l’identifiant et les cardinalités. a. Entité / Classe d’entités Une entité est un objet abstrait ou concret possédant un ensemble de caractéristique et caractérisé par son unicité. Ex 1. L’étudiant Samir YOUSFI, le livre Modélisation des bases de données, etc. Une classe d’entités décrit un ensemble d’entités partageant les mêmes caractéristiques et ayant la même sémantique. Une entité est l’occurrence (instance) de sa classe d’entités. Ex 2. Les étudiants, les livres, etc. Une classe d’entités est représentée par un rectangle contenant le nom de la classe d’entités. b. Association / Classe d’associations Une association est un lien entre plusieurs entités. LIVRES École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN) Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 2 Ex 3. « L’étudiant Samir YOUSFI a emprunté le livre Modélisation des bases de données » ; a emprunté représente une association binaire (i.e., entre deux entités). Une classe d’association désigne un ensemble d’associations ayant les mêmes caractéristiques. La classe d’associations définit un lien entre plusieurs classes d’entités. Une association est l’occurrence (instance) de sa classe d’associations. Ex 4. « L’emprunt d’un livre à la bibliothèque par un étudiant » est un exemple de classe d’associations. Une classe d’associations est représentée par une ellipse contenant le nom de la classe d’associations (généralement verbe à l’infinitif). Ex 5. La figure suivante représente des associations entre des entités ÉTUDIANTS et des entités LIVRES. Une classe d’associations réflexive matérialise un lien entre une classe d’entités et elle-même. Une classe d’associations réflexive peut être symétrique (ex. être marié à, être ami de, etc.) ou asymétrique (ex. être parent de, etc.). Une classe d’associations réflexive asymétrique possède des rôles. Ex 6. Voici un exemple d’une classe d’association réflexive symétrique. Ex 7. Voici un exemple d’une classe d’association réflexive asymétrique où « Parent » et « Enfant » représentent les rôles. c. Propriété / Valeur Une propriété (attribut) est une caractéristique associée à une classe d’entités ou à une classe d’associations. Ex 8. Le matricule est une propriété de la classe d’entités ÉTUDIANTS et dateEmprunt est une propriété de la classe d’associations « Emprunter ». Au niveau d’une entité ou d’une association, chaque propriété possède une valeur appartenant à un domaine de valeurs (entier, chaîne de caractères, etc.). Ex 9. Pour un étudiant donné, la valeur de la propriété matricule prendra, par exemple, la valeur INF2018-101 (une chaîne de caractères). Emprunter ÉTUDIANTS LIVRES numPersonne nomPersonne PERSONNES ÊtreMariéÀ DateMariage numPersonne nomPersonne PERSONNES ÊtreParentDe Enfant Parent Emprunter dateEmprunt matricule ÉTUDIANTS École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN) Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 3 Dans un modèle E-A, les propriétés d’une classe d’entités (resp. d’associations) sont régit par les règles suivantes : R1 : Chaque propriété doit recevoir une valeur sauf si cette valeur n’est pas connue à un instant donné (valeur NULL). R2 : Une propriété est une caractéristique élémentaire. Les données calculées ne sont pas alors acceptées dans un modèle E-A. R3 : Une classe d’entités et ses propriétés doivent être cohérentes entre elles dans la mesure où elles ne traitent que d’un seul sujet. Ex 10. Modélisons des informations relatives à des livres et à leurs auteurs. Ces informations ne doivent pas être modélisées dans une même classe d’entités LIVRES. R4 : Une propriété est placée dans une classe d’associations lorsqu’elle dépend de toutes les classes d’entités liées par cette classe d’associations. Ex 11. La propriété dateEmprunt caractérise l’emprunt d’un livre par un étudiant donné. Elle caractérise alors le lien entre les classes d’entités LIVRES et ÉTUDIANTS. d. Identifiant Un identifiant d’une classe d’entités (resp. d’associations) est un ensemble minimal de propriétés. Il permet d’identifier chaque entité (resp. chaque association) de manière unique. Il est composé d’une seule propriété ou peut en comporter plusieurs. Graphiquement, il est souligné et mis en tête parmi la liste des propriétés de la classe d’entités (resp. d’associations). Ex 12. La propriété matricule constitue un identifiant de la classe d’entités ÉTUDIANTS. Les deux étudiants <INF2017-101, YOUSFI> et <INF2017-102, YOUSFI>) ont les mêmes noms, mais pas les mêmes matricules. Toute classe d’entités (resp. d’associations) possède un identifiant et peut en avoir plusieurs. e. Cardinalités d’une classe d’associations Les cardinalités min, max d’un segment reliant une classe d’associations et une classe d’entités indiquent le nombre minimal et maximal de fois qu’une entité peut participer aux associations. La cardinalité minimale prend l’une des valeurs 0 ou 1. La cardinalité minimale prend la valeur 1 ou n. Ex 13. Un livre est emprunté par plusieurs étudiants, voire aucun, et un étudiant peut emprunter un ou plusieurs livres. Une instance possible du modèle E-A de l’exemple ci-dessus est décrite ci-après où sont représentées 3 instances de ÉTUDIANTS et 4 instances de LIVRES ainsi que la cardinalité 1, n pour ÉTUDIANTS et 0, n pour LIVRES. Emprunter dateEmprunt matricule nomEtudiant ÉTUDIANTS matricule nomEtudiant ÉTUDIANTS numLivre titre LIVRES 0, n 1, n École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN) Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 4 f. Identifiant d’une classe d’associations L’identifiant d’une classe d’associations n vers n est composé des identifiants de ses participants. Seule une classe d’associations n vers n possède des propriétés. Ex 14. Considérons le modèle E-A de l’exemple 13. L’identifiant de la classe d’associations Emprunter est constitué par les propriétés « matricule, numLivre ». Dans le cas où un même étudiant pouvait emprunter un même livre à deux dates différentes, l’identifiant de la classe d’associations Emprunter ne permettrait plus de distinguer ces deux associations. Pour résoudre ce problème, il suffit que la propriété dateEmprunt fasse partie de l’identifiant de la classe d’associations Emprunter. L’identifiant d’une classe d’associations 1 vers n est composé de l’identifiant du participant se trouvant du côté de la cardinalité maximale 1. Ex 15. Considérons le modèle E-A ci-après. L’identifiant de la classe d’associations Posséder est numAvion. codeCompagnie nomCompagnie COMPAGNIES numAvion Capacité AVIONS Posséder 1, 1 1, n École supérieure en uploads/Litterature/ ch-1-1cs-estin-2021-2022.pdf
Documents similaires
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 31, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.9812MB