ORACLE SQL

publicité
Chapitre 1 Introduction
Le langage SQL (Structered Query Language) est le langage standard de gestion des bases de
données relationnelles. Il permet de définir, manipuler et contrôler les données. Ainsi SQL est
constitué de trois sous langages :
1. LDD (Langage de Définition de Données) incluant les requêtes CREATE, ALTER,
DROP, RENAME, TRUNCATE. Le LDD permet de créer, de changer et d'éliminer une
structure de données Oracle.
2. LMD (langage de manipulation de données) incluant les requêtes SELECT, INSERT,
UPDATE, DELETE, MERGE. Le LMD permet de sélectionner, d'insérer, de modifier et
de supprimer des lignes à partir d'une table.
3. LCD (langage de contrôle de données) incluant les requêtes GRANT, REVOKE. Le LCD
permet de donner ou de priver les droits d'accès à une base de données Oracle ou à ces
structures.
SQL a été implémenté par IBM dans les années 70, et se base sur l'algèbre relationnelle de
Codd. Chaque SGBDR (DB2, Informix, Ingres, SQL SERVER...) présente sa propre version de
SQL. ORACLE possède sa propre version. Ceci dit, toutes les versions sont fondées sur le même
noyau.
ORACLE fournit un éditeur de requêtes SQL, il s'agit de SQL*PLUS. Pour accéder à cet
éditeur, il faut être un utilisateur (avoir un login et un mot de passe). Une fois l'éditeur affiché, on
peut saisir les requêtes et voir les résultats retournés.
1.1
Les tables
La table est l'objet principal d'une base de données car c'est là ou on stocke les données.
Oracle identifie une table par son nom. Elle peut avoir une ou plusieurs colonnes (champ,
attribut, mesure etc.). Une colonne est caractérisée par son nom et son type de données. La table
peut avoir zéro ou plusieurs lignes (enregistrements, objets, tuples etc.).
1.2 Les types de données
Oracle offre les types de données suivants :
•
CHAR(n) : Chaîne de caractère fixe de longueur maximale n.
•
VARCHAR2(n) : Chaîne de caractère variable de longueur maximale n.
•
NUMBER(n,d) : Réel avec n le nombre de chiffres à droite de la virgule, d celui de
gauche. Exemple : NUMBER(3,2) inclut tous les nombres de -999.99 → 999.99
•
DATE : Le type de données incluant la date et l'heure. Le format par défaut est le
suivant : DD-MON-YY, par exemple : `04-0CT-04'.
Chapitre 1 : Introduction
5
•
LONG : Chaîne de caractère variable de taille maximale 2 Go.
•
CLOB : Chaîne de caractère variable de taille maximale 4 Go.
•
RAW(n) : Données binaires de longueur n.
•
LONG RAW : Données binaires de longueur variable allant jusqu'à 2 Go.
•
BLOB : Données binaires de longueur variable allant jusqu'à 4 Go.
•
BFILE : Données binaires stockées dans un fichier externe allant jusqu'à 4 Go.
•
ROWID : Chaîne hexadécimale représentant l'adresse unique d'une ligne dans une
table. C'est un type de données qu'on peut utiliser pour stocker les valeurs retournées
par le pseudo colonne ROWID.
•
TIMESTAMP[(n)][WITH TIME ZONE] : Stocke la date et l'heure. L'heure est
stockée avec n fractions de secondes, n peut varier de 0 à 9, 6 est la valeur par défaut.
Exemple : '04-OCT-04 12.45.32.1654 AM', ici n=4. Si le mot clé WITH
TIME ZONE est spécifié alors l'heure est affichée avec la différence entre l'heure de la
zone locale et celle de Greenwich.
•
INTERVAL YEAR[(y)] TO MONTH : Stocke une période de temps sous forme
d'années et de mois.
•
INTERVAL DAY TO SECOND : Stocke une période de temps sous forme de jours
et de secondes.
Remarque
- Une colonne de type LONG ne peut pas être copiée lors de la création d'une table à l'aide
d'une requête SELECT.
- Une colonne de type LONG ne peut pas être incluse dans une clause GROUP BY ou
HAVING.
- Une table ne peut contenir qu'une seule colonne de type LONG.
- Une colonne de type LONG ne peut pas avoir de contrainte.
- Le type de données CLOB inclut LONG.
- Il n'y a pas de type de données booléen, ce dernier peut être simulé par NUMBER(1) ou
CHAR(1).
- Une colonne non renseignée porte la valeur NULL qui est différente de 0 pour les nombres
et de la chîne vide pour les chaînes de caractères.
Le langage SQL version Oracle – Document 1.1
Feedbacks à [email protected]
Téléchargement