Présentation d'Oracle Views

Les vues Oracle sont des tables virtuelles qui n'existent pas physiquement. Les vues sont créées sur la ou les tables existantes. Ceux-ci sont stockés dans le dictionnaire de données Oracle et ne stockent aucune donnée. Les vues sont des sous-lignes ou sous-colonnes de la ou des tables. En fait, les vues sont créées sur les requêtes fréquemment utilisées ou les requêtes complexes ou les requêtes de jointure, etc. Les vues peuvent être exécutées lorsqu'elles sont appelées.

Les vues sont créées par une requête joignant une ou plusieurs tables.

CRÉER UNE VUE dans Oracle

Voyons la création de View dans Oracle à l'aide des exemples mentionnés ci-dessous:

La syntaxe pour créer la vue -

CREATE VIEW view name AS
SELECT column (, column ) FROM table
WHERE condition;

Afficher le nom - Il spécifie le nom Oracle VIEW que l'utilisateur souhaite créer.

Une représentation visuelle de la vue Oracle est représentée dans le diagramme ci-dessous, comme dans le diagramme ci-dessous la zone ombrée rouge renvoie le résultat de la requête de sélection Oracle et qui est stockée en tant que vue -

Figure: Vue Oracle

Exemples de requêtes

Prenons un exemple pour créer une vue. Voici un exemple, nous créons une vue simple sur une seule table.

Tableau des fournisseurs

Exemple de requête de création de vues Oracle

CREATE VIEW empview AS
SELECT *
FROM employees;
WHERE employees.manager_id = 100;

Production:

Vue créée.0.21 secondes

Cet exemple ci-dessus Oracle INNER JOIN renverra toutes les lignes de la table employee et de la table department où la valeur employee _id dans la table employee et la table department sont mises en correspondance.

Comprenons la vue oracle en détail à l'aide de quelques exemples de requêtes -

Nous considérons ici le schéma hr qui est l'exemple de schémas de base de données Oracle. Le schéma hr contient les tables COUNTRIES, EMPLOYEES, DEPARTMENTS, JOB_HISTORY, JOBS, LOCATIONS, REGIONS, qui nous intéressent ou nécessitent des tables EMPLOYEES, DEPARTMENTS and LOCATIONS.

La description de ces tableaux est:

SALARIÉS

DÉPARTEMENTS de table

Exemple 1

Créer une vue sur les colonnes sélectionnées

Ici, nous créons une vue nommée vue des employés basée sur la table des employés. La vue de l'employé ayant l'ID de l'employé, le nom complet de l'employé qui est la concaténation de prénom et nom de famille et numéro de téléphone de l'employé -

Code:

CREATE VIEW employee view AS
SELECT
employee_id,
first_name || ' ' || last_name full name,
phone_number
FROM
employees;

Production:

Nous pouvons maintenant vérifier le juste créé ci-dessus Oracle VIEW en utilisant cette requête -

Select * from employee view;

Production:

Exemple # 2

Création d'une vue Oracle avec un alias de colonnes

Code:

CREATE VIEW employee view AS
SELECT employee_id, first_name || ' ' || last_name "full name", FLOOR( months_between ( CURRENT_DATE, hire_date )/ 12 ) as years
FROM employees;

Production:

Select * from employee view;

Production:

Exemple # 3

Création d'une vue Oracle avec un alias de colonnes

code:

CREATE VIEW employee view (employee_id, full name, years) AS
SELECT
employee_id, first_name || ' ' || last_name,
FLOOR( months_between ( CURRENT_DATE, hire_date )/ 12 )
FROM
employees;

Production:

Select * from employee view;

Production:

Exemple # 4

Vue d'accès avec clause where

Code:

SELECT *
FROM employee view
WHERE years > 10;
ORDER BY full name;

Production:

Exemple # 5

Vue d'accès avec une clause order by

Code:

SELECT full name
FROM employee view
WHERE years > 10
ORDER BY full name;

Production:

Exemple # 6

Mettre à jour et rendre la vue en lecture seule

Code:

CREATE OR REPLACE VIEW employee view (employee_id, full name, years) AS
SELECT
employee_id, first_name || ' ' || last_name,
FLOOR ( months_between ( CURRENT_DATE, hire_date ) / 12 )
FROM employees WITH reading ONLY;

Production:

Exemple # 7

Création d'une vue Oracle avec plusieurs tables

Code:

CREATE OR REPLACE VIEW dept_manger AS
SELECT
employee_id, first_name || ' ' || last_name as name, department_name
FROM EMPLOYEES
INNER JOIN DEPARTMENTS
on EMPLOYEES. EMPLOYEE_ID = DEPARTMENTS. MANAGER_ID;,

Production:

Exemple # 8

Supprimer la vue à l'aide de l'instruction Drop

Code:

Drop view employee view;

Production:

Avantages et inconvénients des vues dans un oracle

Les avantages et inconvénients sont indiqués ci-dessous:

Avantages des vues dans un oracle

Voici les avantages:

  • La vue peut être créée sur les données ou la colonne sélectionnées de la table, ce qui restreint la vue d'une table et peut masquer certaines des données ou de la colonne dans les tables.
  • La vue crée pour afficher les données sans les stocker dans la table.
  • View cab est créé pour joindre deux ou plusieurs données de tables et les stocker en tant que table ou objet.
  • Une cabine de vue est créée pour assurer la sécurité.
  • La vue offre de bonnes performances pour exécuter des requêtes complexes ou joindre des requêtes.

Inconvénients des vues dans un oracle

Voici les inconvénients:

  • Les opérations DML ne peuvent pas être exécutées en vue.
  • La vue devient inactive si la table sur laquelle elle est créée est supprimée.
  • La vue occupe un espace mémoire car c'est un objet.

Conclusion

Les vues sont des tables virtuelles qui n'existent pas physiquement. Les vues sont créées sur la ou les tables existantes. Les vues sont créées sur les requêtes fréquemment utilisées, les requêtes complexes ou les requêtes de jointure. La vue offre de bonnes performances pour exécuter des requêtes complexes ou joindre des requêtes. Les opérations DML ne peuvent pas être exécutées en vue. Une cabine de vue est créée pour assurer la sécurité. La vue devient inactive si la table sur laquelle elle est créée est supprimée.

Articles recommandés

Ceci est un guide d'Oracle Views. Ici, nous discutons des paramètres des vues, avantages et inconvénients d'Oracle ainsi que des exemples de requête. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Se joint à Oracle
  2. Oracle Data Warehousing
  3. Requêtes Oracle
  4. Qu'est-ce que la base de données Oracle