BASE DE DONNÉE
Compte rendu du tp 10
Tamir Harouach
/******* CREER LA BASE DE DONNEE ********/
create database tp10
use tp10
/********** CREER LES TABLEAUX *********/
create table emp (
nemp numeric(4),
nom varchar(25),
prÈnom varchar(25),
sexe varchar(25),
salaire numeric(10,2),
prime numeric(5,2) ,
constraint pk_emp primary key(nemp),
constraint c_sexe check (sexe in ('F','M','f','m' ) or sexe is null),
constraint C_salaire check (salaire >= 3000),
constraint C_prime check(prime <= salaire *0.1)
)
Create table services(
nserv int primary key,
libelles varchar(40))
alter table emp
add nserv int
/*************** EXERCICE 1 *************/
-- Q1 --
create trigger majuscule on emp
for insert
as
update emp
set nom = upper(nom)
where nemp=(select nemp from inserted)
/*************** EXERCICE 2 *************/
-- Q1 --
create view vue1
as
select * from emp where nserv = 1
-- Q2 --
INSERT INTO vue1
values (2,'t' ,'h' ,'m' ,5000,500,2)
select * from vue1
2
-- Q3 --
create view vue2
as
select * from emp where nserv = 1
with check option
-- Q4 --
INSERT INTO vue2
values (5,'t' ,'h' ,'m' ,5000,500,2)
-- Error Code: 1369. CHECK OPTION failed 'tp10.vue2' --
-- Q5 --
create trigger X on vue2
instead of
insert
as insert into emp
select * from inserted
3
/*************** EXERCICE 3 ************/
-- Q1 --
select * into emp_externe
from emp where 1=2
-- Q2 --
insert into emp_externe
select * from emp
-- Q3 --
select * from emp cross join emp_externe
-- Q4 --
select * from emp_externe e right outer join
services s on e.nserv=s.nserv
4
-- Q5 --
select * from emp_externe e left outer join
services s on e.nserv=s.nserv
-- Q6 --
select * from emp_externe e full outer join
services s on e.nserv=s.nserv
5