Introduction à l’informatique

Slides:



Advertisements
Présentations similaires
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Advertisements

Access Frédéric Gava (MCF)
Bases de données : modèlisation et SGBD
Bases de Données XML Natives
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter.
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Story-board version 1.1 Statut : à valider Rédacteur : Nicole Djuissi
Le Modèle Relationnel (Chapitre 4)
Fonctionnalités des SGBD
Directeur de Thèse : Pr. Witold Litwin
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Amphi de rattrapage de SI Modélisation et bases de données
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Emploi d’un logiciel de présentation graphique : PowerPoint
Initiation au système d’information et aux bases de données
LMD: Langage de Manipulation de Données
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
Principes de persistance dans les applications orienté objet
Initiation aux bases de données et à la programmation événementielle
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
L’utilisation des bases de données
Modèle Logique de Données
Gestion des bases de données
Complément Le diagramme des classes
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
Chapitre 5 : Le langage SQL
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Comment stocke-t-on des données sur un site web ?
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
Sélection de colonnes (la projection)
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
SQL : Langage de Manipulation des données
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
Introduction aux Bases de Données et au langage SQL
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Introduction à l’informatique Chapitre 2: Donnés et base données

Données et stockage Algorithme Données 2 domaines fortement liés = 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 Données 2 domaines fortement liés = 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

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 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

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 !

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

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 Alban BERGUER Marina BILMONT Pauline BLANC … 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') Alban BERGUER Marina BILMONT Pauline BLANC …

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 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

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 Numero Prenom Nom … 1 Alban BERGUER 2 Marina BILMONT Numero NumeroEtudiant NumeroEnseign … 1 2 Numero Intitule Heures … 1 Math102 50 2 GEOS103 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é Numero Prenom Nom … 1 Alban BERGUER 2 Marina BILMONT

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é ?

Schémas de base de données Graphique synthétique des relations entre données Flèches / tables

Example plus réaliste ;-)

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

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 que le SQL ! Formulaires Gestion des contraintes Formulaire Web Facilité d’accès Affichage formaté

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. Numero Prenom Nom Nb Etu. 1 Fred Vernier 22 2 Sandrine Gouraud 24

Applications Sciences Vie quotidienne Autre disciplines Informatique 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)

FIN Algo SI BD Bio-Info RO Réseaux IG Archi IHM TAL IA GL Visu // Vision Sécurité Crypto parole Compil