Deck complet · TAD
Toutes les flashcards
70+ cartes pour réviser les 6 chapitres en un seul endroit. Clique pour retourner. Shift+F pour tout retourner.
1. CM1 — SPARC · encre bleue
Créer un user
Syntaxe minimale.
tourne →CREATE USER nom
IDENTIFIED BY pwd
DEFAULT TABLESPACE users;3 rôles prédéfinis
Cite-les.
tourne →CONNECT · RESOURCE · DBA
Vue logique vs matérialisée
Différence stockage.
tourne →
Logique : SQL ré-exécuté, pas de stockage.
Matérialisée : contenu dupliqué et rafraîchi.
Matérialisée : contenu dupliqué et rafraîchi.
3 modes refresh VM
ON DEMAND (défaut) · ON COMMIT · START WITH … NEXT
3 méthodes refresh VM
FAST (requiert VIEW LOG) · COMPLETE · FORCE (défaut)
Rôle d'application
Particularité d'activation.
Activé automatiquement à l'exécution d'un élément du package — unique moyen.
Privilège pour proc/fct
EXECUTE2. CM2 — Tablespaces, indexes, clusters · encre verte
Hiérarchie stockage
Du plus gros au plus petit.
Base · Tablespace · Fichier · Segment · Extension · Bloc
5 segments
Données · Index · Temporaire · Amorçage · Rollback
Sélectivité
Formule.
Nb valeurs distinctes / Nb lignes
B-tree limitations
① Sélectivité doit être élevée · ② Ne gère pas
NULLBitmap
3 conditions d'usage.
① Faible sélectivité
② Beaucoup de lignes
③ Très peu de MAJ
② Beaucoup de lignes
③ Très peu de MAJ
Index par fonction
Contrainte.
Fonction DETERMINISTIC obligatoire.
SYSDATE non.Cluster
Particularité.
Remplace le tablespace.
Requiert un index ON CLUSTER.
Requiert un index ON CLUSTER.
3. CM3 — Transactions · encre bordeaux
ACID
Atomicité · Cohérence · Isolation · Durabilité
Début transaction
Début de session OU fin de la précédente.
Lecture seule
Syntaxe.
SET TRANSACTION READ ONLY;Savepoint
SAVEPOINT j1;
ROLLBACK TO SAVEPOINT j1;Verrou ligne
Quand libéré ?
À la fin de la transaction qui l'a posé.
Oracle & deadlock
Détecte → annule une opération d'une transaction.
OLTP
Online Transaction Processing — temps réel.
Synonyme
CREATE PUBLIC SYNONYM n FOR o;4. CM4 — BDDR · encre prune
3 fragmentations
H = sélection · V = projection · Mixte = V puis H
Recomposer H
UNION des fragments.
Recomposer V
JOINTURE sur la clé (présente dans chaque fragment).
DB link
CREATE DATABASE LINK n
CONNECT TO u
IDENTIFIED BY p
USING 'svc';Accès distant
SELECT * FROM t@lien;Réplication
CREATE MATERIALIZED VIEW v
REFRESH FAST
AS SELECT … FROM T@lien;2PC
2 phases.
Phase 1 = préparation (vote) · Phase 2 = décision (unanimité requise)
5. CM5 — Triggers & Séquences · encre sienne
Bloc PL/SQL
DECLARE
BEGIN
EXCEPTION
END;%TYPE vs %ROWTYPE
%TYPE = type d'une colonne · %ROWTYPE = ligne complèteTrigger syntaxe
CREATE TRIGGER n
BEFORE|AFTER INSERT ON t
FOR EACH ROW
BEGIN … END;:new et :old
Uniquement avec
FOR EACH ROW.Garde-fou
RAISE_APPLICATION_ERROR(
-20012, 'msg');Vue non modifiable
Trigger
INSTEAD OFSéquence
CREATE SEQUENCE s
START WITH 1
INCREMENT BY 1;NEXTVAL / CURRVAL
NEXTVAL = génère + incrémente · CURRVAL = lit en cours
Auto-incrément
BEFORE INSERT ON t
FOR EACH ROW
BEGIN
:new.id := s.NEXTVAL;
END;6. CM6 — Procédures, curseurs, exceptions · encre charbon
Procédure vs Fonction
Procédure : effet · Fonction : RETURN typé, utilisable dans SELECT
3 modes paramètres
IN · OUT · IN OUTTypes signature
SANS taille.
NUMBER et pas NUMBER(6,2).Curseur cycle
DECLARE → OPEN → FETCH (boucle) → CLOSE
Curseur FOR LOOP
FOR v IN cur LOOP
…
END LOOP;
-- auto open/close4 attributs curseur
%FOUND
%NOTFOUND
%ISOPEN
%ROWCOUNT
%NOTFOUND
%ISOPEN
%ROWCOUNT
3 exceptions classiques
DUP_VAL_ON_INDEX · NO_DATA_FOUND · TOO_MANY_ROWS
Exception perso
e EXCEPTION;
PRAGMA EXCEPTION_INIT(e, -20001);
RAISE e;Transaction autonome
PRAGMA AUTONOMOUS_TRANSACTION;Package — 2 parties
Déclaration (public) + Body (impl)