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

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

Cours Bases de données

Information utiles. webpage : Google+ : digiusto/

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

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

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

Bases de données cours 1

INTRODUCTION AUX BASES de DONNEES

Bases de données relationnelles : Introduction

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

1 Introduction et installation

Introduction aux Bases de Données Relationnelles Conclusion - 1

CHAPITRE 1 ARCHITECTURE

CESI Bases de données

Structure fonctionnelle d un SGBD

Mercredi 15 Janvier 2014

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

Bases de Données Avancées

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

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

Nouveautés Ignition v7.7

Bases de données avancées Introduction

Introduction aux bases de données: application en biologie

Introduction à la B.I. Avec SQL Server 2008

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

Les bases de données

Bases de Données OLAP

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

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

SQL Historique

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Java et les bases de données

Bases de données Outils de gestion

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

CAHIER DES CHARGES D IMPLANTATION

UE 8 Systèmes d information de gestion Le programme

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

Bases de Données Avancées

Bases de données élémentaires Maude Manouvrier

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

FileMaker 13. Guide ODBC et JDBC

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Mise en œuvre des serveurs d application

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

Introduction aux Bases de Données

Architectures d implémentation de Click&DECiDE NSI

Les bases de données Page 1 / 8

CREATION WEB DYNAMIQUE

Implémentation des SGBD

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

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

DEMANDE D INFORMATION RFI (Request for information)

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

OpenPaaS Le réseau social d'entreprise

Entrepôt de données 1. Introduction

Notre Catalogue des Formations IT / 2015

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)

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

Leçon 1 : Les principaux composants d un ordinateur

Chapitre 1 : Introduction aux bases de données

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

Architectures web/bases de données

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

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

Module BD et sites WEB

et les Systèmes Multidimensionnels

Bases de données relationnelles

Solutions SAP Crystal

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

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

Présentation de la gamme des PGI/ERP modulaires Wavesoft

PostgreSQL. Formations. Calendrier... 14

Chapitre 10. Architectures des systèmes de gestion de bases de données

A QUOI SERVENT LES BASES DE DONNÉES?

ArcGIS 10.1 for Server

Bases de données et sites WEB

16H Cours / 18H TD / 20H TP

Configuration Matérielle et Logicielle AGORA V2

PostgreSQL. Formations. Catalogue Calendrier... 8

LES ENTREPOTS DE DONNEES

Master I Génie Logiciel

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

CAHIER DES CHARGES D'IMPLANTATION SIHAM

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Mise à jour : Octobre 2011

Recommandations techniques

PHP. PHP et bases de données

Introduction aux bases de données

Compte Rendu d intégration d application

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 (Oracle) Organisation Séances : 14 heures de cours TD : 12h, TP : 8h. Evaluation Contrôle continu (TP noté) Examen Documents de cours disponibles sur : http://newlsiit.u-strasbg.fr/bfo_fr/index.php/cours Plan 1. Qu est-ce qu une base de données? 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 base de données 2. Le modèle logique de base de données Modèle relationnel 3. Algèbre relationnelle Plan 4. Utilisation d un : le langage SQL 1. Langage de Manipulation des Données (LMD ) : Requêtes simples, expressions et fonctions, sous-requêtes, jointures : select, update, delete. 2. Langage de Définition des Données (LDD) : types de colonnes, manipulations de tables : create, drop, alter. 5. Normalisation 6. 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) Chapitre I Qu est-ce qu une base de données? 1. Définitions et Enjeux 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 ). 1

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) 2. Système de Gestion de Bases de Données () "Les gagnants seront ceux qui restructurent la manière dont l'information circule dans leur entreprise." (Bill Gates) Illustration du fonctionnement d un 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). 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 ) 2

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 Eviter la redondance (ou la contrôler) 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) 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 3

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/ Système complet de BD 3. Système complet de BD Le logiciel Les données Le matériel Les utilisateurs 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, ) 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 4

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. 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. de fichiers de fichiers Le Externe Les utilisateurs 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 Programmeur d applications Responsable de l écriture des programmes utilisés par la base de données Cobol, C, C++, Java, VB, C#, PHP,... Gestionnaire M. M. de fichiers 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. 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 Cache 0,5 ns Matériel >20k /Go 5

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 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 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 (définition des types d enregistrement) Exemple : l enregistrement externe «Employé» NumEmp (6 Char) Magasin Distributeur Nom (String) Location Salaire (Réel) Externe Concept. Interne Le niveau conceptuel Externe Le niveau interne Externe La vue conceptuelle est une vue abstraite Elle doit représenter un modèle des données de l entreprise 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 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 Concept. Interne 6

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 C, C++, VB, C#, Java, Delphi, SQL Architecture Mainframe (1960) Les 3 couches sont implémentées sur la même machine Systèmes propriétaires, non standardisés Terminaux passifs 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 Serveur BD 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 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 7

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 Data Warehouse Chargement de données Consultation Fouille de données Données agrégées Données thématiques Données historiques Système de production 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 Caisses Comptabilité Marketing Achats 8