Académique Documents
Professionnel Documents
Culture Documents
Nom_Stgr varchar(30),
Prenom_Stgr varchar(30),
Date_Naissance date,
Tel_Fixe varchar(30),
Tel_Portable varchar(30),
E_Mail varchar(30),
Libelle_Filiere varchar(30)
Libelle_Module varchar(30)
Note_1 float,
Note_2 float,
Note_3 float,
primary key(Code_Stgr,Code_Module)
1. Année vaut 1 ou 2
alter table Groupe add constraint c_annee check(Annee in(1,2))
-- 2. Tél_Fixe commence par 05 et Tél_Portable par 06, les deux ne peuvent pas dépasser 10 chiffres
alter table Stagiaire add constraint c_fixe check (Tel_Fixe like '05________')
alter table Stagiaire add constraint c_portable check (Tel_Portable like '06________')
alter table Stagiaire add constraint c_email check (E_Mail like '%@%.%')
-- 4. Les colonnes (Nom_Stgr, Prénom_Stgr, Date_Naissance) ne peuvent pas être, toutes les trois, redondantes
-- 5. Code_Groupe dépend de l’année, s’il s’agit d’un groupe de première année alors le code ressemble à
alter table Groupe add constraint c_groupes check((Annee=1 and Code_Groupe like 'G[A-H]') or (Annee=2 and
Code_Groupe like 'G[1-8]'))
-- 6. Note_1, Note_2 et Note_3 sont comprises entre 0 et 20, s’elles ne sont pas remplies elles valent 0
alter table Note add constraint c_notes check(Note_1 between 0 and 20 and Note_2 between 0 and 20 and Note_3 between 0
and 20)
-- 7. Ajouter une colonne Moyenne à la table Note qui vaut : (Note_1 + Note_2 + Note_3)/3
Exerceice2
-- 2. Créer les cinq tables en désignant les clés primaires mais pas les clés étrangères.
PRENOM varchar(30),
DATE_DE_NAISSANCE date,
N_TELEPHONE varchar(30)
)
TYPE_LOGEMENT varchar(30),
ID_QUARTIER int,
NO int,
RUE varchar(30),
SUPERFICIE float,
LOYER float
ID_COMMUNE int,
LIBELLE_QUARTIER varchar(30)
CHARGES_FORFAITAIRES varchar(30)
NOM_COMMUNE varchar(30),
DISTANCE_AGENCE float ,
NOMBRE_D_HABITANTS int
-- 3. Créer les contraintes permettant de préciser les clés étrangères avec suppression et modification en cascade.
alter table INDIVIDU add constraint fk_INDIVIDU foreign key (N_LOGEMENT) references
LOGEMENT(N_LOGEMENT) on delete cascade on update cascade
alter table LOGEMENT add constraint fk1_LOGEMENT foreign key (TYPE_LOGEMENT) references
TYPE_DE_LOGEMENT(TYPE_LOGEMENT) on delete cascade on update cascade
alter table LOGEMENT add constraint fk2_LOGEMENT foreign key (ID_QUARTIER) references
QUARTIER(ID_QUARTIER) on delete cascade on update cascade
alter table QUARTIER add constraint fk_QUARTIER foreign key (ID_COMMUNE) references
COMMUNE(ID_COMMUNE) on delete cascade on update cascade
-- 4. Modifier la colonne N_TELEPHONE de la table INDIVIDU pour qu’elle n’accepte pas la valeur nulle.
alter table INDIVIDU add constraint Def_Nom default 'SansNom' for NOM
-- 6. Créer une contrainte ck_dateNaissance sur la colonne DATE_DE_NAISSANCE qui empêche la saisie d’une date
postérieure