Upload
berenice-masson
View
111
Download
3
Embed Size (px)
Citation preview
Université PARIS-SUD - Licence MPI - S1 1
Introduction à l’informatiqueIntroduction à l’informatique
Chapitre 2: Donnés et base données
Université PARIS-SUD - Licence MPI - S12
Données et stockage Données et stockage Algorithme
= puissance de l’ordinateur Problèmes : vitesse, exactitude, prévisibilité.
Données = 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
Université PARIS-SUD - Licence MPI - S13
Données et stockage Données et stockage Algorithme
= puissance de l’ordinateur Problèmes : vitesse, exactitude, prévisibilité.
Données = 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
Université PARIS-SUD - Licence MPI - S14
Cycle de vie d’un système de stockage des donnéesCycle de vie d’un système de stockage des données Conception - Modélisation
Analyse des données Solution sous forme de schémas
Langage de modélisation Mise en oeuvre
Base de données langage de « haut niveau »
Remplissage / Récupération Croiser les données
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
Université PARIS-SUD - Licence MPI - S15
DDééfis lifis liés au stockage des données és au stockage des données Hétérogénéité des données
Numériques, textuels, dates, multimédia, etc. Taille / Passage à l'échelle
Nombre de « trucs », complexité des « trucs » Partage entre utilisateurs
Rôles : Contributeur, vérificateurs, visionneur, etc. Accès simultanés
Lisibilité du schéma 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 !
Université PARIS-SUD - Licence MPI - S16
Base de donnBase de donnéées relationelles 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
Université PARIS-SUD - Licence MPI - S17
Tables de donnTables de donnéées “Enseignants”es “Enseignants”Num Nom Prenom Email StatutDerniere1 Vernier Frédéric [email protected] DEPINFO-LIMSI 2 Max Aurelien [email protected] DEPINFO-LIMSI 3 Bautier Jean [email protected] EXTERIEUR 4 Schlienger Francoise [email protected] IUT5 Vauchelle Alain [email protected] IUT6 Tixeuil Sebastien [email protected] DEPINFO-LRI 7 Allauzen Alexandre [email protected] DEPINFO-LIMSI8 Voisin Frederic [email protected] DEPINFO-LRI 9 Nel Laurent [email protected] UP11-AUTRE 10 Longavesne Jean-P [email protected] UP11-AUTRE 11 Lisser Abdel [email protected] DEPINFO-LRI 12 Rousseau Martine [email protected] IUT13 Astier Roger [email protected] IUT 14 Calisti Jean [email protected] IFIPS15 Simon Laurent [email protected] DEPINFO-LRI 16 Roussel Nicolas [email protected] DEPINFO-LRI 17 Alphonse Erick [email protected] DEPINFO-LRI 18 Journiac Brigitte [email protected] UP11-AUTRE19 Lenoir Jean-Pierre [email protected] IUT20 Barras Claude [email protected] DEPINFO-LIMSI21 Blanch Renaud [email protected] DEPINFO-LRI 22 Fournier Jean-Pierre [email protected] IUT23 Herault Thomas [email protected] DEPINFO-LRI… 518 Appert Caroline [email protected] DEPINFO-LRI 519 Benoit Stacey [email protected] EXTERIEUR 520 Panzer Claire [email protected] EXTERIEUR
NumeroNumero Texte courtTexte court Choix multiplesChoix multiples
ElementsElements
Université PARIS-SUD - Licence MPI - S18
Requêtes SQLRequêtes SQL Récupération des données :SELECT Prenom, NomFROM EtudiantsWHERE Niveau=“S1”
SELECT *FROM Enseignements WHERE Niveau=“S1” AND Filiere=“L-MPI”
InsertionINSERT INTO `Etudiants` ( `NumEtudiant`, `Prenom`, `Nom`, `Email`, `Filiere`, `Annee`, `Niveau`, `DateN`)VALUES (’856', 'Jean', 'Nemaclac', '[email protected]',
’MPI', '2006', ’S1', ’1988-11-29')
Alban BERGUER
Marina BILMONT
Pauline BLANC
… …
Université PARIS-SUD - Licence MPI - S19
Table des RTable des Réésultatssultats Totale (SELECT * FROM Etudiants) Partielle au niveau des lignes
SELECT * FROM Etudiants WHERE Niveau=“S1”
Partielle au niveau des colonnes SELECT Nom, Prenom FROM Etudiants
Doublement partielle SELECT Nom, Age FROM Etudiants WHERE Niveau=“S1”
Ordonnée SELECT * FROM `Etudiants` ORDER BY `Annee` DESC
Limitée dans le nombre d’élements SELECT * FROM `Etudiants` LIMIT 0 , 30
Université PARIS-SUD - Licence MPI - S110
OpOpérations de Sélection (clause WHERE)érations de Sélection (clause WHERE)
SELECT * FROM Etudiants WHERE (DateN > 1988-01-01
AND % et logique Prenom LIKE “Chris%”) % ressemble à
OR % ou logique (AGE=19
AND % et logique Filiere NOT LIKE “%-MPI”)
Composition identique à l’algorithmique mais les opérateurs diffèrent
Université PARIS-SUD - Licence MPI - S111
Jointure / CroisementJointure / CroisementUne 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
Num
ero
Prenom
Nom …
1 Alban BERGUER …2 Marina BILMONT …
Num
ero
Num
eroEtudiant
Num
eroEnseign …
1 1 1 …2 2 1 …
EtudiantsEtudiants
Num
ero
Intitule
Heures
…
1 Math102 50 …2 GEOS103 50 …
OptionsOptions EnseignementsEnseignements
Université PARIS-SUD - Licence MPI - S112
Jointure + SelectionJointure + 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”
Université PARIS-SUD - Licence MPI - S113
Numérotation / CléNumérotation / Clé Numérotation automatique
Garantie que 2 étudiants ne peuvent pas avoir le même numéro.
Autre raisons de ne pas avoir des doublons Etudiants avec le même nom => problèmes
Utiliser un numéro unique existant (No SS) 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é
Num
ero
Prenom
Nom …
1 Alban BERGUER …2 Marina BILMONT …
Université PARIS-SUD - Licence MPI - S114
Problèmes concrets 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’y
inscrire les nouveaux arrivants ? Et le groupe de TD avec le plus de redoublants pour y
mettre l’enseignant le plus expérimenté ?
Université PARIS-SUD - Licence MPI - S115
SchSchéémas de base de donnmas de base de donnéesées
Graphique synthétique des relations entre données Flèches / tables
Université PARIS-SUD - Licence MPI - S116
Example plus rExample plus rééaliste ;-)aliste ;-)
Université PARIS-SUD - Licence MPI - S117
La bonne recetteLa 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
Université PARIS-SUD - Licence MPI - S118
UtilitairesUtilitaires SQL ne gère pas que la recherche et le
remplissage de la BD. Rajouter / enlever des tables Supprimer des élémentsDELETE FROM `Enseignants` WHERE `NumEns` =1
Modifier une valeurUPDATE `Enseignants` SET `Statut` = “BonProf”
WHERE `NumEns` =1
Modifier les droits d'accès Créer / détruire / modifier des utilisateurs / groupes etc.
Université PARIS-SUD - Licence MPI - S119
InterfacesInterfaces Interfaces graphique pour éditer / remplir /
détruire … mais pour les requêtes, on a rien fait de plus
puissant que le SQL ! Formulaires
Gestion descontraintes
Formulaire Web Facilité d’accès Affichage formaté
Université PARIS-SUD - Licence MPI - S120
Et puis …Et puis … Fonctions d'agrégations Performances, Optimisation Multimédia (images, sons, ...) 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.
Num
ero
Prenom
Nom
Nb E
tu.
1 Fred Vernier 222 Sandrine Gouraud 24
Université PARIS-SUD - Licence MPI - S121
ApplicationsApplications Sciences
BD génomiques, composes chimiques, articles, étoiles, etc.. Vie quotidienne
BD d’associations de joueurs de mandolines électriques BD des ouvrages d’une bibliothèque / CD-thèque (ITMS) BD de pages Web qui s’appelle Google (savoir faire des
requêtes compliquées) Autre disciplines
Gestion / Economie = pensez à la MiAGE DRH/ Gestion du personnel Médecine / Police (scientifique)
Informatique DBA (administrateur de BD) Systèmes d’information (DSI)
Université PARIS-SUD - Licence MPI - S122
RORO
FINFIN
IHMIHMBio-InfoBio-Info
CompilCompil
RRéseauxseauxIAIA
SISI
////
ArchiArchiTALTAL
CryptoCrypto
BDBD AlgoAlgo
VisionVisionparoleparole
VisuVisu GLGL
IGIG
SécuritéSécurité