1 Intro BD2018
1 Intro BD2018
1 Intro BD2018
Introduction et
Objectifs
Sylvie Despres
2017-2018
sylvie.despres@univ-paris13.fr
Introduction
l Au début de l’informatique
l Systèmes pour calculer
l Tendance actuelle
l Gestion de très grande quantité de données
l Nombre de données disponibles et moyens de les
diffuser en progression constante
l Accroissement lié au World Wide Web
l Comment stocker et manipuler ces données ?
1
Qu’est-ce qu’une donnée ?
l Donnée
l Mesures de température relevées chaque jour dans une station météo
l Description élémentaire, typiquement numérique pour nous, d’une réalité
l Information
l Courbe donnant l’évolution dans le temps de la température moyenne dans un
lieu
l Obtention de l’information en organisant les données
l Connaissance
l Le fait que la température sur Terre augmente en fonction de l’activité humaine
l Compréhension du sens de l’information, permet d’aboutir à des
connaissances
l « faits » considérés comme vrais dans l’univers d’un locuteur
l « lois » (des règles logiques) de cet univers
l Exemple
l Représentation de la position d’un ascenseur dans un immeuble de six
étages avec 3 bits :
l 000 pour le rez-de-chaussée
l 001 pour le premier
l …
l 110 pour le sixième (le nombre 6 en base 2)
4
2
Introduction
l Les entreprises gèrent des volumes de données très grands
l Giga (109 ou 230), Tera (1012 ou 240), Péta octets (1015)
l Numériques, Textuelles, Multi-média (images, films, ... )
http://www.bipm.org/fr/measurement-units/
Introduction
l Les données sont structurées et identifiées
l Données élémentaires
l Votre salaire
l Votre note en BD
l Données composées
l Votre CV
l Vos résultats de l'année
l Identifiant humain
l NSS ou machine : P26215
3
Quelques applications
l Gestion d'entreprise (stocks, personnels, clients, …)
l Banques (comptes, emprunts, …)
l Systèmes de réservation (avions, trains, spectacles, …)
l Bibliothèques, vidéothèques, médiathèques, …
l Bureautique (agendas, répertoires, photos, courriers, …)
l Géographie (cartes routières, cartes maritimes, …)
l Informatique (programmes, documentations, …)
l Domaine de la santé, recherche médicale, …
4
Rôle d’une base de données
l Essentiel
l Mise en place de
l Système d’information et de communication via le web
§ Site d’information dynamique avec stockage d’information
§ Stockage de profils utilisateur pour faire de la surveillance et contrôle
l Accessoire
l Application très ciblée
l XAO, Système Expert (peu de données, nombreuses règles)
l Application personnelle
l Faible volume de données
l Problème crucial
l Stockage des données
9
10
5
Utilisation de fichiers
l Stockage persistant sur un disque
l Gros volume de données
l Langage de programmation connotation fortement
orientée informatique
l Primitive offerte par les ordinateurs gestion de fichiers
(SGF)
l En général contexte mono utilisateur même si
possibilité d’avoir des SE gérant des aspects
concurrents
11
l Un accès disque est environ 100,000 fois plus lent qu’un accès mémoire !
6
Problématique
l Gestion d’une BD
l Nécessité de stocker les données de manière persistante
sur un disque
l Fichier
l Etre capable de gérer des gros volumes de données
l Fichier
l Mais prise en compte des aspects multi-utilisateurs
§ Ajout de couches supplémentaires au SE pour
§ Rendre le côté multi utilisateurs transparent
§ Assurer la mise à disposition des données une fois qu’une session de
travail se termine
13
Comptabilité Chirurgie
Problèmes
Consultations Psychiatrie
7
Format des fichiers Caractéristiques
Plusieurs applications
è Plusieurs formats
Dupont Dupond è Plusieurs langages
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
è Difficultés de gestion
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
Redondance de données
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
è Difficultés de gestion
è Incohérence des données
Duhpon Duipont
Turlututu : sq
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
8
Interrogation Caractéristiques
Plusieurs applications
è Plusieurs formats
ChiruSoft
ComptaSoft
Dupont Dupond è Plusieurs langages
Turlututusqjsk
Symptomes : y Symptom: yyyy
Redondance de données
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
è Difficultés de gestion
è Incohérence des données
è Coûts élevés
è Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
Symptomyyyy
Symptomes : yy
Analysesxxxx
Analyses : xxxx
Turlututudhjsd
Symptomes : yy
Pannes Caractéristiques
Plusieurs applications
è Plusieurs formats
ChiruSoft
ComptaSoft
Redondance de données
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
è Difficultés de gestion
è Incohérence des données
è Coûts élevés
è Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq è Gestion de pannes ???
Symptomyyyy
Symptomes : yy
Analysesxxxx
Analyses : xxxx
Turlututudhjsd
Symptomes : yy
9
Partage des données Caractéristiques
Plusieurs applications
è Plusieurs formats
ChiruSoft
ComptaSoft
Dupont Dupond è Plusieurs langages
Turlututusqjsk
Symptomes : y Symptom: yyyy
Redondance de données
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Problèmes
è Difficultés de gestion
è Incohérence des données
è Coûts élevés
è Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq è Gestion de pannes ???
Symptomyyyy
Symptomes : yy
Analyses : xxxx
Analysesxxxx
Turlututudhjsd
è Partage des données ???
Symptomes : yy
Confidentialité Caractéristiques
Plusieurs applications
è Plusieurs formats
ChiruSoft
Plusieurs langages
ComptaSoft
Turlututudhjsd
Redondance de données
Analyses : xxx Analyses :xx
Redondance de code
Problèmes
è Difficultés de gestion
è Incohérence des données
è Coûts élevés
è Maintenance difficile
PsychiaSoft
ConsultSoft
Duhpon Duipont
Turlututu : sq
è Gestion de pannes ???
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx è Partage des données ???
Turlututudhjsd
10
L’approche « Bases de Données »
l Modélisation des données
è Eliminer la redondance de données
è Centraliser et organiser correctement les données
è Plusieurs niveaux de modélisation
è Outils de conception
22
11
Qu’est-ce qu’un SGBD ?
23
Modélisation du réel
Réel
• Indépendant du
Modèle modèle de données
• Indépendant du
conceptuel SGBD Médecin effectue Visite
• Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
• Indépendant du
logique SGBD
Modèle • Dépendant du
modèle de données
• Organisation physique des données
• Structures de stockage des données
physique • Dépendant du SGBD • Structures accélératrices (index)
24
12
Modélisation Relationnelle (1)
Champs, attributs,
Relation ou table colonnes
Tuples, lignes ou n-
uplets
25
Patients
Id-P Nom Prénom Ville Médicaments
1 Lebeau Jacques Paris Id-M Nom Description
2 Troger Zoe Evry 1 Aspegic 1000 ……………………………..
3 Doe John Paris 2 Fluisédal ……………………………..
4 Perry Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
26
13
Objectifs des SGBD
I- Indépendance
Physique
VI - Gestion de la
cohérence
27
Architecture ANSI/X3/SPARC
l Norme ANSI/X3/ SPARC proposée en 1975
l Normalisation d’un cadre d’organisation des SGBD
l Séparation de la définition logique des données de leur
organisation réelle sur support physique
14
29
Niveau externe
15
Niveau conceptuel
Niveau interne
32
16
Niveau physique et logique
l Fichier étudiant unique
l (Nom, Prénom, N°SS, Date Naissance, Année)
l Deux types d’accès au fichier
l Direct par son Nom
l Séquentiel par N°SS
l Approche classique
l Implémentation choisie
l H-code sur les noms
l Ensemble d’enregistrements chaînés par N°SS
l Ecriture de programmes d’applications
l Modification de l’implémentation physique implique la réécriture des
applications
33
I - Indépendance Physique
l Réaliser l’indépendance entre la structure de stockage
(niveau physique) et la structure de données
l Indépendance des programmes d'applications relativement au
modèle physique
l Possibilité de
§ Modifier les structures de stockage (fichiers, index, chemins d'accès, …)
§ Sans modifier les programmes
l Ecriture des applications par des non-spécialistes des fichiers et des
structures de stockage
34
17
II- Indépendance Logique
Autoriser plusieurs visions différentes de différents groupe de travail sur la même base
Les applications peuvent définir des vues logiques de la BD
Docteur Prescription
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Dupont Pierre
Visites 1 1 12 1 par jour
2 Durand Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
3 Masse Jean 2 1 8 2 par jour
1 2 1 15 juin 250
…. …….. …… 2 2 12 1 par jour
35
1 1 2 12 août 180
2 2 3 13 juillet 350 2 3 3 2 gouttes
Patients
Id-P Nom Prénom Médicament
1 Lebeau Jacques Id-M Nom Description
2 Troger Zoe 1 Aspegic 1000 ……………………………..
3 Doe John 2 Fluisédal ……………………………..
4 Perry Paule 3 Mucomyst ……………………………..
…. ……. ……. …. …….. ……………………………..
18
III - Manipulation aisée
l La manipulation se fait via un langage déclaratif
l La question déclare l’objectif sans décrire la méthode
l Le langage suit une norme commune à tous les SGBD
l SQL : Structured Query Langage
l Sémantique
l Logique du 1er ordre ++
l Syntaxe (aperçu !)
SELECT <structure des résultats>
FROM <relations>
WHERE <conditions>
37
38
19
V –Exécution et Optimisation
l Traduction automatique des questions déclaratives en
programmes procéduraux
l Utilisation de l’algèbre relationnelle
VI - Intégrité Logique
20
Contraintes d’intégrité
l Avantages
l Simplification du code des applications
l Sécurité renforcée par l'automatisation
l Mise en commun des contraintes
l Nécessite
l Un langage de définition de contraintes d'intégrité
l La vérification automatique de ces contraintes
41
l Objectifs
l Assurer l'atomicité des transactions
l Garantir la durabilité des effets des transactions commises
l Moyens
l Journalisation : Mémorisation des états successifs des données
l Mécanismes de reprise
42
21
Transaction
Incohérence possible...
Etat cohérent Etat cohérent
Begin Commit
Transaction
!!
Begin!
CEpargne = CEpargne - 3000!
CCourant = CCourant + 3000!
Commit T1!
43
Atomicité
!
!!
Panne
Begin!
CEpargne = CEpargne -
3000!
CCourant = CCourant +
3000!
Commit T1!
!
!
! Annuler le débit !!!
44
22
Durabilité
!
!
Begin!
CEpargne = CEpargne - 3000!
CCourant = CCourant + 3000!
Commit T1!
!
Crash disque
45
BD
23
Isolation et Cohérence
BD
IX – Confidentialité
l Objectif
l Protéger les données de la BD contre des accès non autorisés
l Usagers
l Usager ou groupe d’usagers
l Objets
l Relation, Vue, autres objets (procédures, etc.)
48
24
X - Standardisation
l L’approche bases de données est fondée sur plusieurs
standards
l Langage SQL (SQL1, SQL2, SQL3)
l Communication SQL CLI (ODBC / JDBC)
l Transactions (X/Open DTP, OSI-TP)
49
50
25
Architecture centralisée
Terminaux passifs
réseau
Mainframe
Appli 1 Appli 2 Appli n
SGBD
données
51
Architecture client-serveur
Clients intelligents
Appli 1
Appli 2
Appli n réseau
serveur
SGBD
code données
26
Architecture Client-Multiserveurs
Appli 1
SQL SQL
ODBC ODBC
SQL
SQL
SGBD 1 SGBD 2
Architecture répartie
Appli 1
Appli 2
Appli n
SGBD 1 SGBD 2
27
Architecture mobile
Clients intelligents
mobiles
Données répliquées
et/ou personnelles Réseau sans fil
serveur
SGBD
code données
28
Quelques exemples de SGBD
l (O)RDBMS
l Oracle
l Microsoft
l Access (inclus dans Office), SQL Server
l IBM
l DB2
l Les libres
l MySQL, PostgreSQL
l OODBMS
l O2
57
29
Evolution des besoins
l 1960
Mémoire Coûteuse
Applications Gestion Stock
Données Alphanumérique
l 2000
Mémoire Bon marché
Applications CAO, Génomique, Muti-média
Données Alphanumérique, image, son, vidéo
Besoins Tera-octets : 1012 octets
59
Evolution des BD
BD BD BD « légères » PicoDBMS
d’entreprise personnelles (PDA / Tél.) carte à puce
Capacité
Prix
Nombre
60
30
Un peu d'histoire
l Avant 1960
l Système de gestion de fichiers
l Accès séquentiel, direct, séquentiel indexé
Un peu d'histoire
l Avant 1960
l Système de gestion de fichiers
l Accès séquentiel, direct, séquentiel indexé
62
31
Un peu d'histoire
l Années 60 l Modèle hiérarchique
l COBOL l Classification hiérarchique des
l Modèle hiérarchique IMS/IBM données
l IMS : Information Managment System l Arborescence descendante
l Conçu et utilisé pour le programme Appolo de la NASA l Pointeurs entre les différents
enregistrements
l Très lié à l’organisation des fichiers sur un disque
l Récipients logique de données èFichiers sur disque
§ Enregistrements liés dans une structure arborescente
l Accès séquentiel puis sur clé
§ Lire (Nomf, Article), Ecrire (Nomf, Article)
§ Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
l Accès navigationnel aux données
l IMS
l Archétype du SGBD hiérarchique
§ Écrit avec le langage DL/1, Data language One) d'IBM, 1966
63
Un peu d'histoire
l 1960-1970
l Approche navigationnelle [Bachman]
l A base de fichiers gérés par des arborescence de pointeurs
32
Un peu d'histoire
l Années 70
l Avènement des Bases de Données Réseaux (BD)
l CODASYL en 1971
l Le modèle réseau
§ Charles Bachman
§ Prix Turing 1973 avec IDS (qui était distribué en France par
Bull) puis IDMS
§ Les diagrammes de Bachman permettait de modéliser
l Ensemble de fichiers reliés par des pointeurs
l Langage d'interrogation par navigation
l Accès aux données navigationnel
65
33
Un peu d'histoire
l 1973 Publication de Edgar Franck Codd d’IBM
l A Relational Model of Data for Large Shared Data
Banks
l Stockage des données hétérogènes dans des
tables
l A l’époque considéré comme un curiosité
intellectuelle
l A l’origine du modèle relationnel
67
Un peu d'histoire
l Années 80
l Avènement des Bases de Données Relationnelles (BDR)
l Relations entre ensemble de données
l Langage d'interrogation par assertion logique
l Un modèle est dit relationnel dans la mesure où il permet de
l Parcourir la structure des données empruntant des chemins non
prédéfinis, constitués en dynamique par des requêtes
34
Un peu d'histoire
l Années 90
l La notion de base de données objet se précise
l Atkinson
§ Publication du manifeste The Object-Oriented
Database System Manifesto
l Relationnel étendu
69
Un peu d’histoire
l Année 2000
l Web, PHP/MySQL
l Bases de données réparties
l Déploiement des réseaux et augmentation de leurs débits
l Répartition des données sur plusieurs sites géographiques
70
35
Un peu d’histoire
l Année 2000
l Entrepôt de données ou Datawarehouse
l Bases de données récapitulatives
l Permet un accès homogène à l’ensemble des données
71
Un peu d’histoire
l 2010 …
l NoSQL (Not only SQL en anglais)
l Système clé-valeur, avec une base de données pouvant se résumer
topologiquement à un simple tableau associatif avec des millions voire des
milliards d'entrées
72
36
Arbre généalogique des BD
http://fadace.developpez.com/sgbdcmp/story/
73
BD et informatique médicale
l UMLS
l Unified Medical Language System
l https://www.nlm.nih.gov/research/umls/
l PubMed
l https://www.ncbi.nlm.nih.gov/pubmed/
l MESH
l Medical Subject Headings
l TOXNET Databases
l https://toxnet.nlm.nih.gov/
l Base de données publiques des médicaments HAS
l http://base-donnees-publique.medicaments.gouv.fr/index.php#
74
37
Sources du cours
l L. Audibert
l G. Gardarin et L. Bouganem
l N. Larousse
75
38