COURS N°1: LES BASES DE DONNEES Formateur: M. Michel NZOLO TABLE DES MATIERES 1. Introduction Générale a) Notions intuitives b) Objectifs et avantages des SGBD c) Notion de modélisation des données 2. Le Modèle Relationnel a) Les Concepts b) Les Dépendances c) Les Règles d’Intégrité 3. Le Langage SQL a) Introduction b) Définition des données c) Manipulation des données 4. L’Algèbre Relationnelle a) Les Opérations b) Le Langage Algébrique 1. INTRODUCTION GENERALE a) Notions Intuitives Base de données : Ensemble structuré de données apparentées qui modélisent un univers réel. Une BD est faite pour enregistrer des faits, des opérations au sein d'un organisme (administration, banque, université, hôpital, ...) 1. INTRODUCTION GENERALE a) Notions Intuitives Système de Gestion de Base de Données (SGBD) : Système qui permet de gérer une BD partagée ou non par un ou plusieurs utilisateurs simultanément. De manière générale, un SGBD est un logiciel qui définit le modèle d’un système de base de données et constitue ainsi une composante indispensable à la création, à la gestion et à l’utilisation d’une base de données. 1. INTRODUCTION GENERALE a) Notions Intuitives : Des fichiers aux Base de Données Fichier : Les données des fichiers sont décrites dans les programmes Base de données : Les données de la BD sont décrites hors des programmes dans la base elle-même et accessible selon les privilèges définis par l’administrateur. Programme Description de fichiers Programme Programme 1. INTRODUCTION GENERALE b) Objectifs et avantages des SGBD Quelles sont les fonctions d’un SGBD ? D'une manière générale, un SGBD doit avoir les caractéristiques suivantes 1. INTRODUCTION GENERALE Indépendance Physique Indépendance Logique Manipulable Rapidité d’accès Différents langage d’accès Administration centralisée Limitation des redondances Vérification de l’intégrité Résistances aux pannes Capacité de stockage élevée Partage des données Sécurité des données 1. INTRODUCTION GENERALE b) Objectifs et avantages des SGBD Que doit permettre un SGBD ? Décrire les données indépendamment des applications (des textes, des documents et des mots de passe électroniques ainsi que d’autres informations pouvant être consultées à travers des interrogations) Traiter les données La plupart des SGBD permettent – selon les droits d’accès paramétrés – une édition directe, une suppression ou une modification des informations enregistrées. Sécuriser les données Les SGBD doivent être sécurisées pour empêcher tout accès par des personnes non autorisées aux données enregistrées. En dehors d’un processus de cryptage performant, la sécurité des données est assurée par une gestion minutieuse réalisée notamment par l’administrateur principal. 1. INTRODUCTION GENERALE b) Objectifs et avantages des SGBD Que doit permettre un SGBD ? Intégrité des données L’intégrité des données suppose que les données d’une base de données observent certaines règles pour que l’exactitude des données soit garantie et que la logique commerciale de la base de données soit définie. Indépendance physique Pouvoir modifier les structures de stockage ou les index sans que cela ait de répercussion au niveau des applications. Indépendance logique Permettre aux différentes applications d’avoir des vues différentes des mêmes données 1. INTRODUCTION GENERALE c) Notion de modélisation des données Le MODELE CONCEPTUEL DE DONNEES MCD L’Univers Schéma Logique 1. INTRODUCTION GENERALE c) Notion de modélisation des données Le concept d’entité Représentation d’un objet matériel ou immatériel. Les propriétés Données élémentaires relatives à une entité. Ex: Nom, prénom, age, … Les propriétés d’une entité sont également appelées des attributs, ou des caractéristiques de cette entité. L’identifiant propriété ou groupe de propriétés qui sert à identifier une entité. L’identifiant d’une entité est choisi par l’analyste de façon à ce que deux occurrences de cette entité ne puissent pas avoir le même identifiant. Les Associations Représentation d’un lien entre deux entités ou plus 2. Le Modèle Relationnel a) Les Concepts Le modèle de base de données relationnel est le plus courant et le plus apprécié. Dans ce modèle, la structuration des données est effectuée dans des lignes de tableaux. L’avantage est de pouvoir établir des relations entre les différentes lignes et de pouvoir les présenter dans des colonnes. Il en va autrement du modèle de base de données hiérarchique : les différentes données sont ici reliées dans une arborescence et suivent donc un système hiérarchique. 2. Le Modèle Relationnel a) Les Concepts Le concept d’entité Ex. : VILLE = { Nice, Paris, Rome } Les propriétés Ex: VILLE = {ID_VILLE, NOM_VILLE} L’identifiant EX: VILLE = {ID_VILLE} Les Associations Ex: PAYS VILLE 2. Le Modèle Relationnel a) Les Dépendances Dépendance Fonctionnelle Soit R(A1, A2, ...., An) un schéma de relation. Soit X et Y des sous ensembles de {A1,A2,...An) On dit que Y dépend fonctionnellement de X (X->Y) si à chaque valeur de X correspond une valeur unique de Y. une dépendance fonctionnelle est une propriété sémantique, elle correspond à une contrainte supposée toujours vrai du monde réel La clé d’une relation attribut (ou groupe minimum d'attributs) qui détermine tous les autres Ex.: PRODUIT (no_prod, nom, prixUHT) no_prod → (nom, prixUHT) no_prod est une clé 2. Le Modèle Relationnel b) Les Dépendances Pour trouver la clé d'une relation, il faut examiner attentivement les hypothèses sur le monde réel. Une relation peut posséder plusieurs clés, on les appelle clés candidates. Ex.: dans la relation PRODUIT, nom est une clé candidate (à condition qu'il n'y ait jamais 2 produits de même nom) La clé Primaire choix d'une clé parmi les clés candidates La clé étrangère ou secondaire attribut (ou groupe d'attributs) qui fait référence à la clé primaire d'une autre relation 2. Le Modèle Relationnel c) Les Règles d’Intégrités Les règles d'intégrité sont les assertions qui doivent être vérifiées par les données contenues dans une base. Le modèle relationnel impose les contraintes structurelles suivantes : • ‰ INTÉGRITÉ DE DOMAINE • ‰ INTÉGRITÉ DE CLÉ • ‰ INTÉGRITÉ RÉFÉRENCIELLE La gestion automatique des contraintes d’intégrité est l’un des outils les plus importants d’une base de données. Elle justifie à elle seule l’usage d’un SGBD. 3. Le Langage SQL a) Introduction Introduit par IBM, évolution du langage SEQUEL, commercialisé tout d'abord par ORACLE SQL est devenu le langage standard pour décrire et manipuler les BDR; Les commandes SQL : • De définition des données : • CREATE • DROP • ALTER • De manipulation des données : • SELECT • INSERT • UPDATE • DELETE • De contrôle des données : • Contrôle des accès concurrents • COMMIT • ROLLBACK • Contrôle des droits d’accès • GRANT • REVOKE 3. Le Langage SQL b) Définition des données CRÉATION DE TABLES La commande CREATE TABLE crée la définition d'une table Principaux types de données • • • • • • • VARCHAR(n) SMALLINT INTEGER DECIMAL(n,m) DATE TEXT ENUM Contraintes d'intégrité • • • • NOT NULL (valeur null impossible) UNIQUE unicité d'un attribut PRIMARY KEY clé primaire FOREIGN KEY clé étrangère 3. Le Langage SQL c) Manipulation des données TD N°1 : GESTION DE STOCK TD N°2 : BLOG 4. L’Algèbre Relationnelle a) Les Opérations Les cinq opérations fondamentales • sélection • projection • produit cartésien • union • différence Les autres opérations • jointure • intersection • division Operateurs ensemblistes • union • intersection • différence • produit Operateurs relationnels spécifiques • sélection • projection • jointure • division