Introduction à l`informatique - Frederic Vernier Home Page

publicité
Introduction à l’informatique
Chapitre 2: Donnés et base données
Université PARIS-SUD - Licence MPI - S1
1
Données et stockage

Algorithme



Données



= puissance de l’ordinateur
Problèmes : vitesse, exactitude, prévisibilité.
= richesse de l’ordinateur
Problèmes : masse des données, structuration,
sauvegarde
2 domaines fortement liés


Algorithme de visualisation de masses de
données
Systèmes de sauvegarde et de gestion de version
des programmes
2
Université PARIS-SUD - Licence MPI - S1
Données et stockage

Algorithme



Données



= puissance de l’ordinateur
Problèmes : vitesse, exactitude, prévisibilité.
= richesse de l’ordinateur
Problèmes : masse des données, structuration,
sauvegarde
2 domaines fortement liés



Algorithme de visualisation de masses de données
Systèmes de sauvegarde et de gestion de version des
programmes
Logique booléenne identique
3
Université PARIS-SUD - Licence MPI - S1
Cycle de vie d’un système de stockage des données

Conception - Modélisation


Analyse des données
Solution sous forme de schémas


Mise en oeuvre

Base de données


langage de « haut niveau »
Remplissage / Récupération

Croiser les données



Langage de modélisation
La voiture 206 diesel est immatriculée en 75
Le département 75 a des frais de carte grise de 135 euros
Maintenance



Mise à jour des données
Sauvegarde
Evolution du schéma => traduction des données
4
Université PARIS-SUD - Licence MPI - S1
Défis liés au stockage des données

Hétérogénéité des données


Taille / Passage à l'échelle



Rôles : Contributeur, vérificateurs, visionneur, etc.
Accès simultanés
Lisibilité du schéma


Nombre de « trucs », complexité des « trucs »
Partage entre utilisateurs


Numériques, textuels, dates, multimédia, etc.
Comme en algo.
Performances



Accès aux très grandes tables
Croisements complexes
Comptage des réponses

Google vous donne 10 réponses en quelques millisecondes … mais
aussi le nombre de réponses … même quand il y en a des millions !
5
Université PARIS-SUD - Licence MPI - S1
Base de données relationelles

Modèle relationnel inventé par E. Codd en1970

Directeur de recherche du centre IBM de San José











IBM Sequel (Structured English Query Language) en 1977
IBM Sequel/2
IBM System/R
IBM DB2
SQL/86
SQL/89
SQL/92 ou SQL 2.0
Données tabulaires
Norme / Standard = SQL (Structured Query Language)
Typage des données
Protection des données

notions de propriétaires, de groupes et de droits d'accès
6
Université PARIS-SUD - Licence MPI - S1
Tables de données “Enseignants”
Num Nom Prenom
1
Vernier Frédéric
2
Max
Aurelien
3
Bautier Jean
4
Schlienger Francoise
5
Vauchelle Alain
6
Tixeuil Sebastien
7
Allauzen Alexandre
8
Voisin Frederic
9
Nel
Laurent
10 Longavesne Jean-P
11 Lisser Abdel
12 Rousseau Martine
13 Astier Roger
14 Calisti Jean
15 Simon Laurent
16 Roussel Nicolas
17 Alphonse Erick
18 Journiac Brigitte
19 Lenoir Jean-Pierre
20 Barras Claude
21 Blanch Renaud
22 Fournier
23 Herault Thomas
…
518 Appert Caroline
519 Benoit Stacey
520 Panzer Claire
Numero
Email
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Jean-Pierre [email protected]
[email protected]
StatutDerniere
DEPINFO-LIMSI
DEPINFO-LIMSI
EXTERIEUR
IUT
IUT
DEPINFO-LRI
DEPINFO-LIMSI
DEPINFO-LRI
UP11-AUTRE
UP11-AUTRE
DEPINFO-LRI
IUT
IUT
IFIPS
DEPINFO-LRI
DEPINFO-LRI
DEPINFO-LRI
UP11-AUTRE
IUT
DEPINFO-LIMSI
DEPINFO-LRI
IUT
DEPINFO-LRI
[email protected]
[email protected]
[email protected]
DEPINFO-LRI
EXTERIEUR
EXTERIEUR
Texte court
Université PARIS-SUD - Licence MPI - S1
Choix multiples
Elements
7
Requêtes SQL
Récupération des données :
SELECT Prenom, Nom
FROM Etudiants
WHERE Niveau=“S1”

Alban
BERGUER
Marina
BILMONT
Pauline
BLANC
…
…
SELECT *
FROM Enseignements
WHERE Niveau=“S1” AND Filiere=“L-MPI”
Insertion
INSERT INTO `Etudiants` ( `NumEtudiant`, `Prenom`, `Nom`,
`Email`, `Filiere`, `Annee`, `Niveau`, `DateN`)
VALUES (’856', 'Jean', 'Nemaclac', '[email protected]',
’MPI', '2006', ’S1', ’1988-11-29')

8
Université PARIS-SUD - Licence MPI - S1
Table des Résultats


Totale (SELECT * FROM Etudiants)
Partielle au niveau des lignes


Partielle au niveau des colonnes


SELECT Nom, Age FROM Etudiants WHERE Niveau=“S1”
Ordonnée


SELECT Nom, Prenom FROM Etudiants
Doublement partielle


SELECT * FROM Etudiants WHERE Niveau=“S1”
SELECT * FROM `Etudiants` ORDER BY `Annee` DESC
Limitée dans le nombre d’élements

SELECT * FROM `Etudiants` LIMIT 0 , 30
9
Université PARIS-SUD - Licence MPI - S1
Opérations de Sélection (clause WHERE)
SELECT * FROM Etudiants WHERE
 (DateN > 1988-01-01
% et logique
 Prenom LIKE “Chris%”) % ressemble à
 OR
% ou logique


(AGE=19


AND
AND
% et logique
Filiere NOT LIKE “%-MPI”)
Composition identique à l’algorithmique mais les
opérateurs diffèrent
10
Université PARIS-SUD - Licence MPI - S1
Jointure / Croisement
Une note par étudiants et par enseignement … mais tous
les étudiants ne suivent pas tous les enseignements !
SELECT *FROM Etudiants, Enseignements
WHERE Etudiants.Filiere= Options.Filiere
SELECT * FROM Etudiants, Enseignements, Options
WHERE Etudiants.Numero= Options.NumeroEtudiants
AND Enseignements.Numero = Options.NumEnseign
Université PARIS-SUD - Licence MPI - S1
1
2
1
2
1
Options
Math102
GEOS103
…
Heures
Etudiants
…
…
1
Intitule
1
2
Numero
Marina BILMONT
…
…
…
Numero
Enseign
Alban BERGUER
Numero
Etudiant
Numero
…
Nom
Prenom
Numero
1
2
…
50 …
50
Enseignements 11
Jointure + Selection



Jointure = Super
Selection = Super
Jointure + Selection = Genial !
(un peu comme les boucles et les conditions)
SELECT * FROM Etudiants, Enseignants, Groupes
WHERE Etudiants.Numero= Groupes.NumeroEtudiants
AND Enseignants.Numero = Groupes.NumEnseignant
AND Etudiants.NiveauScience=“Faible”
AND Enseignants.TypeNotation=“Sévère”

12
Université PARIS-SUD - Licence MPI - S1
Numérotation / Clé



Etudiants avec le même nom => problèmes
Utiliser un numéro unique existant (No SS)


…
Nom

Prenom
Numero
Numérotation automatique
Garantie que 2 étudiants ne
peuvent
pas
avoir
le
même
1 Alban BERGUER …
2 Marina BILMONT … numéro.
Autre raisons de ne pas avoir des doublons
Quelle garantie que je n’inscris pas 2 fois la même
personne ?
Les tables peuvent définir des clés qui
garantissent l’unicité
13
Université PARIS-SUD - Licence MPI - S1
Problèmes concrets







Et si un prof assure d’autres cours avec d’autres
groupes ayant le même numéro (groupes B1 des
Licence BIBS) ?
Et si un prof intervient 2 fois dans la même filière ?
Et si les étudiants font d’autres groupes pour les options
ou pour les langues ?
Et si un prof de Cours TD enseigne aussi en option ?
Comment se rappeler d’ou viennent les redoublants ?
Comment trouver le plus petit groupe de TD afin
d’inscrire les nouveaux arrivants ?
Et le groupe de TD avec le plus de redoublants ?
14
Université PARIS-SUD - Licence MPI - S1
Schémas de base de données

Graphique synthétique des relations entre données

Flèches / tables
Université PARIS-SUD - Licence MPI - S1
15
Example plus réaliste ;-)
16
Université PARIS-SUD - Licence MPI - S1
La bonne recette







Jointures multiples
Selections aux petits oignons
Tables nombreuses et bien organisées
Aucune données redondantes ou inutile
Un schéma bidon pour
le patron / le chef
Un vrai schéma de pro
pour le vrai boulot
(voir avant)
PS : logo/icone d’une BD
= cylindre
17
Université PARIS-SUD - Licence MPI - S1
Utilitaires

SQL ne gère pas que la recherche et le
remplissage de la BD.


Rajouter / enlever des tables
Supprimer des éléments
DELETE FROM `Enseignants` WHERE `NumEns` =1

Modifier une valeur
UPDATE `Enseignants` SET `Statut` = “BonProf”
WHERE `NumEns` =1



Modifier les droits d'accès
Créer / détruire / modifier des utilisateurs / groupes
etc.
18
Université PARIS-SUD - Licence MPI - S1
Interfaces

Interfaces graphique pour éditer / remplir /
détruire


Formulaires


… mais pour les requêtes, on a rien fait de plus
puissant que le SQL !
Gestion des
contraintes
Formulaire Web


Facilité d’accès
Affichage formaté
19
Université PARIS-SUD - Licence MPI - S1
Et puis …







Nb Etu.
Nom

Prenom

Fonctions d'agrégations
Performances, Optimisation
Vernier
1 Fred
22
Multimédia (images, sons, ...) 2 Sandrine Gouraud 24
Sécurité (chiffrements, droits)
Transactions (plusieurs utilisateurs/banque + €)
Clé multiples
Manipulation d’une BD depuis un programme
Sauvegarde d’une table
BD géographiques SELECT * FROM Villes WHERE dist<100km
Réseaux, accès à distances, fragmentation. etc.
Numero

20
Université PARIS-SUD - Licence MPI - S1
Applications

Sciences


Vie quotidienne




BD d’associations de joueurs de mandolines électriques
BD des ouvrages d’une bibliothèque / CD-thèque
BD de pages Web qui s’appelle Google (savoir faire des
requêtes compliquées)
Autre disciplines




BD génomiques, composes chimiques, articles, étoiles, etc..
Gestion / Economie = pensez a la MiAGE
DRH/ Gestion du personnel
Médecine
Informatique


DBA (administrateur de BD)
Systèmes d’information (DSI)
Université PARIS-SUD - Licence MPI - S1
21
FIN
Algo
SI
BD
Bio-Info
RO
IG
Réseaux
Archi
IHM
TAL
IA
Sécurité
GL
Visu
Vision //
parole Compil Crypto
22
Université PARIS-SUD - Licence MPI - S1
Téléchargement