Correction var2 2011 partie base de donnée

Voir le sujet précédent Voir le sujet suivant Aller en bas

Correction var2 2011 partie base de donnée

Message par Mr.Hicham le Lun Juil 11, 2011 7:14 pm

Salut voila la partie Base de donnée Var 2 2011
khdmtha daghia ta9dro tl9aw des erreurs f kestions 7 , les autres kolchi mzian

Q 1 :
Code:

/* Q 1 */
use master
go
if exists(select name from sys.databases where name = 'v2_2011')
drop database v2_2011
create database v2_2011
go

use v2_2011
go

if OBJECT_ID('Personnel','U') is not null
drop table Personnel
create table Personnel(matricule int primary key not null,
                    nom nvarchar(20),
                    prenom nvarchar(20),
                    telephone varchar(10),
                    pass varchar(20))
go

if OBJECT_ID('Autocar','U') is not null
drop table Autocar
create table Autocar(code_car int primary key not null,
                    capacite int,
                    date_achat date,
                    consommation int)
go

if OBJECT_ID('Ligne','U') is not null
drop table Ligne
create table Ligne(code_ligne int primary key not null,
                    distance int)
go

if OBJECT_ID('Calendrier','U') is not null
drop table Calendrier
create table Calendrier(code_calendrier int primary key not null,
                        jour_voyage int,
                        heur_depart time,
                        heur_arrive time,
                        code_ligne int foreign key references Ligne(code_ligne) on delete cascade on update cascade)
go

if OBJECT_ID('Ville','U') is not null
drop table Ville
create table Ville(code_ville int primary key not null,
                    nom_ville nvarchar(30))
go


if OBJECT_ID('Voyage','U') is not null
drop table Voyage
create table Voyage(code_voyage int identity(1,1) primary key not null,
                    dh_depart_voyage datetime,
                    dh_arrivee_voyage datetime,
                    places int,
                    compteur_depart int,
                    compteur_arrivee int,
                    matricule int foreign key references Personnel(matricule) on delete cascade on update cascade,
                    code_car int foreign key references Autocar(code_car) on delete cascade on update cascade,
                    code_calendrier int foreign key references Calendrier(code_calendrier) on delete cascade on update cascade)
go

if OBJECT_ID('Passer','U') is not null
drop table Passer
create table Passer(code_ligne int foreign key references Ligne(code_ligne) on delete cascade on update cascade,
                    code_ville int foreign key references Ville(code_ville) on delete cascade on update cascade,
                    order_passage int,
                    constraint pk_passer primary key(code_ligne,code_ville))
go

/* Jeu D'essai */
insert into Personnel values(1,'hicham','Adil','0987890','azqswx')
insert into Personnel values(2,'Abdo','karim','0987890','azerty')

insert into Autocar values(1,1000,'22/11/2009',6)
insert into Autocar values(2,500,'22/11/2007',10)

insert into Ligne values(1,400)
insert into Ligne values(2,700)

insert into Calendrier values(1,2,'17:00','20:05',1)
insert into Calendrier values(2,4,'13:00','15:30',2)

insert into Ville values(1,'taza')
insert into Ville values(2,'fes')

insert into Voyage values('20/06/2010 07:05','20/06/2010 09:05',20,90,100,1,1,1)
insert into Voyage values('12/08/2010 12:30','12/08/2010 14:30',20,90,100,2,2,2)

insert into Passer values(1,1,3)
insert into Passer values(2,2,4)


Q 2 :
Code:

/* Q 2_a */
alter table Passer add constraint chk_order check(order_passage between 1 and 9)
go

/* Q 2_b */
alter table Autocar add constraint chk_consom check(consommation between 6 and 16)
go


Q 3 :
Code:

/* Q 3 */

create function fn_kp(@ca int , @cd int)
returns int
as begin
return(@ca-@cd)
end

alter table Voyage add KP As (dbo.fn_kp(compteur_arrivee,compteur_depart)) 
go


Q 4 :
Code:

/* Q 4 */
if OBJECT_ID('tr1','TR') is not null
drop trigger tr1
go
create trigger tr1 On Passer for insert as
declare @ord int
select @ord = order_passage from inserted
if(@ord = ( select order_passage from inserted,Ligne L where inserted.code_ligne = L.code_ligne))
begin
print('Impossible')
rollback transaction
end

Q 5 :
Code:

/* Q 5 */
if object_id('f1','FN') is not null
drop function f1
go
create function f1(@code int)
returns nvarchar
as begin
return(select V.nom_ville from Ville V,Ligne L,Passer P
        where P.code_ville = V.code_ville and P.code_ligne = L.code_ligne
        and P.code_ligne = @code)
end


Q 6 :
Code:

/* Q 6 */
if object_id('f2','FN') is not null
drop function f2
go
create function f2(@code int)
returns table
as begin
return(select V.nom_ville from Ville V,Ligne L,Passer P
        where P.code_ville = V.code_ville and P.code_ligne = L.code_ligne
        and P.code_ligne = @code)
end

Q 7 :
Code:

/* Q 7 */
declare @code int
declare NomVille cursor for
select V.nom_ville from Ville V,Ligne L,Passer P
        where P.code_ville = V.code_ville and P.code_ligne = L.code_ligne
        and P.code_ligne = @code
open NomVille
Fetch next from NomVille into @code
while(@@FETCH_STATUS=0)
begin
fetch next from NomVille into @code
end
close NomVille
deallocate NomVille
go


avatar
Mr.Hicham
 
 

Nombre de messages : 464
Date d'inscription : 25/05/2010
Masculin

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Correction var2 2011 partie base de donnée

Message par nitch01 le Lun Juil 11, 2011 7:29 pm

Layrham lwalidin akhoya


avatar
nitch01
 
 

Nombre de messages : 5
Date d'inscription : 19/06/2011
Masculin

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Correction var2 2011 partie base de donnée

Message par Yacine le Lun Juil 11, 2011 9:26 pm

Chokran , Wkha Had Chi S3éb WMa9rinahch :/ !!


avatar
Yacine
 
 

Nombre de messages : 24
Date d'inscription : 23/04/2011
Masculin

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Correction var2 2011 partie base de donnée

Message par karima koko le Lun Juil 11, 2011 11:22 pm

pour la variant 3 svp


avatar
karima koko
 
 

Nombre de messages : 15
Date d'inscription : 02/07/2011
Féminin

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Correction var2 2011 partie base de donnée

Message par lovyta le Mar Juil 12, 2011 4:56 pm

MERCI KHOYA HICHAM


avatar
lovyta
 
 

Nombre de messages : 1
Date d'inscription : 11/07/2011
Féminin

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum