Académique Documents
Professionnel Documents
Culture Documents
BD Cours 1 MPCI Etudiants
BD Cours 1 MPCI Etudiants
Base de Données
Rémi Eyraud
Remi.Eyraud@lis-lab.fr
https://pageperso.lis-lab.fr/~remi.eyraud/WP/?page_id=129
1
Organisation de l'UE
●
Premier cours : lundi 14 janvier, 16h-18h
●
Mercredi 16/01 : Cours (13h45 – 15h45)
●
Vendredi 18/01 : TD (8h – 10h)
●
Lundi 21/01 : Cours-TD (16h – 18h)
●
Mercredi 23/01 : DS (10h15 – 12h15)
●
Vendredi 25/01 : Cours (8h – 10h)
●
Lundi 28/01 : TP (16h – 18h)
●
Mercredi 30/01 : Cours (16h – 18h)
●
Lundi 4/02 : TD (16h – 18h)
●
Vendredi 8/02 : ?? (8h – 10h)
●
Mercredi 13/02 : TP noté (10h15 – 16h)
●
Vendredi 15/02 : Cours (8h – 10h)
●
Lundi 25/02 : TD (16h – 18h)
●
Mercredi 27/02 : TP (16h – 18h)
●
Vendredi 1/03 : ?? (14h30 – 16h30)
●
Mercredi 6/03 : ?? (16h – 18h)
●
Mercredi 20/03 : Examen final (13h45 – 15h45) 2
Plan du cours de Base de Données
●
Vaste introduction
●
Le modèle relationnel
●
Le langage SQL
●
Conception de BD
●
Bd & python
3
Introduction
4
Introduction
7
Introduction
Exemples et contre-exemples
●
Toute source de donnée
●
Un fichier texte
●
Un ensemble de fichiers textes
●
Un site internet quelconque
●
Le web dans son ensemble
●
Un répertoire de téléphone portable
●
L'ensemble des information utilisées par la SNCF
pour l'achat d'un billet de train.
9
Introduction
Usagers des BD
●
Il existe 3 catégories d'usagers des bases de
données :
– les usagers interactifs
– les programmeurs d'applications
– les administrateurs
11
Usagers des Bases de Données
12
Introduction
13
Introduction
Les administrateurs
●
Définissent (parfois) et maintiennent la base de
données.
●
Possèdent plus de droits sur la base.
●
2 types :
– concepteur
– administrateur
●
Exemple : vous, à la fin de ce cours ☺
14
Introduction
SGBD
Système de Gestion de Base de Données :
●
But : simplifier la tache des usagers (tout les types).
●
Rôle : aide au développement et à l'exploitation des BD
●
Caractéristiques :
– définition et programmation de BD
– contrôle et sécurité de BD
– optimisation des accès à la base
●
fourni : le(s) langage(s) nécessaire(s) (déclaratifs ou
procéduraux) à la manipulation des données (lecture &
écriture).
16
Introduction
SGBD (suite)
●
Gestion des couches physiques ET logiques
●
Certains SGBD intègrent des outils connexes:
– générateurs (de rapport, d'applications, d'interface, etc.)
– utilitaires (calcul de statistiques, ...)
– interface web
– outils de fouille de données
●
Un administrateur doit parfaitement connaître le
SGBD de sa base.
17
Historique
Bref historique
●
3 grandes phases :
– La préhistoire (1950-1970)
– La révolution (1970)
– L'ère post-révolutionnaire
18
Historique
Historique : la pré-préhistoire
●
basée sur les fichiers
●
Chaque application définit et gère ses propres
fichiers, reliés par des pointeurs
●
Positif : premières idées
●
Négatif :
– structure du stockage visible dans le code (struct en C)
– dépendance donnée/programme (portabilité nulle)
– redondance des données (taille, maintenance, ...)
– Pas de vrai SGBD
19
Historique
Historique : la révolution
●
Approche relationnelle
●
Premier SGBD relationnel en 1980
●
idée majeure : indépendance des données (séparation
application/implémentation)
●
Positif :
– simplicité des concepts de base
Plan de ce cours
●
Introduction
●
Modélisation des données
– principes
– différents niveaux
– modèle entité-relation
●
SGBD
– objectifs
– fonctionnalités
– architectures
24
Modélisation des données
25
Modélisation des données
29
Modélisation des données
Le niveau conceptuel
(chapitre 2)
●
Niveau le plus important, détaillé avant même la
réalisation de la base.
●
Il conditionne :
– la qualité de la base
– les développements au sein du SGBD
– la perception que les utilisateurs auront de la BD
●
il correspond à l'explication et la description sémantique
des concepts et des relations du domaine modélisé.
●
Indépendant d'un SGBD, il reflète une réalité cohérente
du domaine ET des acteurs du domaine.
30
Modélisation des données
Note : toutes les relations ne sont pas explicités. Par exemple, deux
acteurs peuvent être en relation parce qu'ils ont joué dans le même film.
32
Modélisation des données
Le niveau interne
(Cours de Master 1 Info)
●
Niveau le plus proche de l'implémentation
●
Concerne la façon dont les données sont stockées.
●
La définition du schéma interne est donc
fortement lié au choix du SGBD.
●
Contenu :
– les fichiers contenant les données
– les articles de ces fichiers (leur longueur, mode de
placement, etc.)
– le mode d'accès à ces articles (pointeur/index, etc.)
●
Dérive du schéma conceptuel. 33
Modélisation des données
Le niveau externe
(fin du cours, peut-être)
●
Le niveau externe spécifie des vues différentes
associée aux différents groupes d'utilisateurs.
●
Eloigné du niveau interne, dépendant du niveau
conceptuel.
●
On définit donc 1 ou plusieurs schémas externes.
Chaque schéma définit la manière dont un
utilisateur perçoit la base dans ses applications.
●
Il spécifie les droits d'accès.
34
Modélisation des données
Le niveau externe
Exemples de schémas externes possibles pour le
schéma conceptuel de filmographie
35
Modélisation des données
36
Modélisation des données
Le modèle entité-association
●
But : réaliser un schéma conceptuel
●
Permet : description visuelle des entités (=types
d'objets) et de liens entre elles (= relations)
●
Notion principale : agrégation (= la construction
d'un objet complexe/composé à l'aide d'objets
plus élémentaires).
●
monde = distinction entre agrégations de
données élémentaires (entités) et des liaisons
entre ces entités (=relations)
●
Entité = agrégation d'attributs (nommés et typés)
37
Modélisation des données
Indépendance physique
●
Si modification du schéma interne alors les
programmes d'applications ne sont pas modifiés.
●
Modifier les propriétés de stockage ne doit pas
modifier le schéma conceptuel.
●
Ex.: ajouter un index dans un fichier, fusionner
deux fichiers, changer le codage des données, ...
●
L'inverse n'est pas vrai.
40
SGBD
Indépendance logique
●
Le schéma conceptuel résulte d'une synthèse de la vision
d'un ensemble (de groupes) d'usagers : les entités et leurs
relations sont un consensus.
●
Or, un groupe d'usagers doit pouvoir modifier son schéma
externe sans modifier le schéma conceptuel.
●
Avantages :
– chaque groupe voit les données comme il veut
– un groupe peut faire évoluer sa visions sans en faire
pâtir les autres (pas toujours possible)
●
l'inverse (ajout d'attributs, d'entités, d'associations au
schéma conceptuel) doit aussi être (partiellement) possible.
41
SGBD
45
SGBD
Partage et sécurité
●
Les données sont accessibles simultanément par
plusieurs usagers, de manière transparente (cf SE)
●
Transaction : programme consultant ou modifiant une
base dont l'exécution est indivisible.
Ex.: réservation d'un billet de train
– 2 transactions concurrentes ne doivent pas être
emmêlées (cohérence, mais pas toujours
possible).
– Sécurité :
●
restauration à l'identique après une panne (une
transaction est soit pas exécutée, soit exécutée).
●
gestion des droits d'accès.
46
Fonctionnalités des SGBD
47
Fonctionnalités des SGBD
48
Fonctionnalités des SGBD
Interrogation de données
(dès le premier TP, chapitre 3)
●
fonctionnalité majeure
●
langage assertionnelle (dans SGBD) pour retrouver
des données par leur contenu, en fonction du schéma
conceptuel, à condition d'être disponibles dans le
schéma externe en question.
●
SQL se base sur la notion de qualification (= une
expression logique de critères simples, cf cours de
logique). Les données sont alors comparables (entre
elles, avec une valeur donnée, ...)
●
Une autre fonctionnalité : la navigation dans les
descriptions (parcours d'association)
49
Fonctionnalités des SGBD
50
Fonctionnalités des SGBD
51
Fonctionnalités des SGBD
52
Fonctionnalités des SGBD
Gestion de l'intégrité
●
Un SGBD maintient la cohérence de la base à
condition que les règles de cohérence soient
explicitées :
1 chaque instance d'entité est muni d'un identifiant
unique (contrainte de clé primaire)
2 Une relation associe deux entités (contrainte
référentielle)
3 les valeurs des attributs d'entités doivent appartenir à
un type donné (contrainte de domaine).
●
D'autres contraintes existent.
55
Architectures principales
Architectures principales
●
Pour atteindre ces objectifs, plusieurs existent.
●
Celle de l'ANSI-SPARC est une architecture
idéale.
●
Actuellement les SGBD ont presque tous une
architecture client/serveur (exception : SQLite)
56
Quelques repères bibliographiques
●
La “bible” francophone : Bases de données, Georges
Gardarin, éditions Eyrolles.
●
Le site web de l'auteur :
http://georges.gardarin.free.fr/Cours_Total/IndexTotal.html
●
Anglophone : “RDB: A Comprehensive Guide”, Ken
England, Lilian Hobbs, Ian Smith.
●
Plein de sites web “tutoriels”. Exemple :
https://youtu.be/jReDVnyCNdQ?list=PLB9AbbTDeBzT9J
N8-Ow669spvEN8DKAwp
57