Académique Documents
Professionnel Documents
Culture Documents
1. Vues
2. Index
1. Séquences
2
1. Les Vues
1.1 Définition
Une vue est une table virtuelle qui est le résultat d’une requête (SELECT) à laquelle on
donne un nom et dans laquelle il est possible de rassembler des informations provenant
de plusieurs tables.
Les données de la vue sont virtuelles c-à-d ne sont pas stockées dans une table de la base
de données. On parle de "vue" car il s'agit simplement d'une représentation des données
dans le but d'une exploitation visuelle.
Le nom d’une vue peut être utilisé partout où on peut mettre le nom d’une table : SELECT,
UPDATE, DELETE, INSERT, GRANT…
3
1. Les Vues
1.2 Syntaxe
Création d’une vue
OR REPLACE : remplace la vue par la nouvelle définition même si elle existait déjà,
WITH READ ONLY: déclare la vue non modifiable par INSERT, UPDATE, ou DELETE.
4
Table Produits
1. Les Vues
1.2 Syntaxe
Exemple simple
vue_produits
CREATE VIEW vue_produits
(numéroProd, nomProduit) AS
SELECT codProd, designation
FROM Produits ;
vue_produits
CREATE OR REPLACE VIEW
vue_produits AS
SELECT * FROM Produits WHERE
PRIX <150 ;
5
Table Produits
1. Les Vues
1.2 Syntaxe
Exemple avec « with check
option »
6
Table Produits
1. Les Vues
1.2 Syntaxe
Exemple avec « with read
only »
7
1. Les Vues
1.2 Syntaxe
Utilisation d’une vue
8
1. Les Vues
1.2 Syntaxe
Vous pouvez accorder des privilèges sur les vues à des utilisateurs
spécifiques sans devoir leur accorder l’accès aux tables de base.
9
1. Les Vues
Remarques
10
2. Les Séquences
2.1 Définition
Une séquence est un objet défini par l'utilisateur qui génère une séquence de
valeurs numériques.
11
2. Les Séquences
2.2 Syntaxe
Création d’une séquence
CREATE SEQUENCE nom_sequence [AS type]
[ START WITH valeur ]
[ INCREMENT BY valeur ]
[ MAXVALUE valeur | NO MAXVALUE ]
[ MINVALUE valeur | NO MINVALUE ]
[ CYCLE | NO CYCLE ]
AS type : Une séquence peut être définie comme tout type entier. Les types suivants sont autorisés:
12
2. Les Séquences
2.2 Syntaxe
Création d’une séquence
START WITH: Première valeur retournée par l'objet séquence. La valeur START doit être une valeur inférieure
ou égale à la valeur maximale et supérieure ou égale à la valeur minimale de l’objet séquence.
La valeur de début par défaut d'un nouvel objet séquence correspond à la valeur minimale pour un objet
séquence croissant et à la valeur maximale pour un objet séquence décroissant.
13
2. Les Séquences
2.2 Syntaxe
Création d’une séquence
INCREMENT BY: Valeur utilisée pour incrémenter (ou décrémenter si la valeur est négative) la valeur de l’objet
séquence pour chaque appel à la fonction NEXT VALUE FOR.
Si l'incrément est une valeur négative, l'objet séquence décroît ; sinon, il croît. L'incrément ne peut pas avoir
la valeur 0. L'incrément par défaut pour un nouvel objet séquence est 1.
14
2. Les Séquences
2.2 Syntaxe
Création d’une séquence
MAXVALUE: Spécifie les limites de l'objet séquence. La valeur maximale par défaut d'un nouvel objet
séquence correspond à la valeur maximale du type de données de l'objet séquence.
MINVALUE: Spécifie les limites de l'objet séquence. La valeur minimale par défaut d'un nouvel objet séquence
correspond à la valeur minimale du type de données de l'objet séquence. Il s’agit de zéro pour le type de
données tinyint et d’un nombre négatif pour tous les autres types de données.
15
2. Les Séquences
2.2 Syntaxe
Création d’une séquence
CYCLE: Propriété qui spécifie si l'objet séquence doit redémarrer de la valeur minimale (ou maximale pour les
objets de séquence décroissante) ou générer une exception lorsque sa valeur minimale ou maximale est
dépassée.
L'option de cycle par défaut pour les nouveaux objets séquences est NO CYCLE.
16
2. Les Séquences
2.2 Syntaxe
17
2. Les Séquences
2.2 Syntaxe
18
3. Les Index
3.1 Définition
Un index est une structure sur disque associée à une table ou une vue qui
accélère l'extraction des lignes de la table ou de la vue. Il contient des
clés créées à partir d'une ou plusieurs colonnes de la table ou de la vue.
L’index est utile pour accélérer l’exécution d’une requête SQL qui lit des
données et ainsi améliorer les performances d’une application utilisant
une base de données.
Créer un index ne modifie pas les données de la table. Cela crée une
nouvelle structure de données faisant référence à la table.
19
3. Les Index
3.2 Syntaxe
20
3. Les Index
3.3 Exemple
21
3. Les Index
3.4 Quand doit-on créer un index ?
• Une colonne est utilisée fréquemment dans une clause WHERE ou dans une
condition de jointure,
• Une colonne contient beaucoup de valeurs,
• Une colonne contient un grand nombre de valeurs nulles,
• Quand plus de deux colonnes sont fréquemment utilisées ensemble dans une
clause WHERE ou une condition de jointure,
• Quand une table est très large (beaucoup de lignes) et les requêtes récupèrent
moins de 2 à 4% des lignes…
Les SGBDs créent automatiquement un index sur chaque clé primaire de la table.
Les SGBDs créent automatiquement un index sur chaque contrainte d’unicité
(UNIQUE) dans une table.
Il n’y a pas d’index créé automatiquement par le SGBD derrière une clé étrangère.
22