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 1 Math102 2 GEOS103 Options … … … Heures Université PARIS-SUD - Licence MPI - S1 1 1 Intitule Etudiants Numero 1 2 … Numero Etudiant 1 2 Numero Enseign Numero … Nom Prenom Numero 1 Alban BERGUER … 2 Marina BILMONT … 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
© Copyright 2024 ExpyDoc