Introduction aux bases de données



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

Information utiles. webpage : Google+ : digiusto/

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

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

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

Cours Bases de données

Systèmes d information et bases de données (niveau 1)

INTRODUCTION AUX BASES de DONNEES

Bases de données relationnelles : Introduction

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

Introduction aux bases de données: application en biologie

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

Introduction aux Bases de Données

Les bases de données Page 1 / 8

IFT3030 Base de données. Chapitre 1 Introduction

1 Introduction et installation

Master I Génie Logiciel

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

CESI Bases de données

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

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

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

CHAPITRE 1. Introduction aux bases de données

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

Les bases de données

Bases de Données. Plan

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

et les Systèmes Multidimensionnels

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

UE 8 Systèmes d information de gestion Le programme

Conception des bases de données : Modèle Entité-Association

Bases de données Outils de gestion

Bases de données élémentaires Maude Manouvrier

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

Introduction aux bases de données

Bases de données - Modèle relationnel

Rappel sur les bases de données

Les bases de données. Historique

Bases de données avancées Introduction

Base de Données et Langage SQL

Bases de données relationnelles

Mercredi 15 Janvier 2014

Introduction aux SGBDR

SQL Historique

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

CHAPITRE 1 ARCHITECTURE

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Gestion des bases de données

Chapitre 1 : Introduction aux bases de données

Bases de données et sites WEB Licence d informatique LI345

A QUOI SERVENT LES BASES DE DONNÉES?

Structure fonctionnelle d un SGBD

Bases de Données Avancées

16H Cours / 18H TD / 20H TP

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Java et les bases de données

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)

Dossier I Découverte de Base d Open Office

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

Bases de données cours 1

Modélisation de bases de données : Le modèle relationnel

SQL MAP. Etude d un logiciel SQL Injection

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Générer du code à partir d une description de haut niveau

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Visual Paradigm Contraintes inter-associations

Le langage SQL Rappels

Introduction aux Bases de Données

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

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

PROJET 1 : BASE DE DONNÉES REPARTIES

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

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Bases de Données Relationnelles. Le Modèle Relationnel

Introduction aux bases de données et aux SGBD

Module BD et sites WEB

Bienvenue dans le monde SQL

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Compte Rendu d intégration d application

Évaluation et implémentation des langages

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Les Entrepôts de Données

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Bases de Données Avancées

Bases de données et sites WEB

Mise en œuvre du PGI dans les enseignements tertiaires

Glossaire. base de données géographiques Voir géodatabase (GDB).

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Module BDR Master d Informatique (SAR)

BUSINESS INTELLIGENCE

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

PostgreSQL. Formations. Calendrier... 14

Séance 1 Introduction aux bases de données

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

Transcription:

Introduction aux bases de données 1. Introduction 1.1. Qu est-ce qu une base de données Définition : Un ensemble d informations logiquement reliées entre elles. Plus précisément, nous appellerons base de données un ensemble structuré et organisé permettant le stockage de grandes quantités d informations afin d en faciliter l exploitation (ajout, mise-à-jour, recherche de données). Le stockage de ces informations en base de données permet l évolution indépendante des programmes et des données. La mise en œuvre de ce stockage se fait au moyen d un outil logiciel spécialisé : Le Système de Gestion des Bases de Données (ou SGBD 1 ). 1.2. Problématique de la cohérence des données La création d une base de données répond au besoin de rassembler des données qui possèdent un lien entre elles, dans le but de retrouver de l information en utilisant des critères de recherche basés sur le contenu de cette information. Prenons l exemple d une base de données sur des albums musicaux qui mémorise, pour chaque album, le genre, l artiste et le titre de l album. Ci-dessous un extrait de cette base : Genre Artiste Titre Alternative Rock les Wampas Les Wampas vous aiment Altern Rock Les Wampas Tutti frutti Alternative Rock Wampas Les bottes rouges Altern Rock LesShériff Les deux doigts dans la prise Flok-Rock Joan Osborne Righteons Love Flok/Rock Leonard Cohen Songs From A Room Les données représentées dans cette base, souffrent de plusieurs problèmes qui compromettent leur consultation. Par exemple, le groupe Les Wampas est représenté de trois manières différentes dans la base : Les Wampas, les Wampas et Wampas. Ainsi une recherche de la chaîne «Les Wampas» ne va retourner que le Titre Tutti frutti, alors que 1 DBMS en anglais pour Database Management System. 1

le groupe possède trois titres dans la base. De même pour les genres, nous trouvons les mêmes genres avec des syntaxes différentes. La cohérence des données est la problématique fondamentale des bases de données. Ainsi, les critères que doit satisfaire une base de données sont : - Bonne représentation du monde réel o Elle doit être une image fidèle de la réalité. o Les informations de la base doivent être fiables et à jour. - Non redondance de l information o Une information doit être située physiquement dans un seul endroit. - Indépendance des programmes d application par rapport aux données o La base est l image du modèle réel et les programmes sont construits après la structure de la base de données. - Sécurité et confidentialité des données o La sécurité physique des données doit être assurée (sauvegardée). o L accès à une donnée ne doit être autorisé que pour les personnes habilitées. - Performances des applications et des requêtes o Les réponses doivent être aussi rapides que possible. o Une organisation spécifique peut être définie pour améliorer les temps de traitement. Ce qui permet d optimiser l accès aux données. Grandes classes d utilisation des bases de données : - BD personnelles o 10Ko 100Ko - BD professionnelles typiques o 100Ko 100Go - BD professionnelles trés grandes ou Very Large DataBase (VLDB) o >100Go 1.3. Qu est-ce qu un SGBD Le SGBD est un ensemble de programmes qui assure la gestion et l accès à une base de données. Un SGBD est multiutilisateurs, c est à dire que plusieurs utilisateurs peuvent accéder au SGBR et ainsi manipuler les données de la base en même temps. Le SGBD permet à chaque utilisateur d effectuer les tâches suivantes : - Mettre en forme - Sauvegarder - Manipuler - Interroger - Mettre à jour la BD, tout en garantissant: o L intégrité o La confidentialité des données dans un environnement multiutilisateurs o La sécurité des données 2

2. Histoire des SGBD Le premier modèle de SGBD fût développé par IBM, dans le cadre du programme spacial Appolo de la NASA, pendant les années 1960. Il s agit du modèle hiérarchique. A la fin des années 1960, Charles Williams Bacham proposa le modèle réseau, qui généralise le modèle hiérarchique. Les premières spécifications de ce modèle furent publiées en 1969 par le groupe de travail DBTG (Data Base Task Group) de l organisme américain CODASYL (Conference On Data Systems Languages). Charles Williams Bacham reçu le prix de Turing 2 en 1973 pour ses contributions sur les technologies des bases de données. Durant cette période, les ordinateurs évoluèrent rapidement en termes de puissance, de diffusion et de coût. Cette évolution permit aux modèles informatiques et aux langages de programmation d atteindre un niveau d abstraction suffisant pour les rendre indépendants d une architecture système spécifique. C est dans ce contexte favorable qu Edgar Frank Codd, directeur de recherche du centre IBM, publia en 1970 un article dans lequel il proposait de stocker des données hétérogènes dans des tables. Ce modèle qualifié de relationnel (car il mettait en relation les tables entre elles), était à l époque qualifié comme une curiosité intellectuelle. En effet, il n était pas évident que des tables puissent un jour être gérées de manière efficace par un ordinateur. Ce scepticisme n a cependant pas empêché Codd de poursuivre ses recherches et son modèle s imposa rapidement. Le paradigme orienté objet en programmation est né avec le langage Simula (SIMple Universal Language) en 1967. Il est donc antérieur au modèle rationnel. Mais il fallut attendre les années 80 pour observer le plein essor de la programmation objet, et seulement les années 90 pour son arrivée dans le monde industriel avec des langages comme C++, Java ou encore Python. La notion de base de données objet s est également précisé en début des années 90. Le développement des SGBD objet s est vite heurté à la nécessité de compatibilité avec l existant, c est-à-dire avec le modèle relationnel. D où l émergence du modèle relationnel-objet dont l objectif est d étendre le modèle relationnel avec les concepts essentiels de l objet. Cette extension objet du modèle relationnel a fait l objet d une nouvelle norme en 1999 : la norme SQL-3. 2.1. Le modèle hiérarchique Un SGBD hiérarchique lie des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n ait qu un seul possesseur : lien père/fils. Les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. 2 Equivalent du prix Nobel pour l informatique. 3

A B C D E E Ce modèle est encore utilisé de nos jours : - IMS (Information Management System) d IBM (crée pour le programme Apollo de la NASA. utilisé par prés de 200 millions d utilisateurs par jour. Plus de 95% des compagnies «Fortune 1000» utilisent IMS. - TOTAL de Cincom 2.2. Le modèle réseau Comme le modèle hiérarchique, ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n est plus forcément arborescente dans le sens descendant. A B C D E E Ce modèle est encore utilisé de nos jours : - IDMS (Information Management System) de Computer Associates - IDS2 de Bull - EMDS de Xerox Bien que simples, les modèles hiérarchiques et réseaux présentes quelques inconvénients : - Incohérence des données : redondance de l information. - Coûts élevés : nécessitent de la place mémoire avec la gestion de pointeurs. - Maintenance difficile : o modifier, ajouter et effacer sont complexes. o Lorsqu on détruit un nœud tous ses fils sont également détruits. o Possibilité de perte d information en supprimant des données. - Difficultés de gestion : o Pas de gestion de panne. o Pas de partage des données. o Pas de confidentialité. 4

2.3. Le modèle relationnel (SGBD-R) Dans ce modèle, les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). Il existe des liens ou relations entre les tables. Docteurs Id-d Nom Prenom 1 Postec François 2 Abitbol Marc 3 Martin Anne Patients Id-p Nom Prenom 1 Dupond Pierre 2 Durand Paul 3 Masse Jean Champs, attributs, colonnes Visites Id-V Id-d Id-p Date 1 2 1 15/06 2 1 2 12/08 3 2 3 13/07 Tuples, lignes ou n-uplets Table ou Relation La manipulation de ces données se fait selon la théorie mathématique des relations. Rappelons que le créateur de ce modèle travaillait au sein d IBM. Il était par ailleurs mathématicien de formation. C est pour cela qu il était persuadé de pouvoir s appuyer sur la théorie des ensembles et la logique des prédicats. Il développa le langage SEQUEL (Structured English QUEry Language), qui sera ensuite rebaptisé SQL (Structured Query Language). A partir de la fin des années 90, les bases de données relationnelles sont les bases de données les plus répandues. Avantages de ce modèle : - Eliminer la redondance des données. - Centraliser et organiser correctement les données. - Plusieurs niveaux de modélisation. - Outils de conception. - Administration facilitée. 5

2.4. Le modèle orienté objet Les bases de données orientées objet s intègrent dans la mouvance de la conception objet et des langages de programmation Java, C++ ou encore Python. L objectif principal de ce type de BD est d unifier les technologies de bases de données et de programmation orientée objet (POO). Dans les années 90, cette idée d unification des technologies s est précisée mais à du faire face à l absence de standards. Un groupe de travail, l ODMG (Object Data Management Group), a alors été crée à l initiative de Sun Microsystems, afin de déterminer un standard. Ce groupe a alors proposé une extension objet au SQL appelée OQL. SQL-3 intègre ce type d extension, et est adopté dans Oracle et Sybase ainsi que tous les grands constructeurs. Il entre alors en concurrence avec OQL. L ODMG disparait en 2001, et comme SLQ-3 est en cours de standardisation ce qui lui donne l avantage sur OQL. Notons que les langages de programmations possèdent des librairies leur permettant de s adresser à des bases de données de type relationnelles. 3. Les SGBD-R 3.1. Les niveaux de conception d une BD Réel Modèle conceptuel Modèle logique Indépendant du modèle de données Indépendant du SGBD Dépendant du modèle de données Indépendant du SGBD Modèle Entité/association Codasyl Relationnel Objet XML Modèle Physique Dépendant du modèle de données Dépendant du SGBD Organisation physique des données Structures de stockage des données Structures accélératrices (index) 6

3.2. Les principaux SGBD-R Les principaux SGBD-R par ordre décroissant de part de marché: Oracle, DB2(IBM), SQL- Server (Microsoft), Sybase (Teradata). Systèmes payants Systèmes libres : MySQL, PostgreSQL et Firebird. Ces SGBD-R son basés sur une architecture ANSI/SPARC à trois niveaux : - Le niveau externe ou logique : accessible aux utilisateurs et aux programmes d applications. Chaque utilisateur a une vision partielle ou vue de la base. Cette notion de vue apporte une solution à des questions d ergonomies, en permettant de masquer la complexité de la base de données, ainsi qu à des problèmes de sécurité et de confidentialité. - Le niveau conceptuel : c est la phase de conception de la base de données (cf. prochain chapitre). Elle permet de décrire la structure de la base de données, en définissant les contraintes associées aux données et les relations qui existent entre elles. Ceci, sans se soucier de l implémentation physique de la base de données. - Le niveau interne ou physique : Implantation de la BD sur les ordinateurs (stockage des données sur disque). 3.3. Les objectifs des SGBD-R - Indépendance physique des données : indépendance des programmes d application cis à vis du modèle physique. o Possibilité de modifier les structures de stockage (fichiers, index, chemins d accès, ) sans modifier les programmes. o Ecriture des applications par des non-spécialistes des structures de stockage. o Meilleure portabilité des applications et indépendance vis-à-vis du matériel. - Indépendance logique des données : bien que partageant la même BD, les programmes d application ou les utilisateurs peuvent avoir des vues différentes des données. Ils n ont donc pas de vision globale du schéma conceptuel. Une réorganisation du schéma conceptuel ne doit pas avoir d impact sur la vue des utilisateurs. - Accès aux données : L accès aux données se fait par un langage de manipulation de données (DML), tel que SQL. Le langage doit être optimisé de manière à minimiser le nombre d accès disques, de façon transparente pour les utilisateurs. 7

- Administration centralisée des données : toutes les données doivent être centralisées dans un lieu de stockage commun à toutes les applications. - Non redondance des données : chaque information ne doit être représentée qu ne seule fois dans la base, pour éviter les problèmes lors des mises à jour. - Cohérence des données : Les données sont soumises à des contraintes d intégrité pour définir un état cohérent de la base. Elles doivent être exprimées simplement et vérifiées à chaque insertion, suppression ou modification des données (exemple : salaire entre 1K et 50k, ou Nom de type alphabétique ou relations entre les données ex : prix de vente > prix d achat). - Partage des données : plusieurs utilisateurs peuvent intervenir sur les données simultanément. Plus particulièrement permettre la modification du contenu de la base. - Sécurité des données : associe des droits d accès aux utilisateurs. Pour protéger l accès à certaines données. - Résistance aux pannes : pouvoir récupérer les données après une panne, soit en récupérant l état de la BD avant la panne, soit terminer l opération interrompue. 8