Correction Dossier 1 - Partie SQL pour <TDIju2011-EFF-TpV8>
Page 1 sur 1 • Partagez
Correction Dossier 1 - Partie SQL pour <TDIju2011-EFF-TpV8>
-- Question 1
create database v8_tp_2011
go
use v8_tp_2011
go
create table Theme
(code_theme int primary key,
nom_theme varchar(50),
description_theme varchar(100))
go
create table Member
(login varchar(50) primary key,
nom varchar(50),
prenom varchar(50),
email varchar(50),
pass varchar(50))
go
create table role
(nom_role varchar(50) primary key)
go
create table rol_utilisateur
(login varchar(50) foreign key references Member(login),
nom_role varchar(50) foreign key references role(nom_role),
primary key (login,nom_role))
go
create table document
(code_document int primary key identity,
description_document varchar(100),
chemin_document varchar(100),
date_envoi datetime,
etat_document int,
code_theme int foreign key references Theme(code_theme), login varchar(50) foreign key references Member(login))
go
create table commentaire
(code_commentaire int primary key identity,
text_commentaire varchar(255),
date_commentaire datetime,
etat_commentaire int,
code_document int foreign key references document(code_document), login varchar(50) foreign key references Member(login))
Go
insert into Theme values(1,'TDI','INFORMATION TDI')
insert into Member values('mourad277','mourad','vitcho','
vitcho@gmail.com','142536')
insert into role values('Utilisateur')
insert into rol_utilisateur values('mourad277','Utilisateur')
insert into document values('document algorithme','doc/algo.pdf','01/05/2011',1,1,'mourad277')
insert into commentaire values('Merci pour le document','05/05/2011',1,1,'mourad277')
-- Question 2
create trigger qu2 on Member for insert as
begin
declare @login varchar(50)
select @login=login from inserted
insert into rol_utilisateur values(@login,'Utilisateur')
end
-- Question 3
create trigger qu3 on Member for insert as
begin
declare @login varchar(50)
select @login=login from inserted
if(@login='admin')
rollback
end
-- Question 4
create function qu4(@n int) returns int as
begin
declare @count int
select @count=count(*) from document where code_theme=@n
return @count
end
-- Question 5
create proc qu5 as
begin
select t.nom_theme,count(*) as Total from commentaire c,document d, Theme t where
c.login=d.login and t.code_theme=d.code_theme group by t.nom_theme
end
-- Question 6
create proc qu6 as
begin
select m.nom,m.prenom,count(*) from Member m,document d where m.login=d.login group by m.nom,m.prenom having count(*)>5
end
create database v8_tp_2011
go
use v8_tp_2011
go
create table Theme
(code_theme int primary key,
nom_theme varchar(50),
description_theme varchar(100))
go
create table Member
(login varchar(50) primary key,
nom varchar(50),
prenom varchar(50),
email varchar(50),
pass varchar(50))
go
create table role
(nom_role varchar(50) primary key)
go
create table rol_utilisateur
(login varchar(50) foreign key references Member(login),
nom_role varchar(50) foreign key references role(nom_role),
primary key (login,nom_role))
go
create table document
(code_document int primary key identity,
description_document varchar(100),
chemin_document varchar(100),
date_envoi datetime,
etat_document int,
code_theme int foreign key references Theme(code_theme), login varchar(50) foreign key references Member(login))
go
create table commentaire
(code_commentaire int primary key identity,
text_commentaire varchar(255),
date_commentaire datetime,
etat_commentaire int,
code_document int foreign key references document(code_document), login varchar(50) foreign key references Member(login))
Go
insert into Theme values(1,'TDI','INFORMATION TDI')
insert into Member values('mourad277','mourad','vitcho','
vitcho@gmail.com','142536')
insert into role values('Utilisateur')
insert into rol_utilisateur values('mourad277','Utilisateur')
insert into document values('document algorithme','doc/algo.pdf','01/05/2011',1,1,'mourad277')
insert into commentaire values('Merci pour le document','05/05/2011',1,1,'mourad277')
-- Question 2
create trigger qu2 on Member for insert as
begin
declare @login varchar(50)
select @login=login from inserted
insert into rol_utilisateur values(@login,'Utilisateur')
end
-- Question 3
create trigger qu3 on Member for insert as
begin
declare @login varchar(50)
select @login=login from inserted
if(@login='admin')
rollback
end
-- Question 4
create function qu4(@n int) returns int as
begin
declare @count int
select @count=count(*) from document where code_theme=@n
return @count
end
-- Question 5
create proc qu5 as
begin
select t.nom_theme,count(*) as Total from commentaire c,document d, Theme t where
c.login=d.login and t.code_theme=d.code_theme group by t.nom_theme
end
-- Question 6
create proc qu6 as
begin
select m.nom,m.prenom,count(*) from Member m,document d where m.login=d.login group by m.nom,m.prenom having count(*)>5
end
Mr.Ayoub- Administrateur
- Nombre de messages : 5345
Date d'inscription : 10/01/2010
Sujets similaires
» Correction Dossier 1 - Partie SQL TDIju2011-EFF-TpV1
» Théorique TMSIR 2012 (Tableaux Dossier 3 partie 2) Correction
» Correction Examen 2011 TP Variante 5 (Dossier 3)
» Correction : Partie Asp variante 4 EFF { 2010 }
» Correction : EFF Partie Asp variante 1 & 7 & 9 [ 2007]
» Théorique TMSIR 2012 (Tableaux Dossier 3 partie 2) Correction
» Correction Examen 2011 TP Variante 5 (Dossier 3)
» Correction : Partie Asp variante 4 EFF { 2010 }
» Correction : EFF Partie Asp variante 1 & 7 & 9 [ 2007]
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ven Nov 16, 2018 6:14 pm par tri2b
» Examen de fin de formation Théorique 2018 TDM
Mar Juin 19, 2018 8:08 pm par Mr.Ayoub
» Examen de Passage Chef Chantier TP 2010 Pratique
Lun Juin 04, 2018 11:07 am par Mr.Ayoub
» Examen de fin de formation Chef de Chantier T.P 2012 Théorique
Dim Juin 03, 2018 3:59 pm par Mr.Ayoub
» Examen de fin de formation TSGO 2016 Pratique Variante 1
Dim Juin 03, 2018 3:36 pm par Mr.Ayoub
» Examen de fin de formation Chef de Chantier T.P 2008 Théorique
Dim Juin 03, 2018 3:25 pm par Mr.Ayoub
» Examen de Passage Chef de Chantier T.P 2008 Théorique et Pratique
Dim Juin 03, 2018 3:24 pm par Mr.Ayoub
» Examen de Fin de Formation Gestion des Entreprises TSGE 2015
Mar Mai 29, 2018 12:18 pm par Mr.Ayoub
» Examen de Passage 2015 Gestion des Entreprises TSGE
Mar Mai 29, 2018 11:55 am par Mr.Ayoub
» Examen de Passage Gestion des Entreprises TSGE 2017
Mar Mai 29, 2018 11:51 am par Mr.Ayoub