Cours de Bases de Données Relationnelles Filière : SMI-S5 2021-2022 Partie I Ba
Cours de Bases de Données Relationnelles Filière : SMI-S5 2021-2022 Partie I Bases de données- Modèle Relationnel EL FAZAZY KHALID Bases de données- Modèle Relationnel Un système de gestion de base de données (SGBD) est une collection de données interdépendantes et de programmes pour accéder à ces données. L'objectif principal d'un SGBD est de fournir un moyen de stocker et de récupérer des informations de base de données. Les premiers systèmes de bases de données sont apparus dans les années 1960 en réponse à la gestion informatisée des données commerciales. L'aspect central de l'application n'est pas un programme effectuant un calcul, mais plutôt les données elles-mêmes. La gestion des données implique à la fois de définir des structures pour le stockage des informations et de fournir des mécanismes pour la manipulation des informations. De plus, le système de base de données doit assurer la sécurité des informations stockées, malgré les pannes du système ou les tentatives d'accès non autorisé. Si les données doivent être partagées entre plusieurs utilisateurs, le système doit éviter d'éventuels résultats anormaux. I. Le modèle Entité-Association Formalisme retenu par l'ISO pour décrire l'aspect conceptuel des données à l’aide d’entités et d’associations a) Le concept d’entité Représentation d’un objet matériel ou immatériel. Par exemple un employé, un projet, un bulletin de paie : Nom de l’entité Liste des propriétés Les entités peuvent être regroupées en types d’entités. Par exemple, on peut considérer que tous les employés particuliers sont des instances du type d’entité générique EMPLOYE b) Les propriétés Données élémentaires relatives à une entité. Par exemple, un numéro d’employé, une date de début de projet. Les propriétés d’une entité sont également appelées des attributs, ou des caractéristiques de cette entité c) Les associations Représentation d’un lien entre deux entités ou plus. Par exemple, la séance d’un cours : d) Les cardinalités La cardinalité d’une association pour une entité constituante est constituée d’une borne minimale et d’une borne maximale : • Minimale : nombre minimum de fois qu’une occurrence de l’entité participe aux occurrences de l’association, généralement 0 ou 1 • Maximale : nombre maximum de fois qu’une occurrence de l’entité participe aux occurrences de l’association, généralement 1 ou n En notant uniquement les cardinalités maximum, on distingue 3 types de liens : • Lien fonctionnel 1:n • Lien hiérarchique n:1 • Lien maillé n:m II. Le Modèle Relationnel Le modèle relationnel permet de définir un haut degré d'indépendance des données. Ainsi les programmes d'application ne doivent pas être affectés par les modifications apportées à la représentation interne des données, notamment par les modifications apportées à l'organisation des fichiers, l'enregistrement ou aux chemins d'accès. Il fournit des bases solides pour traiter les problèmes de sémantique, de cohérence et de redondance des données. En particulier, le concept de relations normalisées, c'est-à-dire des relations sans groupes répétitifs. Le modèle relationnel est basé sur le concept mathématique de relation, qui est physiquement représenté comme une table. 1. Structure de données relationnelle a) Relation Une relation est représentée sous la forme d'une table bidimensionnelle dans laquelle les lignes de la table correspondent à des enregistrements et les colonnes correspondent aux attributs. Par exemple, la relation Entreprise Entreprise EntrepriseNo Codepostal B005 SW1 4EH B007 AB2 3SU B003 G11 9QX B004 BS99 1NZ B002 NW10 6EU Une relation est définie par un ensemble d'attributs et de domaines. Soit A1, A2, …, An des attributs et D1, D2, …, Dn des domaines, une relation R définie par un schéma de relation S (un ensemble d'attributs et leurs domaines correspondants). Ainsi, la relation R est définie comme un ensemble de n- tuples : - (A1: d1, A2: d2, . . ., An:dn) tel que d1∈D1, d2∈D2, …, dn∈Dn n Chaque élément du n- tuples contient un attribut et une valeur pour cet attribut. b) Attribut Un attribut est une colonne nommée d'une relation. Par exemple, les colonnes EntrepriseNo (le numéro de l’Entreprise) et code postal sont des attributs de la relation Entreprise c) Domaine Un domaine est l'ensemble des valeurs autorisées pour un ou plusieurs attributs. • Chaque attribut dans une relation est défini sur un domaine. • Un attribut, ou deux attributs ou plus peuvent être définis sur le même domaine. • Les domaines peuvent être distincts. d) Tuple Les tuples d'une relation sont les lignes ou les enregistrements de la table. Dans la relation d’Entreprise, chaque ligne contient deux valeurs, l’une pour EntrepriseNo et l’autre pour le code postal. e) Degré Le degré d'une relation est le nombre d'attributs qu'elle contient. La relation Entreprise de la figure 1 a deux attributs. Ça signifie que chaque ligne de la table est un tuple contenant deux valeurs. Une relation avec seulement un attribut aurait le degré un et s'appellerait une relation unaire ou un tuple. Une relation avec deux attributs s'appelle binaire, avec trois attributs s'appelle ternaire et si plus de trois le terme n - aire est habituellement utilisé. f) Cardinalité La cardinalité d'une relation est le nombre de tuples qu'elle contient. Par contraste, la cardinalité de la relation change selon si les tuples sont ajoutés ou supprimés. g) Schéma de base de données relationnelle Le schéma d'une base de données est défini par l'ensemble des schémas des relations qui la composent. Soit R1, R2, …, Rn un ensemble de schémas de relation, alors nous pouvons écrire le schéma base de données relationnel, ou simplement le schéma relationnel, comme : R = {R 1, R 2, …, R n} Notez la différence entre : • le schéma de la BDR qui dit comment les données sont organisées dans la base • l'ensemble des n-uplets de chaque relation, qui représentent les données stockées dans la base 2. Clés relationnelles Comme indiqué précédemment, il n'y a pas de tuples en double dans une relation. Par conséquent, nous avons besoin d’un ou plusieurs attributs (appelés clés relationnelles) qui va identifier chaque tuple dans une relation. a) Clé primaire La clé candidate identifié les tuples de manière unique dans la relation. Cela signifie qu'une relation a toujours une clé primaire. Au pire cas, l’ensemble complet d’attributs pourrait servir de clé primaire, mais d’habitude un sous-ensemble d’attributs est suffisant pour distinguer les tuples (Clé primaire composée). Pour la relation Entreprise l’attribut EntrepriseNo est choisi comme clé primaire : Entreprise EntrepriseNo Codepostal B005 SW1 4EH B007 AB2 3SU B003 G11 9QX B004 BS99 1NZ B002 NW10 6EU b) Clé étrangère Un attribut, ou un ensemble d'attributs, d’une relation qui correspond à la clé primaire d’une autre relation. Généralement, lorsqu’un attribut apparaît dans plusieurs relations, son apparence représente une relation entre les tuples des deux relations. L’attribut EntrepriseNo dans la relation Personnel est un Clé étrangère Personnel PersonnelNo Nom position sex D_S salaire EntrepriseNo SL21 Bader Manager M 01-oct-45 30000 B005 SG37 Hamid Assistant F 10-nov-60 12000 B003 SG14 David Supervisor M 24-mars-58 18000 B003 SA9 Amina Assistant F 19-Feb-70 9000 B007 SG5 Maryam Manager F 3-Jun- 40 24000 B003 SL41 Julie Assistant F 13-Jun-65 9000 B005 3. Contraintes d'intégrité Les règles d'intégrité sont les assertions qui doivent être vérifiées par les données contenues dans une base. La gestion automatique des contraintes d’intégrité est l’un des outils les plus importants d’une base de données. a) Nulls Null représente une valeur pour un attribut qui est actuellement inconnu à un tuple. Les zéros et les espaces sont des valeurs, mais un Null représente l'absence d'une valeur. Par conséquent, les valeurs NULL doivent être traitées différemment. b) Intégrité de l'entité Par définition, une clé primaire est un identifiant unique pour identifier les tuples. Par exemple, comme EntrepriseNo est la clé primaire de la relation Entreprise, nous ne devrions pas pouvoir insérer un tuple dans le Relation Entreprise avec un Null pour l’attribut EntrepriseNo. Dans le cas d'une clé primaire composée, si nous autorisons un Null dans un tuple, nous impliquons que cet attribut qui compose la clé primaire n’est pas nécessaire pour distinguer les autre tuples. c) Intégrité référentielle Si une clé étrangère existe dans une relation, la valeur de la clé étrangère doit correspondre à la valeur de la clé primaire d'un tuple dans sa relation d'origine ou la valeur de la clé étrangère doit être totalement nulle. Par exemple, EntrepriseNo de la relation Personnel est une clé étrangère pointant sur EntrepriseNo de la relation d’Entreprise. Donc, l’ajout d’un enregistrement, dans la relation Personnel, avec (EntrepriseNo= B025) n’est pas possible. Sauf s’il existe déjà un enregistrement (EntrepriseNo = B025) dans la relation d’Entreprise. 4. Dépendances fonctionnelles Objectifs: • Déterminer si un ensemble de dépendances ne contient pas de redondances. • Représenter ces dépendances sous une forme minimale. Les dépendances fonctionnelles sont associées au schéma et non à une instance particulière Soit R = {A, B, C, D} un schéma de relations et DF = { A→B, B→C, AC→D} l'ensemble des dépendances fonctionnelles Si r satisfait toutes les contraintes de DF, alors r satisfait également les dépendances suivantes: A→C A→AC A→D A→ABCD CD→D ...... Exemple : ENREG = {NumE, Pays, NomM, Classe, Date, IdDep} Les dépendances vérifiées par chaque instance (en supposant un seul déposant uploads/Management/ bases-de-donnees-modele-relationnel.pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 28, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.4489MB