Chapitre 1

publicité
Chapitre 1
Cours de Bases de Données
Introduction
aux
Bases de Données
Polytech Paris-Sud
Sarah Cohen-Boulakia
LRI, Bât 650, Université Paris-Sud, Orsay
cohen @ lri . fr
01 69 15 32 16
1
2
Sarah Cohen-Boulakia, Bases de données
Sarah Cohen-Boulakia, Bases de données
Les Bases de données sont
omniprésentes
Chapitre 1 : Quelques questions…
• Applications de gestion
• Qu’est-ce qu’une base de données ?
– Banque - Finance - Assurance
– Gestion du personnel / client d’une entreprise
– Gestion des stocks
• Pourquoi ne pas plutôt utiliser un système de
fichiers ?
• Système d’information d’une entreprise / labo
–
–
–
–
–
• A quoi sert un système de gestion de bases
de données (SGBD) ?
3
Sarah Cohen-Boulakia, Bases de données
Applications transactionnelles
Gestion de réservations
Transports passagers (train, avion, location, ...),
Hôtels, Spectacles
Expérimentations scientifiques
Consultations/modifications très fréquentes
Sarah Cohen-Boulakia, Bases de données
4
Gestion des réservations
de billets de trains
Quelques Notes…
Réservation
•
•
•
•
•
•
Utilisation de systèmes de fichiers
Num reservation
Nom client
Adresse client
numéro trajet
date
Départ
- gare
- heure
• Arrivée
- gare
- heure
Problèmes
Trajet
Étapes,
Wagons,
Trains…
•
•
•
•
•
numéro trajet
gare départ
heure départ
destination finale
heure d’arrivée
• Redondances
• Incohérences
Maintenance
• Structure des
données dans les
programmes !
• Accès aux
données
Performances
Système de
réservation
dans les gares
Système
fichiers 1
Train 345
Système de
réservation
en ligne (voyageSNIF)
Système
fichiers 2
Train 345
Système de
réservation
en ligne (Axpadia)
Système
fichiers 3
Train 345
5
Sarah Cohen-Boulakia, Bases de données
6
Sarah Cohen-Boulakia, Bases de données
Description
L’utilisation d’une base de
données et un système de
gestion de base de données est
un choix guidé par des besoins à
différents niveaux
• Décrire le données de l’application (trains,
trajets et réservations) sans faire référence à
une solution informatique particulière
Modélisation conceptuelle
• Élaborer une description équivalente pour le
stockage des données
Modélisation logique
Langage de description de données
7
Sarah Cohen-Boulakia, Bases de données
8
Sarah Cohen-Boulakia, Bases de données
Création et modification des
données
Interrogation
• Répondre à toute demande d’information portant
sur les données contenues dans la base
• Créer la base de données initiale avec les
données représentant le réseau SNIF
langage permettant l’insertion de données
– Nicolas Bazin a-t-il une réservation pour aujourd’hui ? Si
oui, donner les infos sur cette réservation.
– Quels sont les horaires des trains partant de Bordeaux et
allant à Paris entre 9h et 10h le dimanche ?
– Donner toutes les destinations au départ de Bordeaux
sans arrêts intermédiaires
• Créer au fur et à mesure les données sur les
réservations
• Pouvoir modifier (et éventuellement supprimer)
toute donnée déjà rentrée
langage de manipulation de données
(insertion, modification, suppression)
Langage de requête (langage d’interrogation)
9
Sarah Cohen-Boulakia, Bases de données
10
Sarah Cohen-Boulakia, Bases de données
Exactitude et Cohérence
Fiabilité et contrôle de concurrence
• Exprimer des contraintes sur les données
– Chaque place de train est occupée par au plus un client
– Les arrêts d’un train sont numérotés de façon continue
– La date de réservation pour un train doit être à 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
Langage d’expression de contraintes
d’intégrité
• Pas de perte d’information due à un
disfonctionnement matériel quelconque
– erreur de programmation, panne système, panne de
physique, coupure de courant, …
Garantie de fiabilité, reprise sur panne
• Pas de perte d’information due à l’action d’ un
utilisateur
– enregistrement de deux réservations (sur 2 clients
différents) pour une même place dans un même train
Garantie de contrôle de concurrence
11
Sarah Cohen-Boulakia, Bases de données
12
Sarah Cohen-Boulakia, Bases de données
BD et SGBD
Confidentialité et Efficacité
• Information protégée (utilisateurs autorisés) en
lecture/écriture
• Base de données (BD)
– ensemble structuré de données stockées et accessibles par
plusieurs utilisateurs
• Système de Gestion de Base de Données (SGBD)
– Les clients ne doivent pas pouvoir modifier les
numéros des trains
Garantie de confidentialité
• Temps de réponse conforme aux besoins
– en interactif : pas plus de 2 secondes
– en programmation : assumer la charge de travail
attendue (nombre de transactions par jour)
Optimisation
Attention : répartition / duplication des données
Garantie d’efficacité
13
– Logiciel système pour interagir avec une BD. Fonctions :
• Gestion du stockage en mémoire secondaire
• Accès efficaces aux données, transferts mémoires
centrale - secondaire
• Persistance
• Résistance aux pannes (logicielles et matérielles)
• Confidentialité (sécurité)
• Cohérence – Intégrité (fiabilité)
• Partage des données – Concurrence (sécurité)
• Interface
14
Sarah Cohen-Boulakia, Bases de données
Sarah Cohen-Boulakia, Bases de données
BD et SGBD
Avec une base de données
• Base de données (BD)
Avantages
– ensemble structuré de données stockées et accessibles par
plusieurs utilisateurs
• Système de Gestion de Base de Données (SGBD)
– logiciel pour interagir avec une BD. Fonctions :
• Gestion du stockage en mémoire secondaire
• Accès efficaces aux données, transferts mémoires
centrale - secondaire
• Persistance
• Résistance aux pannes (logicielles et matérielles)
• Confidentialité (sécurité)
• Cohérence – Intégrité (fiabilité)
• Partage des données – Concurrence (sécurité)
• Interface
Oracle, Postgres, mySQL,
DB2, SQLServeur
sont des SGBDs
Sarah Cohen-Boulakia, Bases de données
• Chaque
information n'est
stockée qu'une
seule fois
• Une seule base
pour toutes les
applications
• Et chaque
application ne voit
que ce qu'elle doit
voir (contrôle par
les filtres ou vues)
Système de
réservation
dans les gares
Schéma
Système de
réservation
en ligne (voyageSNIF)
Train 345
Manipulation
Système de
réservation
en ligne (Axpadia)
15
16
Sarah Cohen-Boulakia, Bases de données
Principe 2 : Trois Niveaux
d’Abstraction
Principe 1 : Instance et schéma
• Niveau externe (vues)
• On distingue toujours le schéma (récipient) de
l’instance (contenu)
– description et manipulation des données dédiées à un
groupe d’utilisateurs, modélisation des visions de la
base par les utilisateurs
• Schéma = description centralisée des données
– la description des données est une donnée stockée +
modifiable + interrogeable
– Train(no: entier, gare départ : chaîne de caractères,
heure départ : Heure…) (= Table en colonnes)
• Instance = donnée
• Niveau logique ou conceptuel
– description et manipulation abstraites des données
– structure globale des données qui intègre les
différentes visions externes, sans se soucier des
contraintes (performance…) liées à l’implantation
• Niveau physique (interne)
– les données sont organisées en fonction du schéma
– (Train n° 345, Bordeaux, 15h00) (= ligne)
– organisation et stockage des données en mémoire
secondaire, façon dont la base est implantée sur la
machine
17
18
Sarah Cohen-Boulakia, Bases de données
Sarah Cohen-Boulakia, Bases de données
Avantages de la séparation des 3
niveaux
3 types d'utilisateurs
• L'administrateur de la base est chargé
• Limitation des modifications liées
– aux changements de matériel, de système
d’exploitation ou des logiciels utilisés
– Passage à un serveur plus puissant, changement de
SGBD (Oracle, Postgres, mySQL…)
Sarah Cohen-Boulakia, Bases de données
• Le programmeur
– écrit des applications qui utilisent la base de données
– crée les tables et les structures associées (vues, index,...) utilisées
par ses applications
• La vision de chaque utilisateur est
indépendante des visions des autres
utilisateurs
– pas impactées par les modifications du schéma
conceptuel qui ne le concernent pas
– Changement de l’affectation des wagons par train
pas d’impact sur l’interface de consultation
– du contrôle de la BD, en particulier, permettre l'accès aux données /
applications / individus qui y ont droit
– de conserver de bonnes performances d'accès à ces données
– de faire des sauvegardes / procédures de reprise sur pannes
• L'utilisateur final
19
– n'a accès qu'aux données qui lui sont utiles
• par l'intermédiaire d'applications
• en interrogeant directement les tables ou vues sur lesquelles
l'administrateur lui a accordé des droits
Sarah Cohen-Boulakia, Bases de données
20
Principes 3 et 4 : indépendance
Avantages de l'utilisation des SGBDs
• Centralisation des données
intégrité
• Contrôle centralisé de l'accès aux données
sécurité accrue
• Indépendance physique
– Programmes d’application invariants
– Structure Physique modifiée
• Traitements très puissants
développement
• Indépendance logique
grande rapidité de
• Indépendance vis-à-vis de la structure physique et
logique des données
maintenance facilitée
– Programmes d’application invariants
– Structure Logique modifiée
• Pour les SGBD relationnels : langage non
interrogation directe et
procédural simple
réponses à des questions non prédéfinies
21
Sarah Cohen-Boulakia, Bases de données
Petits Avertissements (1/2)
Petits Avertissements (2/2)
• Un SGBD est un système complexe !
• Spécificité d’un SGBD
• Un SGBD est un système difficile à bien utiliser !
• Méthodes de développement et maintenance
– 3 niveaux d’abstraction
– fiabilité
– concurrence
• Analyse des besoins de l’application
• Stockage massif sur disque ! Le prix à payer
–
–
–
–
22
Sarah Cohen-Boulakia, Bases de données
les interfaces entre niveaux
journalisation
verrouillage
techniques spécialisées d’accès aux données sur disque
• Conception du schéma conceptuel
• Conception du schéma interne
• Réglage (tuning) des applications
23
Sarah Cohen-Boulakia, Bases de données
24
Sarah Cohen-Boulakia, Bases de données
ANALYSE des BESOINS
DESCRIPTION CONCEPTUELLE
Conception et
développement
itératifs
d’applications
Cycle de vie d'une BD
DESCRIPTION LOGIQUE
DESCRIPTION PHYSIQUE
• Conception de la base
(schéma conceptuel)
• Implantation des
données (schéma logique)
• Utilisation (interrogation,
mises à jour)
• Maintenance
(correction, évolution) 25
Sarah Cohen-Boulakia, Bases de données
modèle conceptuel
0..1
Reservation *
SesResTrain
SonTrainRes
NomClient : string
….
Train
numTrain : int
…
• Logique : tables
– Reservation(NomClient : chaîne, …), Train(numTrain :
chaîne…)
• Physique : choix des index, chemins d’accès…
26
Bibliographie
• Database Management Systems, R. Ramakrishnan,
McGraw-Hill.
Chapitre 1 : Introduction
Chapitre 2 : Modélisation UML
Chapitre 3 : Le modèle relationnel
Chapitre 4 : Introduction à SQL
Chapitre 5 : Algèbre relationnelle
Chapitre 6 : Requêtes SQL avancées
Modalité de contrôle des connaissances
• Bases de données (objet & relationnel), G. Gardarin,
Editions Eyrolles.
• Foundations of databases, Serge Abiteboul, Rick Hull,
Victor Vianu (existe en français chez Vuibert)
• A first course in Database System, J. Ullman et J. Widom,
Prentice Hall.
– Examen (60% note globale)
– Contrôle Continu (40% note globale)
• Database system implementation, H. Garcia-Molina, J.
Ullman et J. Widom, Prentice Hall.
• Interros surprises en TD (70% du CC)
• TPs noté (30 % du CC)
27
Sarah Cohen-Boulakia, Bases de données
• Description des besoins
Sarah Cohen-Boulakia, Bases de données
Plan du cours,
Modalités de contrôle
•
•
•
•
•
•
•
Exemples des 3 niveaux
• Cours sur Internet : Universités et IUT de Versailles, Lille,
Bordeaux, Marseille, Paris-Sud 11
Sarah Cohen-Boulakia, Bases de données
28
Téléchargement