Correction Examen SQL Server Oracle Session Normale
Correction Examen SQL Server Oracle Session Normale
Correction Examen SQL Server Oracle Session Normale
Master : Contrôle les bases de données utilisateur et le fonctionnement global de SQL Server
en effectuant le suivi d’informations telles que les comptes d’utilisateur, les variables
d’environnement configurables et les messages d’erreur du système.
Model : Offre un modèle ou prototype pour les nouvelles bases de données utilisateur.
tempdb : Offre une zone de stockage pour les tables temporaires et les autres besoins de
stockage temporaire.
msdb : Offre une zone de stockage pour les informations de programmation et l’historique
des travaux.
distribution : Stocke les données relatives à l’historique et aux transactions utilisées dans la
réplication.
pubs : Propose un exemple de base de données comme outil d’apprentissage
2. les contraintes d’intégrité de sql server :
• Primary Key
• Foreign Key
• Identity
• Not Null
3. Les structures logiques et physiques qui constituent la base de données
Oracle sont-elles mêmes constituées d'autres composants.
• La structure physique est constituée de fichiers de contrôle, de fichiers
redo log online et de fichiers de données qui sont constitués de blocs
OS.
• Les composants de la structure logique d'une base de données sont les
tablespaces, les segments, les extents et les blocs de données.
I. COMPTES BANCAIRES
1. CREATE PROCEDURE MAJSOLDEBANQUE
@idCompte : int
@sens : varchar
@montant : varchar
begin
IF (sens='c') then
UPDATE compte SET CsoldeBanque=CsoldeBanque+@montant
WHERE Cid=@idCompte
else
UPDATE compte SET CsoldeBanque=CsoldeBanque-@montant
WHERE Cid=@idCompte
End if
End;
@idCompte int
@sens : varchar
@montant : vrachar
begin
IF (@sens='c') then
UPDATE compte SET CsoldeReel=CsoldeReel+@montant
WHERE Cid=@idCompte
else
UPDATE compte SET CsoldeReel=CsoldeReel-@montant
WHERE Cid=@idCompte
endif
end;
1)
use master
go
create database M21N3Ex1--AcciRoute
go
-- 2)
use M21N3Ex1
go
alter Proc AcciRoute
as
begin
if exists(select * from sys.tables where name like 'Personne')
drop table Personne
create table Personne (NAS char(9)primary key, nom varchar(35), VilleP Varchar(50))
-- 3)
create proc inserte(@dateAc datetime,@NAS char,@dommage numeric,@villeAc
varchar,@imma char)
as
begin
BEGIN try
if not exists(select * from Personne where @NAS=NAS)
RAISERROR('NAS introuvable ',15,1)
else if not exists(select * from Voiture where @Imma=Imma)
RAISERROR('IMMA introuvale ',15,1)
else --if not exists(select * from Accident)
insert into Accident values(@dateAc,@NAS,@dommage,@villeAc,@imma)
end try
begin catch
select ERROR_MESSAGE() AS ErrorMessage
end catch
end
end;