Introduction aux Bases de données - BD4 2015

publicité
Introduction aux Bases de données
BD4 2015-16 L3 MIASHS M1 ISIFAR
FC et SB
19 January 2016
FC et SB
Introduction aux Bases de données
19 January 2016
1 / 15
Introduction
Introduction
FC et SB
Introduction aux Bases de données
19 January 2016
2 / 15
Introduction
Systèmes d’information (SI) et Bases de Données (BD, SGBD,
SGBDR)
Les entreprises et les administrations ont toujours cultivé une mémoire sous forme
de fichiers plus ou moins mécanisés et formattés.
Ces collections de fichiers mécanisées répondaient à des exigences de fiabilité,
de convenance (facilité de la recherche, de la maintenance).
Au coeur des systèmes d’information
on trouve les bases de données
FC et SB
Introduction aux Bases de données
19 January 2016
3 / 15
Introduction
Des propriétés désirables (ACID)
Atomicité, chaque ajout/modification d’information doit former un tout
cohérent
Cohérence, le contenu de la base de données doit rester conforme à des
contraintes qui ont été définies lors de la conception de la base
Isolation, la bases de données doit pouvoir être utilisée concuremment par
plusieurs usagers
Durabilité, la vie d’une base de données s’étale sur plusieurs dizaines
d’années
FC et SB
Introduction aux Bases de données
19 January 2016
4 / 15
Introduction
Bases de données
Pourquoi ?
Les bases de données ne sont pas un langage (comme JAVA) ou un
environment de calcul (comme R). Ce sont des logiciels intermédiaires
(middleware) qui assurent une fonction complémentaire
Bases de données relationnelles}
forment un sous-ensemble important (prépondérant) des systèmes de gestion
des bases de données
FC et SB
Introduction aux Bases de données
19 January 2016
5 / 15
Introduction
Collection de data frames
Caricaturalement
Une base de données est une collection de tables dont la forme
ressemble à celle d'un `data frame` de R
Data frame (R)
Un data frame est une liste de vecteurs
Les vecteurs sont tous de même longueur
Les données d’un vecteur sont d’un même type Mais chaque vecteur a son type
Chaque élément de la liste (chaque vecteur) possède un nom
Autres environments (Excel, JAVA, . . . )
Les spreadsheet des tableurs, les tableaux d’objets en JAVA permettent de
représenter ce que les data frame représentent en R
R/Tableurs
offrent un environnement interactif de manipulation de données et un
environnement de définition de données
FC et SB
Introduction aux Bases de données
19 January 2016
6 / 15
Introduction
Les SGBD vont au delà
Ils offrent
Persistance
Les tableurs, R n’offrent pas de persistance : entre deux sessions les données sont
confiées au système de fichiers de l’ordinateur
Intégrité
Les données confiées au système de fichiers peuvent être altérées par d’autre
logiciel
Concurrence
Les data frame ou équivalents ne peuvent pas être manipulés (consultés, mis à
jour) de manière concurrente par plusieurs (ou du moins par une grande
quantité d’) utilisateurs.
FC et SB
Introduction aux Bases de données
19 January 2016
7 / 15
Introduction
Usages
Derrière les sites web dynamiques
il y a en général une base de données.
Logiciels personnels
Derrière certaines applications (gestion de photos, de carnet d’adresses, . . . ), on
trouve des bases de données légères (SQLITE)
Partout
L’usage (transparent) des bases de données est universel :
1
2
3
4
5
smartphones, tablettes, . . .
web, réseaux sociaux
administrations (APOGEE. . . )
entreprises (Stocks Supply Chain, Customer Relationship Management, . . . )
NSA
FC et SB
Introduction aux Bases de données
19 January 2016
8 / 15
Introduction
L’idée clé (Codd, 1970)
Organiser les informations en tables ou relations
Développer et formaliser un langage de manipulation de tables : l’algèbre
relationnelle (SQL)
Ne pas se noyer dans les détails de l’implémentation physique
Laisser l’usager déclarer
l’organisation des données
les requêtes
FC et SB
Introduction aux Bases de données
19 January 2016
9 / 15
Introduction
Quelques acteurs
Les serveurs
ORACLE (commercial)
DB2 (IBM commercial)
SQLSERVER (Microsoft commercial)
MySQL (open source)
PostGres (open source)
Les clients
psql
pgcli
valentina-studio
FC et SB
Introduction aux Bases de données
19 January 2016
10 / 15
Introduction
PostGres (PostgreSQL)
Un serveur : etu-pgsql
Un catalogue : bd_2016
Des schemas : world, sakila, velib, atp, ...
FC et SB
Introduction aux Bases de données
19 January 2016
11 / 15
Introduction
Un exemple de schéma velib
Un schema
Des schémas de table
Récupération chaque minute de l’état des 1200 stations velib
Insertion d’une ligne d’informations dans une table station_etat
La table stations contient les informations stables concernant les stations
La table station_etat contient les informations historiques ou faits
FC et SB
Introduction aux Bases de données
19 January 2016
12 / 15
Introduction
Détails du schema velib
Un schéma de table : la donnée des noms des colonnes et des types des
colonnes
FC et SB
Introduction aux Bases de données
19 January 2016
13 / 15
Introduction
Objectifs
1
2
3
4
5
6
7
Compétences d’un usager de BD relationnelles
Exprimer des requêtes en algèbre relationnelle et en SQL
SQL Définition, manipulation et contrôle des données
Concevoir un Modèle Conceptuel de Données (MCD)
Déterminer les dépendances fonctionnelles et normaliser une relation
Spécifier des contraintes
Créer/utiliser les vues et les index
FC et SB
Introduction aux Bases de données
19 January 2016
14 / 15
Introduction
Plan du cours
1
2
3
4
5
6
7
8
Algèbre et calcul relationnels
SQL (algèbre relationnelle strictes)
SQL sous-requêtes
SQL aggrégation
SQL requêtes paramétrées
Définition de données/Conception
PlPgSQL
Normalisation
FC et SB
Introduction aux Bases de données
19 January 2016
15 / 15
Téléchargement