Cours Introductif
Transcription
Cours Introductif
Jérôme FESSY IUT de Paris 5 Base de Données BD Cours Introductif BD Base de Données Jérôme FESSY IUT de Paris 5 Quelques chiffres BD Évolution annuelle moyenne 2004/2000 15% +20% 12% BD L3G 5% 0.5% IA 2000 2004 Jérôme FESSY IUT de Paris 5 SGBD mono poste : Part de marché BD 5% 5% 10% Paradox Access 15% 65% Autres dBase SGBD Approach Jérôme FESSY IUT de Paris 5 SGBD C/S : Parts de marché BD Toutes Plates-formes Plates-formes UNIX 36% Oracle 60% 10% Microsoft 4% 9% 6% Oracle Sybase 4% Autres NCR 5% Informix 5% 13% Informix 35% 13% IBM IBM Source IDC 2003 Sybase Autres Jérôme FESSY IUT de Paris 5 Qu’allons-nous faire ? BD L4G (VB, Delphi, Windev, ..) Developpeur L3G (C, C++, Cobol, Java, ..) Developpeur WEB (Perl, ASP, PHP, ..) Développeur Administrateur (Scripts SQL) Utilisateur Décisionnel (B.O, Brio, ..) Base de Données Serveur de données Jérôme FESSY IUT de Paris 5 Planning du Module BD Administration d ’une base de données Création des structures d ’une BD Programmation Client/serveur : objets serveur Programmation Client/serveur : côté client Application à ORACLE Techniques des SGBD : accès concurrents et veille technologique Jérôme FESSY IUT de Paris 5 SGBD : Rappel BD Bases de Données : ensemble cohérent de données SGBD : Système pour gérer les bases de données en assurant leur cohérence Fonctions Internes Bases de données Interfaces Utilisateurs SGBD Jérôme FESSY IUT de Paris 5 SGBD : Objectifs BD Indépendance Physique Indépendance Logique Manipulation des données par des non-informaticiens Efficacité des accès aux données Administration cohérente des données Partageabilité des données sécurité des données Jérôme FESSY IUT de Paris 5 SGBD : Architecture BD ARCHITECTURE D'UN SGBD Terminaux P.A Langage externe droits d'accès I n t é g r i t é concurrence MS SGF V u e s résistance aux pannes optimisation SGBD Interne SGBD Externe FONCTIONS D'UN SGBD : • Rangement • Recherche des données • Assemblage • Conversion Jérôme FESSY SQL : Un Langage standardisé BD SGBD administration d'une base SQL interrogation de données Gestion de données IUT de Paris 5 Jérôme FESSY IUT de Paris 5 SGBD : Historique BD Années 70 : Modèle hiérarchique et réseau LDD/LMD : CODASYL / COBOL Années 80 : Modèle relationnel LDD/LMD: SQL Années 90 : vers un Modèle objet LDD/LMD : SQL3 / OQL ??? ORACLE 7 ACCESS SYSBASE, ... ORACLE 8 INFORMIX O2, ... Jérôme FESSY IUT de Paris 5 L’ORACLE BD Une année fructueuse et pleine de réussite Mon module BD ? A méditer : « Il n’est pas de vent favorable à celui qui ne sait pas où il va » Sénèque ORACLE Présentation du produit 10g Jérôme FESSY IUT de Paris 5 L ’ENTREPRISE ORACLE BD ORACLE CORP. Fondée en 1977 par L. ELLISON en Californie Basé à RedWood Shores Implantation dans 145 pays Plus de 50 000 clients dans le monde 10, 9 Milliard de CA en 2001 43 000 employés dans le monde 2ème éditeur indépendant de logiciels HTTP : // www.oracle.com ORACLE France Créée en 1986 Plus de 18000 clients HTTP : // www.oracle.fr Jérôme FESSY IUT de Paris 5 L'offre ORACLE BD Oracle Products and Services Value-Added Services Applications Tools Database Operating System Hardware ® Jérôme FESSY IUT de Paris 5 ORACLE : l'offre base de données BD Le noyau : moteur relationnel (distribution et réplication) interface SQL et langage de programmation SQL SERVEUR Les outils d'administration Noyau : Oracle Entreprise Manager SQL*LOADER • Outil interactif d‘accès au serveur Oracle : SQL*Plus et ISQL*Plus CLIENT Jérôme FESSY IUT de Paris 5 L’outil SQL*PLUS BD 1. Outil interactif en mode caractère d’accès à une base Oracle qui permet : d’exécuter des ordres SQL et programmes PLSQL d’exécuter des fichiers script d’afficher des résultats de requêtes SQL*PLUS SQL*PLUS de formater l’affichage des résultats Requête ; SQL> create table … Réponse Serveur ORACLE Client ORACLE 2. Exécutable permettant d’exécuter des scripts SQL Jérôme FESSY IUT de Paris 5 Lancement de scripts SQL BD 1°) Lancement d'un script automatiquement en lançant SQL*Plus : sqlplus [ user [ /password ] [ @nom_service ] ] @fichier_script [ argument ] … Nom du programme exécutable Nom et mot de passe utilisateur Chaîne de connexion au serveur Oracle 2°) Lancement de scripts dans une session SQL*Plus ouverte • START fichier_script [ argument ] • @ fichier_script [ argument ] … • @@ fichier_script [ argument ] … Fichier de commandes SQL Jérôme FESSY BD IUT de Paris 5 Les versions d’Oracle 8i INTERNET 9i INTERNET 10g Grill Jérôme FESSY IUT de Paris 5 Le serveur d ’Application d ’Oracle (AS) BD Une base taillée pour le WEB Developer Suite Oracle Portal Serveur HTTP (Apache) Développement XML Java Internet Serveur d ’applications Utilisateur mobile Administration Internet Utilisateur PC Oracle Mobile OEM Services Serveur WAP Oracle AS Serveur de données Jérôme FESSY IUT de Paris 5 Les serveurs ORACLE BD Oracle Entreprise Edition Oracle Standard Edition Oracle Personal Edition Options possibles : •Real Application Clusters •Partitioning •Olap •Data Mining •Spatial •Advanced Security •Label Security ANNEXE 10g Synthèse des commandes utiles du dictionnaire L’outils SQL*PLUS Jérôme FESSY IUT de Paris 5 SYNTHÈSE : COMMANDES UTILES BD Commandes utiles d’interrogation du dictionnaire ORACLE Tables et vues d ’un compte : SELECT * FROM TAB; Schéma d ’une table : DESC nom_de_la_table; Clés primaires d ’une table : SELECT u.table_name, us.column_name FROM user_constraints u, user_cons_columns us WHERE u.constraint_name=us.constraint_name AND u.constraint_type=‘ P ’; Clés étrangères d ’une table : SELECT u.table_name, us.column_name FROM user_constraints u, user_cons_columns us WHERE u.constraint_name=us.constraint_name AND u.constraint_type=‘ R ’; Sequences d ’un compte : SELECT * FROM USER_SEQUENCES Jérôme FESSY BD IUT de Paris 5 Outil SQL*PLUS Saisie Tampon Exécution Résultat Affichage SQL*Plus Serveur Oracle Jérôme FESSY IUT de Paris 5 Configuration de SQL*PLUS : la commande SET BD SET SQLPROMPT { SQL> | texte } SET SQLNUMBER { ON | OFF } SET SQLCONTINUE { > | texte } SET SQLBLANKLINES { ON | OFF } SET SQLTERMINATOR { ; | c | ON | OFF } SET LINESIZE n SET PAGESIZE n SET PAUSE { ON | OFF } SET HEADING { ON | OFF } SET FEEDBACK { ON | OFF } SET VERIFY { ON | OFF } SET ESCAPE { \ | c | ON | OFF } Jérôme FESSY IUT de Paris 5 SQPL*PLUS : Manipulation du tampon BD Lister le contenu du tampon : LIST [ m [ n ] ] La ligne courante est marquée par un '*' devant Exécuter le tampon : / Lister le contenu du tampon et l'exécuter : RUN Édition du tampon Par des commandes internes en ligne ⌧ Ajouter des lignes après la ligne courante : INPUT ⌧ Ajouter du texte à la fin de la ligne courante : APPEND ⌧ Charger un fichier dans le tampon : GET ⌧ Sauvegarder le tampon dans un fichier : SAVE ⌧ Suppression de lignes dans le tampon : DEL [ m [ n ] ] ⌧ Modification de la ligne courante : CHANGE Par un éditeur de texte ⌧ Désigner l'éditeur à utiliser : DEFINE _EDITOR = exécutable_éditeur ⌧ Évoquer l'éditeur pour éditer le tampon : EDIT Jérôme FESSY IUT de Paris 5 Redirection du résultat vers un fichier BD Structure du script à utiliser Interprétation des commandes SET HEADING OFF Supprimer les en-têtes des colonnes SET FEEDBACK OFF Supprimer les infos après le résultat SET VERIFY OFF Supprimer l'affichage des substitutions effectuées SET TRIMSPOOL ON Supprimer les blancs à la fin des lignes SET ECHO OFF Supprimer l'affichage des commandes SET TERMOUT OFF Supprimer la sortie à l'écran SPOOL nom_fichier Spécifier le fichier destination Commandes SQL Exécuter les commandes SQL SPOOL OFF Arrêter l'envoi vers le fichier SET HEADING ON Reprendre l'affichage des en-têtes de colonnes SET FEEDBACK ON Reprendre l'affichage des infos après le résultat SET VERIFY ON Reprendre l'affichage des substitutions effectuées SET TRIMSPOOL OFF Effet uniquement sur les fichiers spoolés SET ECHO ON Effet uniquement sur les scripts SET TERMOUT ON Effet uniquement sur les scripts Jérôme FESSY Divers BD DESCRIBE nom_objet HELP [ commande ] HOST [ Commande système ] CONNECT user/password[@nom_service ] PASSWORD DISCONNECT EXIT PROMPT text SHOW { ALL | USER | SQLCODE | SPOOL } STORE SET nom_fichier REM[ARK] commentaire IUT de Paris 5 ORACLE SQL*Loader 10g Jérôme FESSY IUT de Paris 5 L’outil de chargement BD Instructions ----------------------------------------------------------------------- File.dat File.ctl SQL*Loader Données non sélectionnées File.dsc Données sélectionnées BD Données erronées Journal File.bad File.log Jérôme FESSY IUT de Paris 5 Exemple d’utilisation de SQL*Loader BD Fichier de données « passager.dat » : Fichier de contrôle « passager.tcl » : 600, "Duranto" 700, "Dupoint" 800, "Toups" 900, "Manion" LOAD DATA INFILE 'Z:\Passager.dat' APPEND INTO TABLE passager FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (numab, nomab) Commande à lancer sous l ’invité de commande windows : sqlldr USERID=user/pwd@chaine CONTROL='Z:\Passager.ctl' LOG='Z:\Passager.log'