Bases References Spatiales Partie 1-Slides-Chap1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 59

Introduction aux Bases de

Données
Dr FOTSING TALLA Bernard

IUTFV de Bandjoun
Université de Dschang

Licence Géomatique
Objectifs

 Objectif global : donner à l'étudiant les


connaissances théoriques et pratiques d'analyse, de
conception, de programmation et d'exploitation de
bases de données à références spatiales
 Objectif spécifique : Avoir une connaissance
théorique et pratique des bases de données
relationnelles.
 acquérir les notions élémentaires de conception des bases
de données relationnelles (approche entité-relation), de
gestion et d’administration des bases de données
 Pratique d’un SGBD relationnel : MySQL ou PostgreSQL

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 2


Contenu

 1. Notion de BD et leurs systèmes de gestion


 Contexte technique, Apport BD, Terminologie BD,
Domaines d’application
 Les modèles de données, Architecture de référence
 Qu’est-ce qu’un SGBD ?
 2. Un modèle conceptuel : modèle entité-association
 3. Un modèle logique : le modèle relationnel
 4. L’algèbre relationnelle
 5. Le Langage SQL
 6. Etude d’un SGBD : PostgreSQL
 CM,TDs et TPs : 30h ; TPE (projets) : 15 heures
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 3
1. Contexte technique BD

 Début des années 1960 : l’informatisation de la


gestion des entreprises nécessitait le stockage
de volumes de données importants.

 Structure en mémoire centrale (MC)


 Fichiers
 Bases de données

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 4


1. Structure en MC
 Principes
 Stockage des données dans la mémoire volatile d’un ordinateur
 Problèmes
 Stockage temporaire
 «Petits» volumes de données
 Langages de programmation
 Contexte mono-processus (mono-utilisateur en général)

 Il n’était pas possible de stocker de gros volumes de


données en mémoire centrale, ce qui a conduit à
l’introduction des mémoires secondaires (disques durs).
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 5
1. Fichiers
 Les années 60 ont alors connu le développement
des systèmes de gestion de fichiers (SGF) qui
permettent de faciliter l’utilisation des mémoires
secondaires.
 Stockage persistant sur disque
 «Gros» volumes de données
 Langages de programmation et SGF
 Contexte mono-utilisateur (en général)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 6


1. Approche fichier avec PCs

Direction des études Bibliothèque Service social

Appli Appli Appli


En Cobol en Java en C

Fichiers Elèves Fichiers Elèves Fichiers Elèves


et UVs et Livres et Chambres

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 7


1. Approche fichiers + SGF

Application bibliothèque
Programme 1
Description du fichier des Elèves
Edition du fichier Elèves
par ordre alpha
*2
Programme 2
Description du fichier des Elèves
Fichier Elèves
Mise à jour du fichier Elèves
via nom élève

SGF

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 8


1. Problèmes de l’approche fichier

 Difficulté à saisir les liens entre les données


 Pas de partage de données entre les utilisateurs
 Pas de vision globale des données
 Redondance des données
 Risque d'incohérence des données
 Pas d'indépendance entre les données et les traitements
 Problème de gestion de la sécurité des données
 Multiplicité des traitements, des langages, des matériels
 Ces problèmes ont conduit à la recherche de solutions
globales au traitement de données.

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 9


1. Bases de données
 C’est ainsi que sont apparus les bases de données
(BD) et leurs systèmes de gestion (SGBD).
 Stockage persistant sur disque
 «Très gros» volumes de données
 Langage de requêtes et de programmation SGBD
 Contexte multi-utilisateurs
 Une Base de Données (BD), en anglais Data Base
(DB), est une collection d'informations
structurées, cohérentes et persistantes, nécessaires
au fonctionnement d’une entreprise.
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 10
1. Approche centralisée
 Toute la BD, le SGBD et les applications sur une machine.
Rien que des terminaux pour y accéder
PC Windows BD
Appli C
Elèves
Uvs
Appli Cobol Appli Java
Livres
Chambres
PC SGBD
NT

Description
BD

PC Linux
Terminaux
 La BD est dite locale quand c'est utilisée sur une seule
machine par un utilisateur
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 11
1. Approche client/serveur
 BD et SGBD sur un serveur, applications chez les clients
PC Windows BD

Appli Cobol Elèves


Uvs
Livres
SGBD Chambres
PC
Appli Java
NT

Description
BD
Appli C

PC Linux
 La BD est repartie quand les informations sont stockées sur
des machines distantes (serveur) et accessibles par réseau
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 12
1. Exemples de BD
 BD qui permet la gestion des personnels,
étudiants, cours, inscriptions, ...
 BD d'une université ou école ;
 BD du système de réservation de places d'avion
des compagnies d'aviation,
 BD de gestion des comptes des clients des
sociétés bancaires, ...
 etc.

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 13


1. Apport d’une approche BD
 Intégration :
 Description unique et globale des données
 Eviter les redondances
 Eviter les incohérences
 Indépendance :
 Indépendance entre données et traitements
 Séparation entre les descriptions logiques et
physiques des données

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 14


1. Apport d’une approche BD (2)
 Sécurité :
 Contrôle sémantique des données
 Protection contre les accès non autorisés
 Protection contre les pannes
 Facilités pour l’utilisateur :
 Partage des données
 Vision « haut niveau » et « personnalisée » des données
 Manipulation « aisée » des données
 Accès efficaces aux données
 Répartition des données et des traitements

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 15


1. Terminologie BD
 Données
 Modèle de données
 BD
 SGBD
 Schéma d’une BD
 Instance d’une BD
 Contraintes d’intégrité
 Métabase

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 16


1. Données
 Une structure
 Simple: prix, nom, date

 Complexe: personne, document, image

 Une sémantique
 Le solde d’un compte courant

 Une photo de Paris réalisée par le satellite SPOT

 Un propriétaire
 Responsable de la création d’une donnée

 Définit les règles pour son identification et son intégrité:

 « La température de l’air est comprise entre -30° et +40°C »


 « Le salaire de l’année n est supérieur au salaire de l’année n-1 »
 Accorde des droits d’utilisation

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 17


1. Données (2)
 Des utilisateurs
 Interrogent les données
 « Quelle était la température à paris le 1er janvier 1997 ? »
 Mettent à jour les données
 « Créditer le compte de M. Monet de 1000 F »

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 18


Modèle de données

 Ensemble de concepts pour décrire :


 Les données du monde réel
 Les liens entre les données
 La sémantique des données
 Ensemble d’opérations pour manipuler les
données

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 19


BD ET SGBD
 BD : Collection de données décrites selon un
certain modèle
 SGBD : Système logiciel gérant les données
d’une BD, selon un modèle fixé
 Un SGBD doit permettre :
 définition d’une BD (spécification des types de données
à stocker),
 construction d’une BD (stockage des données
proprement dites)
 manipulation des données (principalement ajouter,
supprimer, retrouver des données).
 contrôle des données (accès, transactions, contraintes)
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 20
Exemples de SGBD
 Commerciaux les plus connus : Access, Oracle,
Sybase, Interbase, Ingress, O2, Informix, DB2 et
SQL Server.
 MySql, PostgreSQL sont des SGBD non
commerciaux très répandus.
 etc. (exercice)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 21


Caractéristiques des SGBD
 NB: ces caractéristiques ne sont pas forcément
prises en compte totalement par les SGBD
 non redondance des données : pouvoir contrôler
voire supprimer cette redondance
 sécurité des données (protection contre les
indiscrétions) : Le SGBD doit gérer les droits d’accès
des utilisateurs sur les données
 intégrité des données (protection contre les erreurs)
: les données stockées dans la base doivent
satisfaire certaines contraintes de cohérence

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 22


Caractéristiques des SGBD
 concurrence d’accès (gestion des conflits d’accès à
l’information
 partage des données : accéder à la même
information par plusieurs utilisateurs en même temps.
 sauvegarde et la récupération (assurer la sécurité
et la reprise après panne)
 offrir des interfaces d’accès multiples aux
différents types d’utilisateurs
 représenter des relations complexes entre les
données : Cette facilité s’exprime à travers le modèle
de données sous-jacent au SGBD.
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 23
Schéma et instance d’une BD

 Schéma (intention) :
 Description des données de la base, conformément à un modèle
 Schéma réseau, schéma relationnel, ...
 Statique en général.
 Instance (extension) :
 Collection de données de la base écrite selon un certain modèle
 Instance du schéma
 Dynamique

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 24


CI et Métabase

 Contrainte d’intégrité (CI):


 Règle spécifiée sur les données, pour définir un état
cohérent de la base
 Le salaire d’un employé doit être supérieur au SMIC
 Métabase (dictionnaire de données - DD):
 Collection des données qui décrivent la BD
 « Valeur du schéma »

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 25


Domaines d’application
 Comme élément central :
 Banques de données (professionnelles, grand public)

 Systèmes transactionnels (banques, assurances,…)

 Systèmes d’aide à la décision (tableaux de bord, analyse statistique,…)

 Comme élément essentiel :


 Systèmes d’information et de communication (entreprise,
administration,…)
 Systèmes de surveillance et de contrôle (télécoms, production,…)

 Comme élément auxiliaire :


 Systèmes de recherche documentaire (textes,sons, graphiques, …)

 Systèmes XAO (CAO,PAO,EAO,…)

 Systèmes experts

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 26


Classification

Volume de Complexité des Intensité du


données traitements service
Applications ≈ Go Interrogation + > 100 tps
transactionnelles Mise à jour
Temps de
réponse < 2 s.
Application ≈ To Interrogation Notion de tpm
d’aide à la Temps de
décision réponse en mn
Datewarehouse ou h
Datamining
TPC (Transaction Processing Council) Benchmarks systèmes transactionnels

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 27


Les modèles de données pour les BD
 Modélisation des données ?
 Modèles
 Modèle entité/association (BD relationnel, BD géographique)
 Modèle hiérarchique et Modèle réseau
 Modèle relationnel (MLD, BD relationnel, BD multimédia et
BD géographique)
 Modèle objet (UML, BD multimédia et BD géographique)
 Modèle déductif
 Modèle (sémi)structuré : XML
 Modèle décisionnel (Data wharehouse, Big Data)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 28


Modélisation des données
 Modèle de données :
 Ensemble de concepts pour décrire :

 Les données
 Les liens entre les données
 La sémantique des données
 En général, un ensemble d’opérations est associé pour manipuler
les données
 Formalisme de description :
 Textuel

 Graphique

 Mathématique

 Exemples de modèles :
 Entité/association

 Hiérarchique/réseau

 Relationnel

 Objet, relationnel-objet

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 29


Modèle Entité/Association
[Chen 76] code nbH coord

UV
1,n
num
note S’inscrire
3,n nom
Élève
0,n 0,1 age

adresse

datePrêt Emprunter Louer

côte 0,1 1,1 no


Livre Chambre
titre prix

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 30


Modèle Entité/Association - 2

Livre
0,1
cote
Emprunter
Eleve titre
UV 0,n datePret
S’inscrire num
code 1,n 3,n
nom
nbH note Louer
age 0,1
coord
adresse Chambre
1,1 no
prix

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 31


Critique du modèle Entité/Association

 Avantages  Inconvénients
 Sémantique riche  Uniquement un modèle de
 Extension aux concepts description de données
objets (héritage, ...)  Pas de langage de
 Aspect visuel manipulation associé
 Modèle de conception de  Pas de SGBD E/A
BD  Pas un modèle
d’implantation de BD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 32


Modèle hiérarchique
 Système IMS d’IBM conçu à la fin des années 60
pour le programme Appolo (NASA)
 Exemple

Élève UV

Livre UV Chambre Elève

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 33


Modèle hiérarchique (suite)
 Schéma BD
 Structure arborescente (forêt)
 BD
 Collection d’enregistrements reliés par des pointeurs
 Langage de manipulation
 Navigationnel et procédural
 Utilisation de pointeurs
 (Exemple du langage DL/1 du système IMS)
 Problèmes :
 Pas d’indépendance logique/physique
 Redondance des données, risques d’incohérence

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 34


Modèle réseau
 Modèle défini par le groupe DBTG du comité
CODASYL en 1971 (revu en 1978)
 Exemple
Élève UV

Livre Chambre Inscrit

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 35


Modèle réseau (suite)
 Schéma BD
 Structure de graphe orienté acyclique (DAG)

 BD
 Collection d’enregistrements reliés par des pointeurs

 Langage de manipulation
 Navigationnel et procédural

 Utilisation de pointeurs

 Standard CODASYL 71, 78

 Systèmes
 IDS2 d’Honeywell (1975), Total de Cincom (1974), Adabas de Soft.
Ag (1978)
 Problèmes
 Pas d’indépendance logique/physique

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 36


Modèle relationnel
 [CODD 70] « A Relational Model for Large
Shared Data Banks »
 Exemple
Élève(num, nom, adresse, age)
UV(code, nbH, coord)
Inscrit(numElève, codeUV, note)
Livre(côte, titre, numElève, datePrêt)
Chambre(no, prix, numElève)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 37


Modèle relationnel (2)
« MLD » Ecole

LIVRE
COTE
NUM
ELEVE TITRE
UV INSCRIT NUM DATEPRET
CODE CODE NO
NBH NUM NOM
COORD NOTE AGE CHAMBRE
ADRESSE
NO
NUM
PRIX

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 38


Modèle relationnel (3)
 Schéma BD
 Structure de relation

 BD
 Ensemble d’enregistrements reliés par des valeurs

 Langage de manipulation
 Ensembliste

 Déclaratif

 Standard international [ SQL 86, 89, 92 ou SQL2]

 Prototypes de recherche
 System/R chez IBM (1976), Ingres à Berkeley (1976)

 Systèmes commerciaux
 SQL/DS et DB2 d’IBM (1982), Oracle (1983), Ingres (1983),
Informix (1981), Sybase (1984), SqlServer (1998)
 MySQL (1995)

 Access

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 39


Modèle relationnel (suite)
 Avantages
 Indépendance logique/physique
 Langage de manipulation simple
 Basé sur une théorie mathématique solide
 Standard

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 40


Une architecture de référence pour les
SGBD
 Description des données : 3 niveaux
d’abstraction
 Exemple
 Conséquences
 Conception d’une BD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 41


Description des données : 3 niveaux
d’abstraction
 Groupe ANSI/X3/SPARC (1975)

Schéma externe 1 …. Schéma externe n

Schéma conceptuel

Schéma physique

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 42


Exemple
Schéma externe pour Schéma externe pour Schéma externe pour Comment les données
appli Bibliothèque appli Direction des études appli Service social sont vues par les
- Elève - Elève - Elève « utilisateurs »
Représentations logique
- Livre - UV - Chambre
Multiples

Globalité des données


Représentation logique
Schéma conceptuel Unique

Globalité des données


Schéma Physique Représentation physique
des données. Comment
les données sont
mémorisées (fichiers,
index, …)
Unique

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 43


Conséquences

 Indépendance physique
 Indépendance entre les structures de stockage et les structures
de données
 Pouvoir modifier l'organisation physique sans modifier les
programmes d’application
 Exemple: ajouter un index
 Indépendance logique
 Pouvoir modifier le schéma conceptuel sans modifier les
programmes d’application
 Exemple : ajouter un attribut

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 44


Conception d’une BD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 45


Conception d’une BD (ANSI-SPARC 1975)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 46


Qu’est-ce qu’un SGBD ?

 But
 Moyens mis en oeuvre
 Fonctionnalités
 Architecture
 Langage de définition des données (LDD)
 Langage de manipulation des données (LMD)
 Interface avec un LPG
 Java et les SGBD
 Transaction
 Les utilisateurs d’un SGBD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 47


But et moyens
 But :
 Simplifier et faciliter l’accès aux données de la base
 Assurer une grande sécurité du système d'information
 Moyens :
 En offrant une vision de « haut niveau » des données, via un
modèle logique des données
 En se chargeant de faire la correspondance avec la vision de «
bas niveau » des données (structures de stockage et méthodes
d’accès)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 48


Fonctionnalités
 Langage de définition et de manipulation des données (LDD +
LMD)
 Gestion de l’intégrité  définition des CI, Trigger
 Gestion de la persistance
 Structures de stockage et méthodes d’accès  cluster, index
 Gestion de la concurrence (transaction, verrouillage)
 Gestion de la sécurité de fonctionnement  transaction, journaux,
mécanisme de reprise sur panne
 Gestion des droits  identification, attribution de droits
 Optimisation  algorithme, statistiques
 Interface avec les langages de programmation

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 49


Fonctionnalités (++)
 Gestion de versions
 Gestion de la répartition
 Gestion d’objets complexes (image, document,
...)
 Gestion de connaissances, règles de déduction
 Environnement de développement (AGL)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 50


Architecture d’un SGBD
Administrateur Programmeur d’application Utilisateur terminal

Définition des Manipulation de la BD


schémas de la BD

Traducteur LDD Traducteur LMD

Noyau SGBD

Métabase BD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 51


LDD

 Définition logique des données


 Schéma conceptuel global
 Schémas des vues utilisateur
 Structure des données et liens entre les données
 Définition physique des données
 Schéma physique des données
 Méthodes de placements et d’accès
 Contrôle des données
 Contraintes d’intégrité
 Droits d’accès

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 52


LMD
 Objectif
 Interroger et mettre à jour les données (extraire, ajouter, supprimer, modifier )
 Style procédural
 Exprimer la séquence des opérations d’accès aux données pour obtenir le
résultat
 Modèle hiérarchique et réseau
 Langage navigationnel
 Norme CODASYL 71, 78 pour modèle réseau
 Dépendant du niveau physique
 Intégration dans un LPG (Cobol pour modèle réseau)
 Style déclaratif
 Exprimer l’information souhaitée sans dire la façon dont on accède à
l’information
 Modèle relationnel
 Langage ensembliste
 Indépendant du niveau physique
 Norme SQL 86, 89, 92
 SQL « seul » et SQL « intégré » dans un LPG « classique »
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 53
Interface avec un LPG
 Problème d’un LMD
 Uniquement interrogation et mise à jour des données

 Pas de « calculs » sur les données

 Solution
 Interfacer le LMD avec un LPG

 Diverses techniques d’interfaçage (précompilation, ....)

 Exemples
 LMD réseau interface normalisée avec COBOL
 LMD relationnel interfaces normalisées entre SQL et
 Cobol, Pascal, Fortran, PL/1 (1978)
 Ada, C (1989)
 Java (SQLJ)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 54


Java et SGBD

 JDBC : API de niveau SQL/CLI avec


indépendance des SGBD cibles (pb de pilote)
 SQLJ : embedded SQL pour Java
 Interface de gestion de la persistance des objets
Java (transformation automatique des objets java
en structures relationnelles dans les 2 sens)

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 55


Notion de transaction

 Séquence d’opération élémentaires (lire, écrire) sur la


BD
Transaction retrait (noCompte, montant)
Début
select solde into s from Comptes where numCompte = noCompte;
si s > montant alors
Update compte set solde = solde – montant where numCompte = noCompte;
donnerArgent(montant);
Valider();
Sinon
Imprimer(‘opération impossible’);
Annuler();
Finsi
Fin;
Dr FOTSING TALLA Bernard Introduction aux Bases de Données 56
Propriétés des transactions

 A : Atomicity
 C : Consistency
 I : Isolation
 D : Durability

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 57


Les utilisateurs d’un SGBD

 Le concepteur
 Contexte de travail : niveau conceptuel
 Construction du schéma conceptuel avec un modèle de données
 Administrateur BD
 Contexte de travail : les 3 niveaux.
 Définit et màj les schémas logiques
 Définit les CI + Vues + droits d’accès
 Définit les schémas physiques (structures de stockage +
stratégies d’accès)
 Utilise le LDD et DD

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 58


Les utilisateurs d’un SGBD (suite)

 Développeur d’applications
 Contexte de travail : niveau externe et conceptuel
 Utilise le LMD + LPG
 Écrit des programmes pour interroger, mettre à jour et traiter les
données
 Connaît les schémas logiques et physiques
 Utilisateur terminal
 Contexte de travail : niveau externe
 « Averti »: interroge la BD en utilisant un LMD
 « Naïf »: utilise les programmes d’application

Dr FOTSING TALLA Bernard Introduction aux Bases de Données 59

Vous aimerez peut-être aussi