Introduction aux bases de données

Slides:



Advertisements
Présentations similaires
Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?
Advertisements

Reformulation  L’AFPA promoteur du projet souhaite mettre en place une application WEB afin de remplacer une solution en Java. Pour ce projet 4 mandataires.
Présentation de Scribe Votre nouvelle organisation du Réseau Informatique Pédagogique.
Séminaire BTS pilotage de procédés BTS PILOTAGE de PROCÉDÉS ÉCOLE BOULLE 11 MAI 2016 PARIS.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
1 Gestion Electronique de documents (GED) ✔ Définition Efficacité d'une entreprise dépend de la capacité à traiter et consulter les informations qu'elle.
L’évolution du SI. Introduction De nombreux éléments peuvent amener une organisation à faire évoluer son système d’information : Modification des besoins.
La mise en réseau des ordinateurs à l'école Sources : Educnet christian.caleca.free.fr.
Automatisme 2 Cours 8 Le Grafcet : Introduction au GRAFCET République Algérienne Démocratique Et Populaire Ministère de L′Enseignement Supérieur et de.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
ARCHITECTURE MULTITENANT CONTAINER DATABASE ET PLUGGABLE DATABASES Pr. A. MESRAR
ARCHITECTURE RESEAUX.
Cross-Plateform Cours JavaScript
JT12-RSI mars 1999 Délégation aux systèmes d'information
FARAH.Z "Cours sécurité1" /2016
Google analytics.
Centre Universitaire des Ressources Informatiques CURI-UH2MC
Structured Query Language SQL DDL
Le Cycle de vie d’un logiciel
Algèbre relationnelle
Séminaire Novembre 2006 Zephir : Déploiement et supervision des serveurs Eole.
Les Bases de données Définition Architecture d’un SGBD
MOT Éditeur de modèles de connaissances par objets typés
Initiation aux bases de données et à la programmation événementielle
FENIX Aperçu GLOBALE DU Système
Généralité sur les bases de données
2ème partie – mise en oeuvre
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
GYMNASTIQUE Imane Salmam Ahmed Bijja ISmail Aboudakka Farah Marjouane
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Système d’exploitation Windows XP
Notion De Gestion De Bases De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
GLPI Gestion libre de parc informatique Application à la cellule DSI Pédagogie Avec liaison OCS-NG Gaétan TIRMONT.
Migration de l’architecture classique vers le cloud privé
DATA WEARHOUSE 1ère année LA: Technologies systèmes d’information
Programmation Android Bases De Données, SQL-lite
Structuration du contenu
Formation sur les bases de données relationnelles.
Développement d’applications interactives
Conception d’une BD.
6. CONCEPTION PHYSIQUE RELATIONNELLE
L1 Technique informatique
LES RESEAUX.
5 Analyse avec Designer d'Oracle
4 Méthodes multidimentionnelles et représentation d'associations
LLAGONNE Vincent MAUPIN Nicolas FERNANDEZ Quentin
Module 13 : Implémentation de la protection contre les sinistres
7 Contraintes d’intégrité en SQL
5 Interface entre SQL et un programme
CAS AFPA Sprint n°1.
4. IMPLEMENTATION DES STRUCTURES DE DONNEES
Catherine Cyrot - bibliothèques numériques - Cours 5
20 Données semi-structurées et XML
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Active Directory Services
9 Méthodes multidimentionnelles et représentation d'associations
Points de vue et sémantiques ad hoc
Réforme du Lycée
Design, innovation et créativité
SQL Structured Query Language
Backup des Postes de Travail
Modélisation des SI et de la connaissance
Séance centre patronal Paudex
© Robert Godin. Tous droits réservés.
MOT Éditeur de modèles de connaissances par objets typés
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Introduction aux bases de données L2A Semestre 4 Mehdi Benzine

Objectifs du cours Comprendre les concepts, les objectifs, les langages des bases de données Apprendre à concevoir, manipuler et interroger des bases de données relationnelles Volume horaire hebdomadaire: 1h30 cours + 1h30 TD + 1h30 TP Transparents du cours et autre matériel pédagogique: http://bddinfo.e-monsite.com

Programme Introduction (cours d’aujourd’hui) Modèle relationnel Modèle entité/association  modèle relationnel Algèbre relationnelle Calcul relationnel SQL: Langage de manipulation de données SQL: langage de définition de données Dépendances fonctionnelles et formes normales

Bibliographie Bases de données, Georges Gardarin  S8/63323-25      S12/1318-1323 Création de bases de données,  Nicolas  Larousse Collection Syntex S8/72256-...59 Introduction aux bases de données, Chris J. Date   S8/59384-87   S8/62600-62602 SQL pour Oracle,  Christian Soutou  S8/77467 Introduction aux bases de données relationnelles,   Mata Toledo  S4/20035-20037 , S4/20510 Programmation SQL , Mata Toledo  S4/20513 Bases de données relationnelles concepts, mise en œuvre et exercices  Claude Chrisment S8/74683 R. Ramakrishnan et J. Gehrke, Database Management Systems, Second Edition, McGraw-Hill, 2000.

Plan du cours Introduction à la gestion des données Historique de la gestion des données Difficultés de la gestion des données Systèmes de gestion de bases de données (SGBD) Objectifs des SGBD

Introduction Les organisations gèrent des volumes de données très grands et de natures diverses Giga, Tera, Peta–octets Numériques, Textuelles, Multimédia (images, vidéos,...) Il faut pouvoir facilement Archiver les données sur mémoires secondaires permanente Retrouver les données pertinentes à un traitement Mettre à jour les données variant dans le temps

Historique Années 60: Années 70: Années 80: Années 90, 2000 et 2010: Fichiers séquentiels Accès séquentiel aux données puis sur clé. Années 70: Bases de données hiérarchiques puis réseaux Données stockées dans des fichiers et reliées par des pointeurs (adresse sur disque). Interrogation par navigation Années 80: Bases de données relationnelles Relation entre ensembles de données Interrogation par un langage proche du langage naturel Modèle le plus utilisé encore aujourd'hui Années 90, 2000 et 2010: Bases de données objet, XML, NoSQL …

Modèle hiérarchique Entreprise Projet 103 Mise en place d'un réseau intranet Employé 1001 Belaid Toufik Employé 1009 Touati Rachid Projet 122 Développement d'une application de gestion Employé 1023 Kadri Amine

Modèle réseau Num_Projet Description 103 Mise en place d'un réseau intranet 122 Développement d'une application de gestion Num_Employé Nom Prénom 1001 Belaid Toufik 1009 Touati Rachid Pointeur disque

Modèle relationnel Num_Projet Description Date_Début Date_Fin Budget 103 Mise en place d'un réseau intranet 12/09/2010 05/12/2010 39000.00 122 Développement d'une application de gestion 07/01/2011 13/05/2011 86000.00 Num_Employé Nom Prénom Date_Naissance Fonction Est_Cadre 1001 Belaid Toufik 12/05/1965 Concepteur true 1009 Touati Rachid 13/09/1941 Chef de projet Num_Employé Num_Projet Début_Affect Fin_Affect Supérieur 1009 122 07/03/2011 13/11/2011 NULL 1001 08/03/2011 28/06/2011 103 12/09/2010 01/11/2010 208 15/06/2011 12/10/2011

Gestion des données (1) La gestion de données par l’utilisation de fichiers présente de nombreux inconvénients: Absence de standardisation plusieurs formats de stockage, plusieurs langages Redondance des données (plusieurs copies de la même donnée) Problèmes de mise à jour, incohérence des données Interrogation par langage de programmation (C++, Java, Python…) Difficulté de maintenance, coût élevé

Gestion des données (2) Pannes (arrêt brutal, panne de disque …) pas de solution standardisée Partage de données Confidentialité Pas de solution standardisée Pas de solution standardisée  une solution doit être conçue et implémentée pour chaque application.

L’approche "bases de données" Modélisation des données Éliminer la redondance des données Centraliser et organiser correctement les données Plusieurs niveaux de modélisation Outils de conception Qu'est-ce qu'une base de données ? Collection de données structurées Interrogeable et modifiable par des langages de haut niveau (proches du langage naturel) Partagée par plusieurs applications/utilisateurs Logiciel de Système de Gestion de Bases de Données (SGBD) Factorisation des modules de contrôle des applications: interrogation, gestion des pannes, confidentialité, partage des données… Administration facilitée des données

SGBD relationnels (SGBDR) Logiciels commerciaux/payants: Oracle (SGBDR le plus utilisé) Microsoft SQL server IBM DB2 Sybase Anywhere Microsoft Access … Logiciels libres/gratuits: MySQL PostrgreSQL SQLite mSQL

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Architecture à 3 niveaux Application 1 Application 2 Application 3 Application 4 Vue 1 Vue 2 Vue 3 Schémas externes (vues) Schéma conceptuel Schéma interne (stockage)

Schéma interne Structure de stockage physique des données Structures d'indexation pour accélérer la recherche de données (trouver tous les étudiants qui ont entre 10 et 14 de moyenne)

Schéma conceptuel Représentation canonique des données Sans prendre en compte l'implantation sur machine de ces données

Schéma externe (vue) Chaque groupe d'utilisateurs manipulant les données dispose d'une description de ces données adaptée à l'utilisation qu'il en fait A chaque type d'utilisation doit correspondre une vue particulière des données qui constitue un schéma externe

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Indépendance Physique Indépendance des programmes d'applications vis à vis du modèle physique : Possibilité de modifier les structures de stockage (fichiers, index, chemins d'accès, …) sans modifier les programmes; Ecriture des applications par des non-spécialistes des fichiers et des structures de stockage; Meilleure portabilité des applications et indépendance vis à vis du matériel.

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Indépendance logique Les applications peuvent définir des vues logiques de la BD Possibilité pour chaque application d'ignorer les besoins des autres (bien que partageant la même BD). Possibilité d'évolution de la base de données sans réécriture des applications : ajout de champs, ajout de relation, re-nommage de champs. Possibilité d'intégrer des applications existantes sans modifier les autres. Possibilité de limiter les conséquences du partage : Données confidentielles.

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Manipulation simple La manipulation se fait via un langage déclaratif La question déclare l’objectif sans décrire la méthode Le langage suit une norme commune à tous les SGBD SQL: Structured Query Langage Sémantique Logique du 1er ordre Syntaxe (aperçu !) SELECT <structure des résultats> FROM <relations> WHERE <conditions> Ex: Quels sont les noms et prénoms des étudiants ayant une note entre 10 et 12 en ASD1 et entre 10 et 11 en SI ?

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Des vues multiples des données Les vues permettent d’implémenter l’indépendance logique en permettant de créer des relations virtuelles Vue = Question stockée Le SGBD stocke la définition et non le résultat Exemple : la vue des patients qui habitent à Sétif la vue des projets de chaque service (chaque employer ne peut voir que les projets de son service) ...

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Exécution et Optimisation Traduction automatique des questions déclaratives en programmes procéduraux :  Utilisation de l’algèbre relationnelle Optimisation automatique des questions Utilisation de l’aspect déclaratif de SQL Gestion centralisée des chemins d'accès (index, hachages, …) Techniques d’optimisation poussées Economie de l'astuce des programmeurs milliers d'heures d'écriture et de maintenance de logiciels.

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Intégrité Logique Objectif : Détecter les mises à jour erronées  Contrôle sur les données élémentaires Contrôle de types: ex: Nom alphabétique Contrôle de valeurs: ex: Salaire mensuel entre 15000 et 500000 Contrôle sur les relations entre les données Relations entre données élémentaires: Prix de vente > Prix d'achat Relations entre objets: Un employer ne doit être rattaché qu'à un seul service.

Contraintes d’intégrité Avantages: simplification du code des applications sécurité renforcée par l'automatisation mise en commun des contraintes Nécessite: un langage de définition de contraintes d'intégrité la vérification automatique de ces contraintes

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Intégrité Physique Motivations: Tolérance aux fautes Transaction: Transaction Failure: Contraintes d'intégrité, Annulation System Failure: Panne de courant, Crash serveur ... Media Failure: Perte du disque Communication Failure: Défaillance du réseau Transaction: Ensemble d'opération élémentaires regroupées devant s'exécuter toutes ou sinon aucune. Objectifs: Assurer l'atomicité des transactions Garantir la durabilité des effets des transactions commises Moyens: Journalisation : Mémorisation des états successifs des données Mécanismes de reprise

Transaction Transférer 3000DA du compte 1 vers le compte 2 Begin Incohérence possible... Etat cohérent Etat cohérent Begin Commit Transaction Transférer 3000DA du compte 1 vers le compte 2 Begin Compte1 = Compte1 - 3000 Compte2 = Compte2 + 3000 Commit T1

Atomicité et Durabilité Begin Compte1 = Compte1 - 3000 Compte2 = Compte2 + 3000 Commit T1 Restaurer les données telles qu'elles étaient avant la transaction. Annuler le débit !! DURABILITE Begin Compte1 = Compte1 - 3000 Compte2 = Compte2 + 3000 Commit T1 Restaurer les données telles qu'elles étaient après la transaction. Panne Panne ou crash disque

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Partage des données BD Accès concurrent aux mêmes données Conflits d’accès !! BD

Isolation et Cohérence Le SGBD gère les accès concurrents Chacun à l’impression d’être seul (Isolation) Cohérence conservée (Pas de mises à jour conflictuelles) Système de gestion de bases de données BD

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Confidentialité Objectif: Protéger les données de la BD contre des accès non autorisés Deux niveaux : Connexion restreinte aux utilisateurs répertoriés (identifiant et mot de passe…) Privilèges d'accès aux objets de la base Objets : Relation, Vue, autres objets (procédures, etc.)

Objectifs des SGBD Indépendance physique des données Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards

Standardisation L’approche bases de données est basée sur plusieurs standards Langage SQL (SQL1, SQL2, SQL3…) Communication SQL CLI (ODBC / JDBC) Transactions (X/Open DTP, OSI-TP) Force des standards Portabilité Interopérabilité Applications multi-sources…