POLYTECH
Université d’Aix-Marseille
Qu’est ce qu’une base de données Exemples de bases de données
Besoins pour la gestion d’une BD
Différents types de bases de données
Qu’est ce qu’un système de base de données
Données
Matériel
Logiciel
Avantages de l’approche Base de Données
Exemples de SGBD
Quelques repères historiques
Place des BD dans l’informatique
BD et emploi
Assurer la conservation d’enregistrements informatiques
Base de données (BD) :
réservoir de fichiers de données informatiques opérations sur les fichiers
Gestion des personnels, étudiants, cours, inscriptions, de l’université
Système de réservation de places d’avion chez Air France, de places de train à la SNCF
Gestion des comptes clients de La Poste
Gestion des commandes chez
Gestion d’une bibliothèque
Gestion des pages Web chez
nom client no train date classe no wagon no place heure départ gare départ gare arrivée |
no train gare départ heure départ destination finale heure arrivée jour |
billettrain
no train no arrêt gare heure départ heure arrivée |
arrêt
Base de données d’une cave
NUM | VIN | PRODUCTEUR | ANNEE´ | NB |
2 | CabernetSauvignon | ChateauduMayne | 1983 | 5 |
3 | Chardonnay | Jaboulet ? Vercherre | 1984 | 7 |
6 | PinotNoir | Jaboulet ? Vercherre | 1984 | 10 |
12 | Brunello | EmilioCostanti | 1977 | 6 |
15 | Silvaner | Guntrum | 1985 | 8 |
23 | Riesling | BalthasarRess | 1976 | 2 |
description manipulation interrogation cohérence garanties confidentialité efficacité
Description des données de l’application (trains, trajets, réservations) sans faire référence à une solution informatique particulière
modélisation conceptuelle
Elaboration d’une description équivalente pour le stockage des données dans le Système de Gestion de Bases de Données
choisi
modélisation logique
Langage de Description de Données (LDD)
Créer la base de données initiale avec les données représentant le réseau SNCF langage permettant l’insertion de données
Créer au fur et à mesure les données sur les réservations.
Modifier si besoin et éventuellement supprimer toute donnée
déjà rentrée
Langage de Manipulation de Données (LMD)
(insertion, modification, suppression)
Répondre à toute demande d’information portant sur les données contenues dans la base.
a) Le professseur Tournesol a-t-il une réservation pour aujourd’hui ? Si oui, donner les informations connues sur cette réservation.
b) Quels sont les horaires des trains de Marseille à Cassis entre 9h et 10h le dimanche?
c) Donner les destinations au départ de Marseille sans arrêts intermédiaires.
langage de requête (langage d’interrogation)
Il faut pouvoir exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de fac¸on à éviter toute erreur qui peut être détectée.
Il ne faut jamais donner la même place dans le même train à 2 clients
Les arrêts d’un train sont numérotés de fac¸on continue La date de réservation pour un train doit correspondre à un jour de circulation de ce train
L’heure de départ d’une gare doit être postérieure à l’heure d’arrivée dans cette gare
L’heure d’arrivée à un arrêt doit être postérieure à l’heure de départ de l’arrêt précédent
Il ne faut pas que les informations (par exemple, les réservations) soient perdues à cause d’un disfonctionnement quelconque : erreur de programmation, panne système, panne de l’ordinateur, coupure de courant, etc garantie de fiabilité
Il ne faut pas qu’une action faite pour un utilisateur (par exemple, l’enregistrement d’une réservation) soit perdue du fait d’une autre action faite simultanément pour un autre utilisateur (réservation de la même place). garantie de contrôle de concurrence
Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés :
en lecture en écriture
Interdire par exemple aux clients de modifier les numéros des trains ou les horaires ou leur réservation. garantie de confidentialité (privacy)
Le temps de réponse du système doit être conforme aux besoins : en intéractif : pas plus de 3 secondes
en programmation : assez rapide pour assumer la charge de travail attendue (nombre de transactions par jour) mécanismes d’optimisation
éventuellement, répartition / duplication des données sur plusieurs sites
Il y en a pour tous les usages :
Bases de données personnelles : MsAccess, : 10 Ko 100 Ko
Bases de données professionnelles typiques : 100 Ko 100 Go
Bases de données professionnelles très grandes : Very Large
Databases (VLDB) : > 100 Go
Exemples de VLDB (taille) :
Exemples de VLDB (nombre de transations) :
Qu’est-ce qu’un système de base de données ?
SGBD : système informatique dont le but est de maintenir des informations et les rendre disponibles à la demande il est composé de :
données matériel logiciel utilisateurs
Données intégrées base de données vue comme l’unification de plusieurs fichiers
Données partagées base de données partagées entre plusieurs utilisateurs
Volumes de mémorisation secondaires
disques à tête amovible, supports d’enregistrements ···
Processeurs et mémoire principale qui lui sont associés pour l’exécution du système de base de données
Le système de bases de données (SGBD)
Fonction : protéger les utilisateurs de la BD des détails du niveau matériel
Le SGBD : le composant logiciel le plus important su système
Les utilisateurs :
3 classes d’utilisateurs : les programmeurs d’applications les utilisateurs finaux l’administrateur de la base de données
Qu’est-ce qu’une base de données ?
une collection de données persistantes utilisées par les systèmes d’application d’une entreprise
données persistantes :
données acceptées par le SGBD qui ne peuvent être enlevées que par une requête explicite envoyée au SGBD
entité : tout objet perceptible représenté dans la BD association : relations entre les entités
les entités et les associations possèdent des propriétés simples ou complexes
Qu’est-ce qu’une base de données ?
Modèle de données :
définition logique indépendante et abstraite des objets et des opérations qui constitue une machine abstraite objets : modélisent la structure de données opérations : modélisent le comportement implémentation d’un modèle de données
réalisation physique sur une machine réelle des différents composants d’une machine abstraite
Pourquoi une base de données ?
Avantages :
compacité rapidité efficacité
exactitude protection contrôle centralisé
données partagées redondance réduite incohérence évitée transactions gérées intégrité assurée sécurité appliquée conflits de besoins arbitrés normes appliquées indépendances des données obtenue
Exemples de SGBD :
Nombreux SGBD sur le marché :
ACCESS
MySQL
PostgreSQL
ORACLE
DB2
Mainframe ou cluster de mainframes DB2, Oracle, Adabas,
Machine base de données Teradata
Serveurs Unix & Windows 2000 DB2, Informix, Oracle, Sybase, Unify, SQL Server, Ingres,
Personnels MsAccess, Paradox
Carte de Crédit CQL
1ère génération 1950 - 1965
SGF(Systèmes de Gestion de Fichiers)
Permettent de stocker et d’organiser les données sur mémoire secondaire
Différentes organisations : séquentielles séquentielles triées indexées séquentielles indexées
2ème génération 1965 - 1970
SGBD navigationnel
Hierarchique (IMS)
Réseaux (Codasyl, IDS2)
Principe : relier les données provenant de différents fichiers
Caractéristiques : liens logiques entre les données hiérarchiques (modèle hiérarchique) hiérarchiques ++ (modèle réseau)
Liens physiques entre les enregistrements informatiques (pointeurs)
3ème génération 1969 -
SGBD relationnel (DB2, Oracle, Informix, MsAccess)
Principe : langages assertionnels quoi au lieu de comment
SQL
langage de définition de bases de données langage de manipulation de bases de données normes SQL1, SQL2, SQL3
SGBD Orienté Objet (1990 - 1999)
En pratique : une impasse (O2, Objectstore, Objectivity..)
SGBD relationnel objet (RO) 1993 -
évolution probable de tout SGBD relationnel
Base de données déductives 1980 -
approche déclarative gestion de requêtes conditionnelles (si alors) gestion de requêtes récursives
extension de SQL99
DATALOG
LDL++
BD et Programmation logique : DES, DLV, XSB
gestion de données :
structurées semi-structurées hierarchisées réparties
HTML ? XML
domaines à enseigner dans un cursus d’informaticien
(http ) : Structures discrètes
Fondements de la programmation
Algorithmique et complexité
Langages de programmation
Architecture et organisation
Systèmes d’exploitation
Réseaux
Interfaces Homme/Machine
Informatique graphique
Systèmes intelligents
Management de l’information
Génie Logiciel
Problèmes socio-professionnels
Modèles et systèmes d’information
Outils de bases de données
Modélisation des données
Bases de données relationnelles
Bases de données et langages de requêtes
Conception de bases de données relationnelles
Traitement transactionnel
Bases de données distribuées
Conception physique des bases de données
Fouille de données
Stockage et recherche d’information
Hypertexte et hypermédia
Information et systèmes multimédia
Librairies digitales
Marché du travail : BD = gros pourcentage des offres d’emploi
Exemples (extraits de fr.emplois.offres)
Marché du travail : BD = gros pourcentage des offres d’emploi
Exemples (extraits de fr.emplois.offres)
Tout informaticien peut être amené à
Utiliser de grosses bases de données
Concevoir de grosses bases de données
Administrer de grosses bases de données