Présentation du module. Base de données. Plan. Objectifs en termes de compétence. Plan. Chapitre I Qu est-ce qu une base de données?

Documents pareils
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Présentation du module Base de données spatio-temporelles

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Cours Bases de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Information utiles. webpage : Google+ : digiusto/

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

INTRODUCTION AUX BASES de DONNEES

Bases de données cours 1

Bases de données Cours 1 : Généralités sur les bases de données

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Bases de données relationnelles : Introduction

Bases de Données Avancées

1 Introduction et installation

CHAPITRE 1 ARCHITECTURE

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

Structure fonctionnelle d un SGBD

Introduction aux Bases de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Mercredi 15 Janvier 2014

CESI Bases de données

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Nouveautés Ignition v7.7

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

Introduction à la B.I. Avec SQL Server 2008

FileMaker 13. Guide ODBC et JDBC

SQL Historique

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Bases de Données OLAP

CAHIER DES CHARGES D IMPLANTATION

Java et les bases de données

Introduction aux bases de données: application en biologie

Bases de données avancées Introduction

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Bases de données élémentaires Maude Manouvrier

et les Systèmes Multidimensionnels

Les bases de données

Module BD et sites WEB

Entrepôt de données 1. Introduction

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

//////////////////////////////////////////////////////////////////// Administration bases de données

Le langage SQL (première partie) c Olivier Caron

Bases de données Outils de gestion

Implémentation des SGBD

DEMANDE D INFORMATION RFI (Request for information)

Bases de Données Avancées

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

UE 8 Systèmes d information de gestion Le programme

CREATION WEB DYNAMIQUE

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de données et sites WEB

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Notre Catalogue des Formations IT / 2015

OpenPaaS Le réseau social d'entreprise

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

LES ENTREPOTS DE DONNEES

Module BDR Master d Informatique (SAR)

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

Architectures d implémentation de Click&DECiDE NSI

Bases de données relationnelles

Les bases de données Page 1 / 8

A QUOI SERVENT LES BASES DE DONNÉES?

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Bases de Données relationnelles et leurs systèmes de Gestion

Vincent Augusto

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

PostgreSQL. Formations. Calendrier... 14

Présentation Alfresco

Les Entrepôts de Données. (Data Warehouses)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Leçon 1 : Les principaux composants d un ordinateur

Documentation d information technique spécifique Education. PGI Open Line PRO

Architectures web/bases de données

Mise en œuvre des serveurs d application

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de Données. Plan

Le Langage SQL version Oracle

PostgreSQL. Formations. SQL avancé Calendrier... 18

données en connaissance et en actions?

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

PostgreSQL. Formations. Catalogue Calendrier... 8

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

Transcription:

Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Bioinformatique : LSIIT, Equipe BFO (Pole API, Illkirch) Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation : langage SQL (mysql) Organisation Séances : 26 heures de cours intégrés Cours/TD : C31 TP : salle T02 Evaluation 1 TP noté + un contrôle terminal (2h) Documents de cours disponibles sur : http://icube-bfo.unistra.fr/fr/index.php/cours Objectifs en termes de compétence Etre capable de modéliser et concevoir une base de données Maitriser le langage de requête SQL, savoir écrire des requêtes complexes portant sur plusieurs tables. Interagir facilement avec les gestionnaires/administrateurs de bases de données Plan 1. Qu est-ce qu une base de données (BD)? 1. Définitions et enjeux 2. Système de Gestion de Bases de Données 3. Système complet de base de données 4. Architecture des Bases de données 2. Le modèle logique de BD 1. Différents modèles de bases de données 2. Le modèle relationnel 3. Algèbre relationnelle pour le modèle relationnel Plan 4. Modélisation de base de données relationnelles 1. Le modèle Entités-Associations (E/A) (modèle conceptuel) 2. Traduction en modèle relationnel (modèle logique) 3. Normalisation 5. Utilisation d un SQL (mysql) Requêtes simples, expressions et fonctions, sous-requêtes Jointures LMD : insert, update, delete, commit, rollback, transaction LDD : types de colonnes, manipulations de tables : create, drop, alter, contraintes, privilèges objets, vues. (Procédures bloquées, TP sous SAS,.) 6. Transactions et verrous Chapitre I Qu est-ce qu une base de données? 1. Définitions et Enjeux 1

Définitions Base de Données (BD) ou Database (DB) C est un ensemble de données structuré et organisé permettant le stockage d'informations utiles à l entreprise Ne pas confondre! Système de Gestion de Base de Données () ou Database Management System (DBMS) Ensemble de logiciels permettant l exploitation d une base de données (ajout, mise à jour, recherche ). Enjeux Développement de concepts, méthodes et algorithmes spécifiques. Gérer les données en mémoire secondaire (i.e. disques durs) Les bases de données doivent être capables de gérer volumes des données de + en + importants (plusieurs dizaines de téra-octets) Pérennité des données Multi-utilisateurs Internet : plusieurs dizaines de milliers d utilisateurs dans un contexte d exploitation changeant. Gestion multi-agents : entre plusieurs magasins. Aide à la décision (OLAP = OnLine Analytical Processing) "Les gagnants seront ceux qui restructurent la manière dont l'information circule dans leur entreprise." (Bill Gates) Illustration du fonctionnement d un 2. Système de Gestion de Bases de Données () Système de gestion de Base de données Création/Saisie des données Objectifs du Un doit répondre à plusieurs objectifs Objectifs principaux : Langage de manipulation Administration aisée des données Indépendance données/ Langage de manipulation L utilisateur doit pouvoir utiliser un langage de requête sur la BD, il doit être : Simple à écrire Déclaratif (dire ce que l on veut sans préciser la façon de l avoir) Optimisé automatiquement par le processeur de requête Exemple : langage SQL (Structured Query Language). 2

Administration facilitée Le SGDB doit comprendre des outils pour : Définition et modification de la description de données (schéma) Vérifier l adéquation entre la structure physique et le besoin des applications Suivre les performances et faire des statistiques Gestion des «méta-données» Données propres au fonctionnement du (utilisateur, droits ) Indépendance données/ Idéalement, les applications ne doivent pas dépendre de la manière dont les données sont stockées ou de comment on y accède. Indépendance physique Un changement au niveau physique (comment les données sont stockées) ne doit pas engendrer une modification de l application. Indépendance logique (Plus difficile à atteindre) un changement au niveau logique (objets, tables, colonnes, rangées, ) ne doit pas engendrer une modification de l application. Objectifs du Un doit répondre à plusieurs objectifs Objectifs secondaires : Intégrité et cohérence des données Redondance contrôlée des données Efficacité d accès aux données Partage des données Sécurité des données Cohérence des données Une donnée doit respecter un format, un type ou un domaine de valeur. Intégrité des données Exemple : Date invalide, âge négatif Panne pendant une modification de la BD Eviter (ou contrôler) la redondance Eviter un maximum les réplications de données Perte de place Difficulté de Mise à jour (MAJ) des informations ( source d erreurs) Possibilité de redondance gérée par le Afin d optimisation des performances Aide à l analyse Sauvegarde Efficacité d accès aux données Performances importantes Réponse simultanée à différentes requêtes Partage des ressources Mécanismes d accès Authentification et droits Verrou Transaction Problème principal : E/S disque Utilisation du cache et de la mémoire (RAM) 3

Partage des données Accès multi utilisateur mais chaque application doit accéder aux données comme si elle était la seule à accéder à la BD. Gestion de l accès disque FCFS («first come, first serve») Minimisation du temps d attente SSTF («shortest seek time first») Minimisation des mouvement mécaniques Maximisation du débit Sécurité des données Protection contre les accès non autorisés Authentification Gestion de droits (Accès, Opérations) Protection des données Reprise sur panne Sauvegarde / exportation / importation Journalisation Redondance matérielle Quelques connus Il existe de nombreux systèmes de gestion de bases de données, en voici une liste non exhaustive : MySQL : http://www.mysql.org/ (domaine public ) PostgreSQL: http://www.postgresql.org/ (domaine public) Oracle : http://www.oracle.com/ (Oracle Corporation) IBM DB2 : http://www-306.ibm.com/software/data/db2/ Microsoft SQL : http://www.microsoft.com/sql/ Sybase : http://www.sybase.com/linux Informix : http://www-306.ibm.com/software/data/informix/ 3. Système complet de BD Système complet de BD Le logiciel Les utilisateurs Les données Le matériel Les données Données volatiles Variables du programme Disparaissent à la fin de l exécution Stockées en mémoire principale (RAM) Données persistantes Ne sont pas liées au programme Persistent à la fin de l exécution Ne pas confondre! Stockées en mémoire de masse (disque dur, cd-rom, bande, ) 4

Le logiciel : le C est le, le chef d orchestre. Gère le partage et la cohérence des données Permet l indépendance des données grâce à un modèle en 3 couches : Le gestionnaire de fichiers Le Le Gestionnaire M. M. de fichiers s Le gestionnaire de fichiers Il gère la structure de mémorisation (fichiers) Il gère le stockage des données dans les supports physiques Gestion des accès (index, clé ) Gestionnaire M. M. de fichiers Le Il gère les données stockées dans les fichiers Regroupe les données sous formes d objets Gère les liens entres ces objets Optimise l accès à ces objets Gère les conflits d accès Coordination et suivi des processus Gestionnaire M. M. Le Externe Interprète et analyse les requêtes Transforme les requêtes en primitives internes Met en forme et présente les données aux applications Contrôle les droits d accès Gestionnaire M. M. de fichiers de fichiers Les utilisateurs Programmeur d applications Responsable de l écriture des programmes utilisés par la base de données Cobol, C, C++, Java, VB, C#, PHP,... Utilisateur final Interagit avec la BD à travers une application ou une interface spécifique du Les utilisateurs Administrateur des données (AD) Doit bien connaître l entreprise et ses besoins Il décide des types de données à stocker Il décide de la politique de manipulation et de maintenance des données Administrateur de la base de données (ABD) Il implante la BD Il met en place les techniques nécessaires pour répondre à la politique et aux choix de l AD Il est responsable du suivi des performances du système. 5

Le matériel Essentiellement les mémoires Types Temps d accès Gestion Prix Bandes Minutes Humaine <1 /Go CD / DVD 100 ms Humaine <1 /Go Disque Dur 10 ms Humaine <1 /Go RAM 10 ns Compilateur > 100 /Go Le matériel Accès à la mémoire RAM Chaque octet possède une adresse Accès octet / octet ou mot / mot (1 mot = 32 ou 64 bits, selon le processeur) Disque dur Les octets sont groupés par blocs («cluster») de 512 4096 octets. Ecriture d un octet : o Lire le bloc en question, le charger en mémoire o Modifier l octet dans la mémoire o Ecrire le bloc sur le disque Cache 0,5 ns Matériel >20k /Go 4. Architecture des BD a) Architecture fonctionnelle b) Architecture opérationnelle a) Architecture fonctionnelle 3 niveaux de description des données ont été définis par la norme ANSI/SPARC Le niveau externe Niveau relatif aux utilisateurs Manière dont ils voient les données Le niveau conceptuel Niveau intermédiaire Représentation «abstraite» de l ensemble de la BD Le niveau interne Niveau relatif à la mémoire physique Manière dont les données sont réellement enregistrées Niveau externe (vue particulière) Niveau conceptuel (vue commune) Niveau interne (vue physique) Niveau externe (vue particulière) Le niveau externe Externe Le niveau conceptuel Externe Pour un utilisateur la vue externe est La base de données Exemple : le service comptabilité d une entreprise Employé Chaque vue externe est décrite par un schéma ou modèle (définition des types d enregistrement) Exemple : l enregistrement externe «Employé» NumEmp (6 Char) Magasin Distributeur Nom (String) Location Salaire (Réel) Concept. Interne La vue conceptuelle est une vue abstraite Elle doit représenter un modèle des données Défini par un modèle conceptuel Plus qu un assemblage de vue externe : contient plus de propriétés Droits Règles d intégrité Concept. Interne 6

Le niveau interne La vue interne est une représentation de bas niveau de l ensemble de la BD Suppose un espace d adressage infini, dépend du système choisi Décrit par un schéma interne comprenant : Les champs mémoires Mais aussi les index Externe Concept. Interne Les liens Externe Concept. Interne Il y a 2 liens qui définissent les correspondances entre les niveaux Lien conceptuel / interne Correspondance entre les 2 couches (traduction) Si on modifie le niveau interne il faut ajuster le lien pour que le niveau conceptuel soit inchangé. Lien externe / conceptuel Correspondance entre la couche Externe et Conceptuelle Possibilité de fusion de plusieurs données conceptuelles en un champs externe. En cas de modification d une couche il faut adapter le lien de correspondance b) Architecture opérationnelle (Architecture globale du système) On peut voir le système en 3 couches : (graphique) Windows, KDE, Gnome, Web/cgi Architecture Mainframe (1960) Les 3 couches sont implémentées sur la même machine Systèmes propriétaires, non standardisés Terminaux passifs C, C++, VB, C#, Java, Delphi, SQL Mainframe Architecture /Serveur Apparue avec : Serveur puissant Ordinateur de bureautique répandu au sein de l entreprise Réseaux locaux rapides Avantage Technologie standard Milieu hétérogène Réseau local SQL Architecture /Serveur 2 tiers Avantages Architecture simple Données centralisées utilisateur riche Inconvénients lourd Logiciel spécifique au serveur Limité à l entreprise Middleware Réseau local Middleware Serveur BD Serveur BD 7

Exemple de middleware : ODBC Open Data Base Connectivity + code ODBC de programmation défini par Microsoft Permet la communication des clients Windows et pratiquement tous les du marché Driver Manager Microsoft Driver ODBC Programmeur Vendeur BD Architecture client/serveur 3 tiers Empilement de trois couches, étages, niveaux ou strates dont le rôle est clairement défini : la présentation des données le traitement métier des données Internet l' accès aux données persistantes Avantages léger (navigateur) Middleware Facilité de maintenance Réseau local Spécialisation des serveurs Inconvénients Middleware Architecture plus complexe à mettre en place (browser) Serveur de données Architecture BD personnelle PC BD décisionnelles, entrepôt de données Données agrégées Données thématiques Data Warehouse Données historiques Consultation Fouille de données Chargement de données Système de production Caisses Comptabilité Marketing Achats Entrepôts de données et OLAP OLAP (OnLine Analytical Processing) Architecture et outils d analyse d entrepôts de données Analyse multidimensionnelle des données Exemple : les articles dans un super marché Groupes d articles (alimentaire / non-alimentaire) Temps d achat (jour, mois, année, période marketing) Géographique (Magasin, département, région, pays) Nécessite : Des performances exceptionnelles du Des agrégations (redondance!) Des outils de navigation et de visualisation puissants 8