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'