cours introductif - freekurni94.free.fr/perso/bd/cours/introbd+introoracle.pdf · 2006. 9. 29. ·...
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