Oracle Database/Vues
Principe.
Une vue est une table virtuelle, utilisée pour afficher le résultat d'une requête fréquente, selon des permissions précises (ex : afficher des colonnes seulement pour un utilisateur).
Créer une vue.
La vue suivante n'a pas grand intérêt car elle est redondante d'une table :
CREATE OR REPLACE VIEW MaVue1 AS 
 SELECT * 
 FROM client1
Actualiser une vue.
Les enregistrements de la vue s'actualisent automatiquement, mais si la structure d'une des tables appelées par la vue change, cette dernière renvoie une erreur. Il faut donc la mettre à jour avec :
ALTER VIEW MaVue1 COMPILE
Lister les vues.
 SELECT * FROM USER_VIEWS 
 SELECT * FROM ALL_VIEWS
 SELECT * FROM DBA_VIEWS
La colonne codice_1 affiche la requête SQL générant le vue.
Vues temporaires.
Depuis la version 10g, il est possible de définir une vue temporaire à la volée au milieu d'un script : 
Exemple :
 WITH PremieresLignes AS
 SELECT id
 FROM client1
 WHERE id < 10
 SELECT prenom, nom
 FROM PremieresLignes, client1
 WHERE PremieresLignes.id = client1.pl_id

Oracle Database/Tablespaces
Architecture.
L'architecture Oracle ne comprend qu'une seule base par serveur, dans laquelle peuvent se trouver plusieurs s, équivalents des objets bases de données d'autres SGBD comme MySQL et MS-SQL, contenant des tables et procédures stockées.
Dans la version Express Windows, ces données sont stockées dans C:\oraclexe\app\oracle\oradata\XE\.
Les variables et mots-clés sont insensibles à la casse.
Créer des tablespaces.
Une fois connecté, il est possible de commencer à créer directement des tables dans le tablespace par défaut ("Nom de connexion" Admin). Toutefois au préalable, on peut en créer d'autres dans des fichiers précis :
 CREATE TABLESPACE Wikibooks
 DATAFILE 'C:\oraclexe\app\oracle\oradata\XE\Wikibooks.dbf' size 10M reuse
 DEFAULT STORAGE (INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 999) 
 ONLINE;
 Tablespace WIKIBOOKS créé(e).
Pour lister ceux qui existent :
select tablespace_name, file_name, bytes
from dba_data_files;
Il y en a plusieurs par défaut :
Supprimer des tablespaces.
 DROP TABLESPACE Wikibooks;
 Tablespace WIKIBOOKS supprimé(e).

Oracle Database/Vues matérialisées
Les sont des vues figées, c'est-à-dire le résultat d'une requête à un certain moment.
Créer des vues matérialisées.
Création basique :
CREATE MATERIALIZED VIEW MV1
AS SELECT * FROM client1
Avec durée de rafraichissement quotidienne :
CREATE MATERIALIZED VIEW MV2
REFRESH FAST 
START WITH SYSDATE
NEXT SYSDATE + 1
AS SELECT * FROM client1;
En effet, codice_1 donne la date du jour.
Lire des vues matérialisées.
SELECT QUERY FROM ALL_MVIEWS
WHERE MVIEW_NAME='MV1'

Oracle Database/Index
Principe.
Un index sert à trouver les enregistrements résultats d'une requête plus rapidement que par un parcours séquentiel.
Création.
 CREATE INDEX MonIndex1 ON client1(nom);
Modification.
 ALTER INDEX MonIndex1 REBUILD;
Suppression.
 DROP INDEX MonIndex1;
Lister les index.
 SELECT INDEX_NAME, TABLE_NAME, UNIQUENESS FROM USER_INDEXES;

Oracle Database/Procédures stockées
Création.
Une procédure stockée est un script enregistré dans la base de données sous un nom par lequel on peut l'exécuter depuis d'autres.
Création.
create or replace procedure nomProc(
 param1 IN date, 
 param2 IN OUT date
 param3 OUT date)
is 
-- declare
begin
--Instructions
end;
Appel.
EXECUTE nomProc;
ou
BEGIN
 nomProc;
END;

Oracle Database/Fonctions
Création.
Une fonction doit impérativement renvoyer quelque chose, par une clause codice_1.
create or replace function loginExist(Param1 tableName.champName%type)
return boolean
is
-- declare
 retVal boolean := true;
begin 
--Instructions
 return retVal;
end;

Oracle Database/Trigger
Syntaxe.
 create or replace trigger <triggername>
 before/after insert or update or delete
 on <tablename> 
 REFERENCING NEW AS <newROW> OLD AS <oldROW>
 for each row/for each statement
 when (<condition>)
 DECLARE
 -- Déclaration des variables
 BEGIN
 if INSERTING then
 end if;
 if UPDATING then
 end if;
 if DELETING then
 end if;
 EXCEPTION
 -- Traitement en cas d'exception
 END <triggername>;
Désignations :

Oracle Database/Packages
Principe.
Un package Oracle est un schéma regroupant divers objets tels que des types et des sous-programmes. Ces modules peuvent ensuite être appelés par différents scripts.
 CREATE OR REPLACE PACKAGE TEST_PACKAGE AS
 PROCEDURE xy;
 FUNCTION abc(p_var VARCHAR2);
 TYPE noms AS OBJECT(nom NVARCHAR2(200), prenom NVARCHAR2(200));
 END TEST_PACKAGE;
Appel :
CALL TEST_PACKAGE.xy;
L'avantage est que si un jour on décide d'augmenter la taille des noms de famille à 1 000 caractères, il suffit de le faire dans un seul package au lieu de parcourir toutes les fonctions, procédures et triggers.

Code de la route/Autres lectures sur le code de la route