220 likes | 345 Views
Introduction à l’informatique. Chapitre 2: Donnés et base données. 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
E N D
Introduction à l’informatique Chapitre 2: Donnés et base données
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
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
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 • 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 immatricule 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
Défis lié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 !
Bade 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
Tables de données “Enseignants” Num Nom Prenom Email StatutDerniere Vernier Frédéric frederic.vernier@limsi.fr DEPINFO-LIMSI Max Aurelien aurelien.max@limsi.fr DEPINFO-LIMSI 3 Bautier Jean jean.bautier@laposte.net EXTERIEUR 4 Schlienger Francoise schlieng@fiifo.u-psud.fr IUT 5 Vauchelle Alain avauchel@fiifo.u-psud.fr IUT 6 Tixeuil Sebastien tixeuil@fiifo.u-psud.fr DEPINFO-LRI 7 Allauzen Alexandre allauzen@limsi.fr DEPINFO-LIMSI 8 Voisin Frederic voisin@fiifo.u-psud.fr DEPINFO-LRI 9 Nel Laurent laurent.nel@leuville.com UP11-AUTRE Longavesne Jean-P Grip@cnam.fr UP11-AUTRE Lisser Abdel lisser@fiifo.u-psud.fr DEPINFO-LRI Rousseau Martine rousseau@fiifo.u-psud.fr IUT 13 Astier Roger astier@iut-orsay.fr IUT 14 Calisti Jean jean.calisti@ifips.u-psud.fr IFIPS 15 Simon Laurent simon@lri.fr DEPINFO-LRI 16 Roussel Nicolas roussel@lri.fr DEPINFO-LRI 17 Alphonse Erick alphonse@lri.fr DEPINFO-LRI 18 Journiac Brigitte journiac@fiifo.u-psud.fr UP11-AUTRE 19 Lenoir Jean-Pierre lenoir@fiifo.u-psud.fr IUT 20 Barras Claude barras@fiifo.u-psud.fr DEPINFO-LIMSI 21 Blanch Renaud blanch@lri.fr DEPINFO-LRI 22 Fournier Jean-Pierre jpf@fiifo.u-psud.fr IUT 23 Herault Thomas Thomas.Herault@lri.fr DEPINFO-LRI … 518 Appert Caroline Caroline.Appert@lri.fr DEPINFO-LRI 519 Benoit Stacey stacey.benoit@supelec.fr EXTERIEUR 520 Panzer Claire clairepanzer92@free.fr EXTERIEUR Elements Numero Texte court Choix multiples
Requêtes SQL • Récupération des données : SELECT Prenom, Nom FROM Etudiants WHERE Niveau=“S1” 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', 'jean.nemaclac@laposte.net', ’MPI', '2006', ’S1', ’1988-11-29')
Table des Résultats • 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
Opérations de Selection (clause WHERE) SELECT * FROM Etudiants WHERE • (DateN > 1988-01-01 • AND % et logique • Prenom LIKE “Chris%”) % ressemble à • OR % ou logique • (AGE=19 • AND • Filiere NOT LIKE “%-MPI”) Composition identique delà l’algorithmique mais les opérateurs diffèrent
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= Enseignements.Filiere SELECT * FROM Etudiants, Enseignements, Options WHERE Etudiants.Numero= Options.NumeroEtudiants AND Enseignements.Numero = Options.NumEnseign Etudiants Options Enseignements
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”
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é
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 ?
Schémas de base de données • Graphique synthétique des relations entre données • Flèches / tables
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 pourle patron / le chef • Un vrai schéma de propour le vrai boulot (voir avant) • PS : logo/icone d’une BD = cylindre
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.
Interfaces • Interfaces graphique pour éditer / remplir / détruire • … mais pour les requêtes, on a rien fait de plus puissant due le SQL ! • Formulaires • Gestion descontraintes • Formulaire Web • Facilité d’accès • Affichage formatté
Et puis … • Fonctions d’aggrégations • Performances, Optimisation • Multimedia (images, sons, ...) • Sécurité (chiffrements, droits) • Transactions (plusieurs utilisateurs/banque + €) • Clé multiples • Manipulation d’une BD depuis un programme • Sauvegarde d’une table • BD geographiques SELECT * FROM Villes WHERE dist<100km • Réseaux, accès a distances, fragmentation. etc.
Applications • 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 • BD de pages Web qui s’appelle Google (savoir faire des requêtes compliquées) • Autre disciplines • Gestion / Economie = pensez a la MiAGE • DRH/ Gestion du personnel • Médecine • Informatique • DBA (administrateur de BD) • Systèmes d’information (DSI)
FIN BD Algo SI Bio-Info RO IG Réseaux Archi IHM TAL IA GL Visu // Vision Crypto parole Compil