Création et gestion des tables

Dans ce cours vous apprendrez a : Vous avez enfin la possibilité d’apprendre et de tester la création d’une table, mais aussi tronquer et renommer une table.
Vous apprendrez également les différentes relations qui existent entre ces tables.

Structure d'une table

Oracle nous permet de créer une table a tout moment, Même si la base de donnée sur laquelle on aimerai travailler est utilisee par d'autres personnes. En plus on n'a pas besoin d’allouer de l’espace pour les tables nouvellement crées. Néamoins l’estimation de l’espace que doit occuper une base de donnée est toujours conseiller.

Les règles utilisées pour définir les noms de tables ou de colonnes.

Lors de la création d’une nouvelle table il est très important de suivre certaines règles.

  1. Les noms ne doivent contenir que des caractères alphabétiques (A-Z, a-z), numérique (0-9), $, _.
  2. Les noms doivent être unique pour chaque serveur. Il est déconseille d’utiliser les mots réserves par au serveur Oracle.
  3. Oracle reconnaît un nom quelque soit la manière donc elle est écrit (Employee = emPLoYEE = employee)

Pour créer une table dans une base de donnée il faut tout abord avoir le droit de création, l’espace de stockage.
Ensuite il faut donner un nom à la table, donner à la colonne le nom, le type de donnée (numérique ou alphabétique) et la taille.


Voici une syntaxe de la création d’une table.

CREATE TABLE nom_table
( nom de la colonne1 type(taille),
nom de la colonne2 type(taille),
nom de la colonne3 type(taille),
….) ;

Exemple:
CREATE TABLE DEPT
( deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13)) ;

Les dénominations utilisées sont aléatoires.

Sur cet exemple on aura dans la colonne1 le nom deptno de type NUMBER avec comme taille 2 octets.
La colonne2 aura le nom dname avec une chaîne de caractères de taille maximum 14.
La colonne3 aura le nom loc avec une chaîne de caractères de taille maximum 13.


Les syntaxes pour les requêtes des données dans une table.

SELECT * FROM nom_table; (afficher le contenu d'une table)

SELECT * FROM colonne1,colonne2; (afficher le contenu de la colonne1 et de la colonne 2)

SELECT column1,column2, ...
FROM nom_table;
(afficher le contenu de la colonne1 et de la colonne 2 se trouvant dans la table nom_table)

SELECT column1,column2, ...
FROM nom_table
WHERE(condition
) (afficher le contenu de la colonne1 et de la colonne 2 se trouvant dans la table nom_table avec condition)

SELECT DISTINCT type_objet
FROM nom_table;
(afficher un objet bien distinct se trouvant dans la table nom_table)

SELECT column1
FROM nom_table
WHERE colonne1 LIKE "nom_reference";
(afficher le contenu de la colonne1 se trouvant dans la table nom_table avec le entre guillemet referenece)


NR. TYPE DE DONNEE DESCRIPTION
1 VARCHAR2 (size) donnees de caracteres de longueur variable(une valeur maximale doit etre pricisee: le minimum est 1 et le maximum 4000)
2 CHAR (size) Donnees de caracteres de longueur fixes(valeur minimum par defaut est 1 : maximum 2000)
3 NUMBER (p,s) Nombre ayant la precision p et l’echelle s
4 DATE Les valeurs en date et en temps
5 LONG Donnees de caractere de longueur variable jusqu'à 2 gigaoctets
6 GLOB Donnees de caracteres atteingnant les 4 gigabytes
7 RAW données binaires de crues de taille de longueur(la taille maximum doit etre fixee. Le maximum est 2000)
8 BLOB données binaires jusqu'à 4 gigaoctets
9 BFILE magasin de données binaire dans un dossier externe jusqu'à 4 gigaoctets
10 ROWID un numéro de la base 64 représentant l'adresse unique d'une rangée dans sa table

Quelques applications sur la commande SELECT:

Utiliser les syntaxes pour les requêtes des données les tables EMP et DEPT
et executer les avec l'aide des fenêtres ci-dessous.

Titlu document La requête SELECT pour la table EMP


La requête SELECT pour la table DEPT

NB: il vous est impossible de creer une table a partir de ces fenetres car vous n'avez
pas la permission et le droit de creation sur ces tables.

LES DATES (l'heure et le type)

Perfectionnement des dates avec l’oracle.
Les nouveaux types de date ont été introduisent ainsi que les perfectionnements ont
été faites sur l’heure zonale et locale
le tableau ci-dessous vous donne une idee sur les differents types de dates et leurs rôles.

NR. TYPE DE DATE DESCRIPTION
1 TIMESTAMP Permet le stockage de l’heure comme date avec les secondes fractionnaires
2 INTERVAL YEAR TO MONTH Permet le stockage de l’heure comme intervalle d’année et de mois. est utilise pour représenter la différence entre deux heures de valeurs différentes.
3 INTERVAL DAY TO SECOND Permet le stockage de l’heure comme intervalle de jours a heures,minutes et seconde.

La syntaxe : le rôle

TIMESTAMP [( fractional_seconds_precision )] Cette commande vous permet d’ajouter dans une table creee, la date d’embauche d’un nouveau employe :
Dans l’exemple ci-dessous nous allons créer une table avec le nom ‘nouveau embauche’ avec une colonne ayant le nom ‘date_embauche’ de type TIMESTAMP avec une precision de ‘7’. Le chiffre par defaut est ‘6’

CREATE TABLE nouveau_ employe
(employe_id NUMBER,
nom VARCHAR2(15),
prenom VARCHAR2(15),
……….
Date_embauche TIMESTAMP(7),
…….) ;

pour afficher le resultat , on ecrit :
SELECT Date_embauche
FROM nouveau_embauche ;

Syntaxe pour differente option :