Cours Bases de données – Module 1 Joachim TANKOANO Université de OUAGADOUGOU In
Cours Bases de données – Module 1 Joachim TANKOANO Université de OUAGADOUGOU Institut Burkinabé des Arts et Métiers (IBAM) LICENCE MIAGE 2ème année Dernière mise à jour : 20/11/2018 Cours Bases de données – Module 1 Plan du cours 1. Introduction 2. Le modèle relationnel 2.1. Les concepts de base 2.2. L’utilisation du langage algébrique comme langage de requête 2.3. L’utilisation des langages prédicatifs comme langages de requête 2.4. Les approches utilisées pour l’implémentation des SGBD relationnels 3. Introduction au langage SQL 4. Dépendances fonctionnelles et normalisation 5. Extension du langage SQL en langage autonome 6. Connecteurs de bases de données et langages hôtes Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Le concept de relation Définition Une relation R correspond à un sous-ensemble du produit cartésien de n ensembles de valeurs atomiques, appelés domaines (Di). n définit le degré de la relation et chaque élément de la relation est un n-uplet ou tuple constitué de n valeurs d’attributs N.B.: Le concept de relation est un concept mathématique qu’il ne faut pas confondre avec le concept de relation du modèle E/A qui sert à désigner une association entre entités. Une relation R peut être définie de façon extensive (on dit aussi par compréhension) en énumérant dans une table la liste des tuples qui la compose. Ex: Une relation R peut aussi être définie par intention à l’aide d’un prédicat à n variables. Ex: R = {(dj1, …, djn) | j p(dj1, …, djn)} 1 Jean BP 1322 OUAGA 2 Paul BP 10 BOBO 3 Amadou BP 532 LEO Pour rendre une relation plus parlante, on lui associe en général un nom significatif et à chacun de ses domaines un nom d’attribut, également significatif qui explicite le rôle joué par le domaine dans la relation. Ex: Pilote (Noid, nom, adresse) Le domaine auquel chaque attribut est associé définit alors l’ensemble des valeurs légales que cet attribut peut prendre, ce qui permet au SGBD de garantir l’intégrité de domaine. Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Le concept de dépendance fonctionnelle Définition On dit qu’il existe une dépendance fonctionnelle (DF) d’un attribut (ou groupe d’attributs) X de R vers un attribut (ou groupe d’attributs) Y de R, si à chaque valeur de X dans R est associé une et une seule valeur de Y dans R. Si t1 et T2 sont 2 tuples de R alors t1.X = t2.X t1.Y = t2.Y On note X Y Ex: La relation Pilote(Noid, Nom, Adresse) est telle qu’on peut écrire : Noid Nom Noid Adresse Ce concept permet de définir les liens sémantiques qui existent entre attributs ou groupes d’attributs ainsi que les contraintes d’intégrité qu’il faut maintenir dans toute extension de la relation. Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Les concepts de clé primaire et clés candidates Définition La clé primaire d’une relation R est un attribut (ou groupe d’attributs) de R dont chaque valeur identifie de façon unique un tuple de R. Lorsque plusieurs attributs (ou groupes d’attributs) peuvent jouer le rôle de clé primaire, on parle de clés candidates ou alternatives. En d’autres termes, tous les attributs de R dépendent fonctionnellement de sa clé primaire. Dans la définition d’une relation à l’aide de ses attributs, on a coutume de souligner l’attribut ou le groupe d’attributs qui constitue sa clé primaire. Ex: Pilote(Noid, Nom, Adresse) Les clés primaires permettent aux SGBD de garantir l’intégrité de relation et les clés alternatives l’intégrité d’unicité. Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Le concept de base de données relationnelle Définition Une base de données relationnelle est définie par un ensemble de relations sémantiquement liées par des attributs ayant les mêmes domaines de définition Les liens sémantiques entre relations se matérialisent par la présence de clés étrangères dans les relations, i.e. d’attributs qui sont des clés primaires dans d’autres relations. Dans une BD relationnelle, les clés étrangères permettent de garantir l’intégrité référentielle. Les règles de passage d’un modèle conceptuel E/A au modèle relationnel se définissent comme suit: 0,n 1,1 (1,n 0,1 1,1) A (a1, …, ai) B (b1, …, bj, a1, r1, …, rk) 0,n 0,n (1,n (1,n 0,1) 0,1) A (a1, …, ai) B (b1, …, bj) R (a1, b1, r1, …, rk) A a1 … ai B b1 … bj R r1 .. rk A a1 … ai B b1 … bj R r1 .. rk Exercice Quel est le schéma de la BD relationnelle qui correspond au modèle E/A ci-après : 0,n 1,1 1,n 0,n 0,n 1,n Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Client Nocli Nom Commande NoCmde Date passe Composé de Qtée Produit Réf Désignation PrixUnit Taxé à TAXE CodeTaxe Taux Le concept de base de données relationnelle Chapitre 2. Le modèle relationnel 2.1. Les concepts de base Définition C’est la valeur à affecter à tout attribut lors de la création d’un tuple, lorsque la valeur réelle de cet attribut n’est pas encore connue. On note parfois cette valeur à l’aide du symbole N.B.: Cette possibilité n’est offerte que par certains SGBD Lorsque cette possibilité existe, on doit distinguer la règle de transformation ci- après : 0,n 0,1 (1,n 1,1) A (a1, …, ai) B (b1, …, bj, a1, r1, …, rk) Le concept de valeur NULL A a1 … ai B b1 … bj R r1 .. rk Exercice Quel est le schéma de la BD relationnelle correspondant au modèle E/A ci-après ? 0,1 1,1 Commande NoCmde DateCmde Facture NoFact DateFact Concerne Chapitre 2. Le modèle relationnel 2.2. L’utilisation du langage algébrique comme langage de requête 2.2.1. Introduction On distingue cinq (5) opérateurs primitives à partir desquels les autres opérateurs peuvent être définies : 1) l’union ; 2) la différence ; 3) le produit cartésien ; 4) la projection ; 5) la sélection. Les autres opérateurs (qu’on peut définir à partir des opérateurs primitives) sont : 1) l’intersection ; 2) la jointure ; 3) la division. Ce langage est constitué d’un ensemble d’opérateurs algébriques de l’algèbre relationnelle. Ces opérateurs permettent de manipuler les relations vues comme des ensembles. Chaque opérateur prend en entrée une ou deux relations et produit en résultat une relation. On dit de ce fait qu’il s’agit d’un langage ensembliste. Chapitre 2. Le modèle relationnel 2.2. L’utilisation du langage algébrique comme langage de requête 2.2.2. Les opérateurs primitives 1) L’union Cet opérateur ensembliste prend en arguments deux relations R1 et R2 définies sur le même ensemble de domaines. Exemple : Clients (Code, Nom) Fournisseurs (Code, Nom) Tiers = clients Fournisseurs 3 André 4 Catherine 1 Pierre 2 Paul 3 André 4 Catherine L’union de deux relations R1 et R2, noté R1 R2 est la relation R constituée des n-uplets de R1 et de R2. 1 Pierre 2 Paul 4 Catherine Clients Fournisseurs Tiers Chapitre 2. Le modèle relationnel 2.2. L’utilisation du langage algébrique comme langage de requête 2.2.2. Les opérateurs primitives 2) La différence Cet opérateur ensembliste prend également en arguments deux relations R1 et R2 définies sur le même ensemble de domaines. Exemple : ClientsNonFournisseurs = clients - Fournisseurs 1 Pierre 2 Paul 4 Catherine 3 André 4 Catherine 1 Pierre 2 Paul La différence de deux relations R1 et R2, noté R1 - R2 est la relation R composée des n-uplets de R1 qui ne sont pas dans R2. Clients Fournisseurs ClientsNonFournisseurs Chapitre 2. Le modèle relationnel 2.2. L’utilisation du langage algébrique comme langage de requête 2.2.2. Les opérateurs primitives 3) Le produit cartésien Cet opérateur ensembliste prend en arguments deux relations quelconques R1 et R2. Exemple : Etudiants (Matricule, Nom) Matières (CodeMat, LibMat) Inscriptions = Etudiants x Matières 1 Pierre 2 Paul m1 Algo m2 BD m3 Réseaux 1 Pierre m1 Algo 1 Pierre m2 BD 1 Pierre m3 Réseaux 2 Paul m1 Algo 2 Paul m2 BD 2 Paul m3 Réseaux Le produit cartésien de deux relations R1 et R2, noté R1 x R2 est la relation R où chaque n-uplet est une concaténation d’un n-uplet de R1 et d’un n-uplet de R2. Etudiants Matières Inscriptions Chapitre 2. Le modèle relationnel 2.2. L’utilisation du langage algébrique comme langage de requête 2.2.2. Les opérateurs primitives 4) La projection Cet opérateur prend en arguments une relation R1 et un sous-ensemble d’attributs (a1, a2, …, ak ) de cette relation. N.B. : Dans la relation qui résulte d’une projection, les n-uplets qui se répètent (i.e. les doublons) doivent être supprimé. 1 Pierre m1 Algo 1 Pierre m2 BD 2 Jacques m3 Réseaux 3 Paul m1 Algo 3 Paul m4 RO La projection d’une relation R1 sur ses attributs (a1, a2, …, ak), notée Proj (R1, (a1, a2, …, ak)), est la relation R composée des n-uplets de R1 resteints aux attributs (a1, a2, …, ak) . Inscriptions (Matricule, Nom, CodeMat, LibMat) Exemple : Pierre Algo Pierre BD Jacques Réseaux Paul Algo Paul RO Proj (Inscriptions, (Nom, LibMat)) Pierre Jacques Paul Proj (Inscriptions, (Nom)) Algo BD Réseaux RO Proj (Inscriptions, (LibMat)) Chapitre 2. Le modèle relationnel uploads/Philosophie/ cours-bd-licence2-ch-2-conception-des-bases-de-donnees-relationnelles-et-introduction-a-sql.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 10, 2021
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 1.0462MB