dans une base de données SQL-Server
Soit une base de données utilisée par plusieurs services
comme dans le schéma suivant :
 Les utilisateurs ayant
Leur préférences,
 les règles métier de base
peuvent être communes
à tous,
ce qui demande un
investissement conséquent
afin de vérifier la cohérence des données retournées
dans les différents outils.
Pour optimiser le processus on met en place un
système de vues en amont, comme dans le schéma
suivant.
Une vue est une liste de colonnes ou une série
d'enregistrements extraits d'une ou de plusieurs tables
existantes, ou d'une ou plusieurs vues.
 Un nom commence par une lettre.
 Après la première lettre, le nom aura des
combinaisons de caractères de soulignement, de
lettres et de chiffres.
 Un nom n'inclut pas les caractères spéciaux tels que
!, @, #, $, %, ^, &, ou *
 Un nom n'aura pas les espaces
 Si le nom est une combinaison de mots, on peut
commencer chaque mot par les majuscules.
Exemples : DateHired, RealSport
CREATE VIEW nom_vue [( nom_col1, …)]
AS
SELECT …….
[WITH CHECK OPTION]
CHECK OPTION vérifie que la mise à jour ou
l’insertion faite à travers la vue ne produisent que
des lignes qui font partie de la sélection de la vue.
SELECT * FROM nom_Vue;
Exemple:
CREATE VIEW EmployeeVue1(Nom,Prenom)
AS SELECT LastName, Firstname
FROM Employees
--consulter et extraire les données de la vue--
SELECT * FROM EmployeeVue1
Il possible d’effectuer des modifications
des données par INSERT|UPDATE|DELETE en
tenant compte de ce qui suit:
Le SELECT de la vue doit utiliser une seule
table, pas de clause ORDER BY
Les colonnes résultats du SELECT ne doivent
pas être des expressions
 Les colonnes de la vue doivent tous avoir
l’option NOT NULL
 INSERT into nom_vue values (val1, val2,…)
Exemple1: (sans WITH CHECK OPTION)
create view inscription_90 as select * from
stagiaire where annee between 1990 and 1999 ;
insert into inscription_90 values
(50,‘Informatique',1978);
Cette Mise à jour sera effectuée
Exemple2: (avec WITH CHECK OPTION)
create view inscription_90 as select * from
stagiaire where annee between 1990 and 1999
with check option ;
insert into inscription_90 values
(50,‘Informatique',1978);
Cette Mise à jour ne sera pas effectuée
 UPDATE nom_vue SET nom_col= expression
Exemple1: (sans WITH CHECK OPTION)
Create view emp_vu10 as select * from emp
where n_dept=10
Update emp_vu10 set n_dept=30 where salaire
between 10000 and 30000
Cette Mise à jour sera effectuée
Exemple2: (avec WITH CHECK OPTION)
Create view emp_vu20 as select * from emp
where n_dept=20 with check option
Update emp_vu20 set n_dept=30 where salaire
between 10000 and 30000
Cette Mise à jour ne peut pas être effectuée
 ALTER VIEW nom_vue [( nom_col1, …)]
AS
SELECT …….
[WITH CHECK OPTION]
 DROP VIEW nom_vue

downloadfile-101.pptx réseau local installation

  • 1.
    dans une basede données SQL-Server
  • 2.
    Soit une basede données utilisée par plusieurs services comme dans le schéma suivant :  Les utilisateurs ayant Leur préférences,  les règles métier de base peuvent être communes à tous, ce qui demande un investissement conséquent afin de vérifier la cohérence des données retournées dans les différents outils.
  • 3.
    Pour optimiser leprocessus on met en place un système de vues en amont, comme dans le schéma suivant.
  • 4.
    Une vue estune liste de colonnes ou une série d'enregistrements extraits d'une ou de plusieurs tables existantes, ou d'une ou plusieurs vues.  Un nom commence par une lettre.  Après la première lettre, le nom aura des combinaisons de caractères de soulignement, de lettres et de chiffres.  Un nom n'inclut pas les caractères spéciaux tels que !, @, #, $, %, ^, &, ou *  Un nom n'aura pas les espaces  Si le nom est une combinaison de mots, on peut commencer chaque mot par les majuscules. Exemples : DateHired, RealSport
  • 5.
    CREATE VIEW nom_vue[( nom_col1, …)] AS SELECT ……. [WITH CHECK OPTION] CHECK OPTION vérifie que la mise à jour ou l’insertion faite à travers la vue ne produisent que des lignes qui font partie de la sélection de la vue.
  • 6.
    SELECT * FROMnom_Vue; Exemple: CREATE VIEW EmployeeVue1(Nom,Prenom) AS SELECT LastName, Firstname FROM Employees --consulter et extraire les données de la vue-- SELECT * FROM EmployeeVue1
  • 7.
    Il possible d’effectuerdes modifications des données par INSERT|UPDATE|DELETE en tenant compte de ce qui suit: Le SELECT de la vue doit utiliser une seule table, pas de clause ORDER BY Les colonnes résultats du SELECT ne doivent pas être des expressions  Les colonnes de la vue doivent tous avoir l’option NOT NULL
  • 8.
     INSERT intonom_vue values (val1, val2,…) Exemple1: (sans WITH CHECK OPTION) create view inscription_90 as select * from stagiaire where annee between 1990 and 1999 ; insert into inscription_90 values (50,‘Informatique',1978); Cette Mise à jour sera effectuée
  • 9.
    Exemple2: (avec WITHCHECK OPTION) create view inscription_90 as select * from stagiaire where annee between 1990 and 1999 with check option ; insert into inscription_90 values (50,‘Informatique',1978); Cette Mise à jour ne sera pas effectuée
  • 10.
     UPDATE nom_vueSET nom_col= expression Exemple1: (sans WITH CHECK OPTION) Create view emp_vu10 as select * from emp where n_dept=10 Update emp_vu10 set n_dept=30 where salaire between 10000 and 30000 Cette Mise à jour sera effectuée
  • 11.
    Exemple2: (avec WITHCHECK OPTION) Create view emp_vu20 as select * from emp where n_dept=20 with check option Update emp_vu20 set n_dept=30 where salaire between 10000 and 30000 Cette Mise à jour ne peut pas être effectuée
  • 12.
     ALTER VIEWnom_vue [( nom_col1, …)] AS SELECT ……. [WITH CHECK OPTION]  DROP VIEW nom_vue