cours introductif - freekurni94.free.fr/perso/bd/cours/introbd+introoracle.pdf · 2006. 9. 29. ·...

31
Jérôme FESSY IUT de Paris 5 BD Base de Données Cours Introductif Base de Données BD

Upload: others

Post on 13-Feb-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

  • Jérôme FESSY IUT de Paris 5

    BD

    Base de Données

    CoursIntroductif

    Base de Données

    BD

  • Jérôme FESSY IUT de Paris 5

    BD

    Quelques chiffres

    BD L3G IA

    20002004

    Évolution annuelle moyenne 2004/2000

    15%

    12% 5%0.5%

    +20%

  • Jérôme FESSY IUT de Paris 5

    BD

    SGBD mono poste : Part de marché

    5% 5% 10%

    65%

    Paradox

    Access

    Autres

    dBase

    Approach

    15%

    SGBD

  • Jérôme FESSY IUT de Paris 5

    BD

    SGBD C/S : Parts de marché

    Plates-formes UNIX

    5%

    5%13%

    13%

    60%

    4%

    Toutes Plates-formes

    4%

    9%

    35%

    6%

    36%

    10%Oracle

    Oracle

    IBMIBM

    Microsoft

    Informix

    Informix

    Sybase

    Sybase

    Autres

    Autres

    NCR

    Source IDC 2003

  • Jérôme FESSY IUT de Paris 5

    BD

    Qu’allons-nous faire ?

    Developpeur L3G(C, C++, Cobol, Java, ..)

    L4G (VB, Delphi, Windev, ..)

    Developpeur WEB(Perl, ASP, PHP, ..)

    Développeur

    Base de Données

    Administrateur(Scripts SQL)

    Utilisateur Décisionnel(B.O, Brio, ..)

    Serveur de données

  • Jérôme FESSY IUT de Paris 5

    BD

    Planning du Module

    Administration d ’une base de donnéesCré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

    BD

    SGBD : Rappel

    Bases de Données : ensemble cohérent de donnéesSGBD : Système pour gérer les bases de données en assurant leur cohérence

    Interfaces Utilisateurs

    SGBDBases de données

    FonctionsInternes

  • Jérôme FESSY IUT de Paris 5

    BD

    SGBD : Objectifs

    Indépendance PhysiqueIndépendance LogiqueManipulation des données par des non-informaticiensEfficacité des accès aux donnéesAdministration cohérente des donnéesPartageabilité des donnéessécurité des données

  • Jérôme FESSY IUT de Paris 5

    BD

    SGBD : Architecture

    ARCHITECTURE D'UN SGBD

    SGBD Externe

    P.A

    Terminaux

    concurrence

    résistanceaux pannes

    droits d'accèsIntégrité

    optimisation

    Vues

    Langage externe

    MS

    SGF

    SGBD Interne

    FONCTIONS D'UN SGBD :

    • Rangement• Recherche des données• Assemblage• Conversion

  • Jérôme FESSY IUT de Paris 5

    BD

    SQL : Un Langage standardisé

    Gestion de données

    administration d'une base

    SGBD

    SQLinterrogationde données

  • Jérôme FESSY IUT de Paris 5

    BD

    SGBD : Historique

    Années 70 : Modèle hiérarchique et réseauLDD/LMD : CODASYL / COBOL

    Années 80 : Modèle relationnelLDD/LMD: SQL

    Années 90 : vers un Modèle objetLDD/LMD : SQL3 / OQL ???

    ORACLE 7ACCESSSYSBASE, ...

    ORACLE 8INFORMIXO2, ...

  • Jérôme FESSY IUT de Paris 5

    BD

    L’ORACLE

    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

    BD

    L ’ENTREPRISE ORACLE

    ORACLE CORP.Fondée en 1977 par L. ELLISON en CalifornieBasé à RedWood ShoresImplantation dans 145 paysPlus de 50 000 clients dans le monde10, 9 Milliard de CA en 200143 000 employés dans le monde2ème éditeur indépendant de logiciels

    ORACLE FranceCréée en 1986Plus de 18000 clients

    HTTP : // www.oracle.com

    HTTP : // www.oracle.fr

  • Jérôme FESSY IUT de Paris 5

    BD

    L'offre ORACLE

    ®

    Oracle Products and Services

    Operating System

    Hardware

    DatabaseDatabase

    ToolsTools

    ApplicationsApplications

    ServicesServices

    Value-Added

  • Jérôme FESSY IUT de Paris 5

    BD

    Le noyau :moteur relationnel (distribution et réplication)interface SQL et langage de programmation SQL

    Les outils d'administration Noyau :Oracle Entreprise ManagerSQL*LOADER

    ORACLE : l'offre base de données

    SERVEUR

    CLIENT• Outil interactif d‘accès au serveur Oracle :

    SQL*Plus et ISQL*Plus

  • Jérôme FESSY IUT de Paris 5

    BDL’outil SQL*PLUS

    Serveur ORACLE

    Client ORACLE

    SQL*PLUSSQL*PLUS

    SQL> create table …; Requête

    1. Outil interactif en mode caractère d’accès à une base Oracle qui permet :d’exécuter des ordres SQL et programmes PLSQLd’exécuter des fichiers scriptd’afficher des résultats de requêtes de formater l’affichage des résultats

    Réponse

    2. Exécutable permettant d’exécuter des scripts SQL

  • Jérôme FESSY IUT de Paris 5

    BD

    Lancement de scripts SQL

    Nom du programme exécutable

    Nom et mot de passe utilisateur

    Chaîne de connexion au serveur Oracle

    Fichier de commandes SQL

    1°) Lancement d'un script automatiquement en lançant SQL*Plus :

    sqlplus [ user [ /password ] [ @nom_service ] ] @fichier_script [ argument ] …

    2°) Lancement de scripts dans une session SQL*Plus ouverte

    • START fichier_script [ argument ] • @ fichier_script [ argument ] …• @@ fichier_script [ argument ] …

  • Jérôme FESSY IUT de Paris 5

    BDLes versions d’Oracle

    10g9i8iINTERNETINTERNET Grill

  • Jérôme FESSY IUT de Paris 5

    BD

    Le serveur d ’Application d ’Oracle (AS)

    Une base taillée pour le WEB

    Serveur HTTP (Apache)

    Serveur d ’applicationsServeur WAP

    Internet

    Utilisateur PC

    Utilisateur mobile

    Internet

    Administration

    Developer Suite

    Développement XMLJava

    Oracle Portal

    Oracle Mobile

    OEM Services

    Serveur de données

    Oracle AS

  • Jérôme FESSY IUT de Paris 5

    BD

    Les serveurs ORACLE

    Oracle Entreprise

    EditionOptions possibles :

    •Real Application Clusters•Partitioning•Olap•Data Mining•Spatial•Advanced Security•Label Security

    Oracle Standard Edition

    Oracle PersonalEdition

  • ANNEXE

    Synthèse des commandes utiles du dictionnaireL’outils SQL*PLUS

    10g

  • Jérôme FESSY IUT de Paris 5

    BD

    SYNTHÈSE : COMMANDES UTILES

    Commandes utiles d’interrogation du dictionnaire ORACLETables 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 IUT de Paris 5

    BDOutil SQL*PLUS

    Tampon

    Serveur Oracle

    Saisie Exécution

    RésultatAffichage

    SQL*Plus

  • Jérôme FESSY IUT de Paris 5

    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 }

    Configuration de SQL*PLUS : la commande SET

  • Jérôme FESSY IUT de Paris 5

    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

    SQPL*PLUS : Manipulation du tampon

  • Jérôme FESSY IUT de Paris 5

    BD

    Structure du script à utiliser

    SET HEADING OFF

    SET FEEDBACK OFF

    SET VERIFY OFF

    SET TRIMSPOOL ON

    SET ECHO OFF

    SET TERMOUT OFF

    SPOOL nom_fichier

    Commandes SQL

    SPOOL OFF

    SET HEADING ON

    SET FEEDBACK ON

    SET VERIFY ON

    SET TRIMSPOOL OFF

    SET ECHO ON

    SET TERMOUT ON

    Redirection du résultat vers un fichier

    Interprétation des commandes

    Supprimer les en-têtes des colonnes

    Supprimer les infos après le résultat

    Supprimer l'affichage des substitutions effectuées

    Supprimer les blancs à la fin des lignes

    Supprimer l'affichage des commandes

    Supprimer la sortie à l'écran

    Spécifier le fichier destination

    Exécuter les commandes SQL

    Arrêter l'envoi vers le fichier

    Reprendre l'affichage des en-têtes de colonnes

    Reprendre l'affichage des infos après le résultat

    Reprendre l'affichage des substitutions effectuées

    Effet uniquement sur les fichiers spoolés

    Effet uniquement sur les scripts

    Effet uniquement sur les scripts

  • Jérôme FESSY IUT de Paris 5

    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

    Divers

  • ORACLE

    SQL*Loader

    10g

  • Jérôme FESSY IUT de Paris 5

    BD

    L’outil de chargement

    File.dat

    File.dsc File.logFile.bad

    Donnéeserronées

    Données nonsélectionnées

    SQL*Loader

    File.ctl

    Instructions---------------------------------------------------------------------------

    Donnéessélectionnées

    Journal

    BD

  • Jérôme FESSY IUT de Paris 5

    BD

    Exemple d’utilisation de SQL*Loader

    Fichier de données « passager.dat » :

    Fichier de contrôle « passager.tcl » :

    LOAD DATAINFILE 'Z:\Passager.dat'APPEND INTO TABLE passagerFIELDS 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'

    600, "Duranto"700, "Dupoint"800, "Toups"900, "Manion"

    Quelques chiffresSGBD mono poste : Part de marchéSGBD C/S : Parts de marchéQu’allons-nous faire ?SGBD : RappelSGBD : ObjectifsSGBD : ArchitectureSQL : Un Langage standardiséSGBD : HistoriqueL’ORACLEORACLE Présentation du produitL ’ENTREPRISE ORACLEL'offre ORACLEORACLE : l'offre base de donnéesL’outil SQL*PLUSLancement de scripts SQLLes versions d’OracleLe serveur d ’Application d ’Oracle (AS)Les serveurs ORACLEANNEXESYNTHÈSE : COMMANDES UTILESOutil SQL*PLUSConfiguration de SQL*PLUS : la commande SETSQPL*PLUS : Manipulation du tamponRedirection du résultat vers un fichierDiversORACLE SQL*LoaderL’outil de chargementExemple d’utilisation de SQL*Loader