0% ont trouvé ce document utile (0 vote)
42 vues4 pages

Vues SQL

Les vues dans MySQL sont des tables virtuelles basées sur des requêtes SQL, utilisées pour simplifier les requêtes complexes, renforcer la sécurité et faciliter la maintenance des données. Elles peuvent être créées, mises à jour et supprimées, mais présentent certaines limitations, notamment la non-modification directe dans certains cas. Les vues permettent également de standardiser les requêtes et d'améliorer l'accès aux données tout en masquant des informations sensibles.

Transféré par

awpapi145
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues4 pages

Vues SQL

Les vues dans MySQL sont des tables virtuelles basées sur des requêtes SQL, utilisées pour simplifier les requêtes complexes, renforcer la sécurité et faciliter la maintenance des données. Elles peuvent être créées, mises à jour et supprimées, mais présentent certaines limitations, notamment la non-modification directe dans certains cas. Les vues permettent également de standardiser les requêtes et d'améliorer l'accès aux données tout en masquant des informations sensibles.

Transféré par

awpapi145
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Création et utilisation des vues dans MySQL

Introduction aux vues

1. Qu'est-ce qu'une vue ?


o Une vue est une table virtuelle basée sur une requête SQL. Elle ne contient pas
de données physiques, mais affiche les résultats d’une requête lorsqu’elle est
consultée.
o Utilisée pour simplifier les requêtes complexes, renforcer la sécurité, ou
présenter les données sous un format spécifique.
2. Avantages des vues
o Simplification des requêtes complexes : Les utilisateurs peuvent interagir avec
une vue comme s’il s’agissait d’une table classique.
o Sécurisation : Permet de masquer certaines colonnes ou données sensibles des
tables d'origine.
o Maintenance : Facilite les modifications sur les structures de données sans
impacter directement les utilisateurs.

Création et gestion des vues

1. Créer une vue simple


o Exemple : Créer une vue pour afficher les étudiants majeurs

CREATE VIEW etudiants_majeurs AS


SELECT id, nom, prenom, age
FROM etudiants
WHERE age >= 18;

o Consulter la vue :

SELECT * FROM etudiants_majeurs;

Créer une vue complexe avec jointures

 Exemple : Afficher les étudiants avec leurs cours :

CREATE VIEW etudiants_cours AS


SELECT [Link] AS etudiant, [Link] AS cours
FROM etudiants e
INNER JOIN cours c ON [Link] = c.etudiant_id;
 Utiliser la vue :

SELECT * FROM etudiants_cours;

Créer une vue avec alias

 Exemple : Renommer des colonnes pour un affichage personnalisé :

CREATE VIEW rapport_etudiants AS


SELECT nom AS NomEtudiant, age AS AgeEtudiant, email AS EmailEtudiant
FROM etudiants;

Mettre à jour une vue

 Pour modifier une vue existante :


CREATE OR REPLACE VIEW etudiants_majeurs AS
SELECT id, nom, age
FROM etudiants
WHERE age > 20;

Supprimer une vue

 Supprimer une vue :

DROP VIEW IF EXISTS etudiants_majeurs;

Restrictions et limitations des vues

1. Non mise à jour directe


o Une vue ne peut pas toujours être modifiée directement. Pour mettre à jour une
vue, certaines conditions doivent être respectées (comme l'absence de calculs ou de
clauses GROUP BY).
o Exemple d'une vue non modifiable

CREATE VIEW vue_inmodifiable AS


SELECT id, COUNT(*) AS nombre_cours
FROM cours
GROUP BY id;

2. Vues matérialisées

 Une vue classique est calculée à chaque requête, ce qui peut être coûteux pour
des requêtes complexes.
 Astuce : Simuler une vue matérialisée en créant une table contenant les
résultats d'une requête :
CREATE TABLE vue_materialisee AS
SELECT id, nom, age FROM etudiants WHERE age >= 18;

Cas d'utilisation des vues

1. Simplification de l'accès aux données


o Masquer des relations complexes avec une vue. Exemple

CREATE VIEW produits_fournisseurs AS


SELECT [Link] AS produit, [Link] AS fournisseur
FROM produits p
INNER JOIN fournisseurs f ON p.fournisseur_id = [Link];

Renforcer la sécurité

 Masquer des colonnes sensibles avec une vue. Exemple :

CREATE VIEW clients_public AS


SELECT id, nom, email FROM clients;

Création de rapports dynamiques

 Exemple : Afficher les ventes par mois :

CREATE VIEW rapport_ventes AS


SELECT MONTH(date_vente) AS mois, SUM(montant) AS total_ventes
FROM ventes
GROUP BY mois;

1. Standardisation des requêtes


o Utiliser une vue pour imposer une structure standard aux requêtes utilisées par
les utilisateurs ou applications.

1. Standardisation des requêtes


o Utiliser une vue pour imposer une structure standard aux requêtes utilisées par les
utilisateurs ou applications.

Travaux pratiques

1. Création d'une vue sécurisée


o Créer une vue pour afficher uniquement les noms et âges des étudiants sans afficher
leurs emails.
CREATE VIEW etudiants_public AS
SELECT id, nom, prenom, age FROM etudiants;

Création d'une vue complexe pour un tableau de bord

 Concevoir une vue affichant pour chaque cours le nombre d'étudiants inscrits.

Solution :

CREATE VIEW nombre_etudiants_par_cours AS


SELECT [Link] AS cours, COUNT([Link]) AS nombre_etudiants
FROM cours c
LEFT JOIN etudiants e ON [Link] = [Link]
GROUP BY [Link];

Création d'une vue pour un rapport mensuel

 Afficher les ventes totales par mois et par produit.

Solution :

CREATE VIEW ventes_par_mois_produit AS


SELECT MONTH(v.date_vente) AS mois, [Link] AS produit, SUM([Link]) AS
total_ventes
FROM ventes v
INNER JOIN produits p ON v.produit_id = [Link]
GROUP BY mois, produit;

Conclusion sur les vues

Les vues dans MySQL sont un puissant outil pour :

 Simplifier les interactions avec la base de données.


 Améliorer la sécurité et masquer des informations sensibles.
 Standardiser l’accès et les formats des données.
 Optimiser le développement en cachant la complexité sous une abstraction.

Vous aimerez peut-être aussi