Base de Données Cours Introductif Base de Données
Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA
SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15% Access Autres dbase Approach
SG C/S : Parts de marché Toutes Plates-formes Plates-formes UNIX Oracle 36% 10% Microsoft Oracle 60% 4% Sybase Informix 6% 35% IBM 9% Autres 13% Informix 13% IBM 4% NCR 5% Sybase 5% Autres Source IDC 2003
Qu allons-nous faire? L4G (VB, Delphi, Windev,..) Developpeur L3G (C, C++, Cobol, Java,..) Developpeur WEB (Perl, ASP, PHP,..) Développeur Administrateur (Scripts SQL) Utilisateur Décisionne (B.O, Brio,..) Base de Données Serveur de données
Planning du Module Administration d une base de données Création des structures d une Programmation Client/serveur : objets serveur Programmation Client/serveur : côté client Application à ORACLE Techniques des SG : accès concurrents et veille technologique
SG : Rappel Bases de Données : ensemble cohérent de données SG : Système pour gérer les bases de données en assurant leur cohérence Fonctions Internes Interfaces Utilisateurs Bases de données SG
SG : Objectifs 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
SG : Architecture ARCHITECTURE D'UN SG Terminaux P.A Langage externe SG Interne I n t é g r i t é droits d'accès concurrence MS SGF résistance aux pannes optimisation V u e s SG Externe FONCTIONS D'UN SG : Rangement Recherche Assemblage Conversion des données
SQL : Un Langage standardisé SG administration d'une base SQL interrogation de données Gestion de données
SG : Historique 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,...
L ORACLE Une année fructueuse et pleine de réussite Mon module? 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
L ENTREPRISE ORACLE 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
L'offre ORACLE Oracle Products and Services Services Value-Added Applications Tools Database Operating System Hardware
ORACLE : l'offre base de données 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
L outil SQL*PLUS 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 de formater l affichage des résultats Requête SQL> SQL*PLUS create table ; Réponse Serveur ORACLE 2. Exécutable permettant d exécuter des scripts SQL Client ORACLE
Lancement de scripts SQL 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 Fichier de commandes SQL 2 ) Lancement de scripts dans une session SQL*Plus ouverte START fichier_script [ argument ] @ fichier_script [ argument ] @@ fichier_script [ argument ]
Les versions d Oracle 8i 9i 10g INTERNET INTERNET Grill
Le serveur d Application d Oracle (AS) Une base taillée pour le WEB Developer Suite OEM Services Oracle Portal Serveur HTTP (Apache) Développement XML Java Administration Utilisateur PC Internet Oracle Mobile Internet Utilisateur mobile Serveur WAP Serveur d applications Serveur de données Oracle AS
Les serveurs ORACLE Oracle Entreprise Edition Oracle Standard Edition Options possibles : Real Application Clusters Partitioning Olap Data Mining Spatial Advanced Security Label Security Oracle Personal Edition
ANNEXE 10g Synthèse des commandes utiles du dictionnaire L outils SQL*PLUS
SYNTHÈSE : COMMANDES UTILES Commandes utiles d interrogation du dictionnaire ORACLE Tables et vues d un compte : Schéma d une table : Clés primaires d une table : Clés étrangères d une table : SELECT * FROM TAB; DESC nom_de_la_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 ; 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
Outil SQL*PLUS Saisie Affichage Tampon Exécution Résultat SQL*Plus Serveur Oracle
Configuration de SQL*PLUS : la commande SET 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 }
SQPL*PLUS : Manipulation du tampon 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
Redirection du résultat vers un fichier 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
Divers 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
ORACLE SQL*Loader 10g
L outil de chargement Instructions --------------- --------------- --------------- --------------- --------------- File.ctl File.dat SQL*Loader Données non sélectionnées Données sélectionnées Données erronées Journal File.dsc File.bad File.log
Exemple d utilisation de SQL*Loader 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'