# Oracle Database/Tables

* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
[ Modifier le sommaire ]

## Lister les tables

Pour obtenir la liste des tables du tablespace courant :

## Créer des tables

En reprenant l'exemple du livre SQL :
En passant par un clic droit sur les tables, Nouvelle table..., SQL Developer permet de générer puis exécuter cette démarche :
Dans cette commande, on a précisé le tablespace dans lequel rattacher la nouvelle table avec le mot clé TABLESPACE dans la clause de création. Mais SQL Developer le permet en le sélectionnant dans l'interface graphique.

## Modifier la structure des tables

Exemple de renommage :
Ajout d'une contrainte sur les valeurs du premier champ :
Ajout d'une clé primaire :
Retrait d'une clé primaire :
Ajout d'une clé étrangère :

## Insérer des lignes

Plusieurs lignes :
Table crée :
| ID | PRENOM | NOM | ADRESSE |
| 1 | Sarah | Croche | Petaouchnoc |
| 2 | Sarah | Pelle | Clochemerle |
| 3 | Sarah | Porte | Cuges-les-Bains |

## Lire une table

Pour accéder à sa structure :
Si la table n'existe pas, l'erreur qui apparait est ORA-00923: FROM keyword not found where expected.
Pour son contenu :
Le nombre de tirets correspond à la taille du champ.

## Partitionner une table

Le partitionnement Oracle sert à diviser les données d'une table volumineuse dans plusieurs plus petites afin d'en augmenter les performances.

### Range

Exemple :

### Hash

Exemple :

### List

Exemple :

### Interval

Exemple :

## Schémas

Un schéma est un ensemble de permissions pour des tables ou procédures stockées. Le mot clé AUTHORIZATION permet de donner des droits à un utilisateur :

## Synonymes

Un synonyme est un alias d'un nom de table (ou d'autres objets). Il peut être utilisé pour la sécurité en masquant le nom du propriétaire de l'objet vers lequel il pointe, ou bien pour uniformiser les noms d'objets distants dans les bases de données distribuées.

## Références

* ↑ https://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_6013.htm
* ↑ https://docs.oracle.com/cd/B28359_01/server.111/b28310/views003.htm