Vous êtes sur la page 1sur 5

Spécialité : INF ’Base de données’ Implémentation - SQL Server 2008

TP N° 3 : Création des Tables d'une Base de données

Objectifs :
 Créer les tables d'une base de données à l'aide SQL Server Management Studio.
 Interroger la base de données par des requêtes simples.

Etape1:
Création de la base de données "Gscol" de même structure physique que "Test01" créer dans le TPN°2.
Etape2:
La base de données gestion de scolarité permet le suivi des stagiaires, elle contient entre autre :
 Une table « Stagiaire » : répertoriant les informations des stagiaires de l’institut.
 Une table « Section » : une section peut contenir un ou plusieurs stagiaires.
 Une table « Module » : représente les modules enseignés dans l’institut.
 Une table « Note » : chaque stagiaire possède une note (Note_D1, Note_D2, Note_Ex) pour un module
donné.

La table Stagiaire

Propriétés du champ Description Type donnée Nom champ


Taille : 10 Non Null Matricule de Stagiaire nchar Mat_St
Taille : 50 Nom du stagiaire nvarchar Nom
Taille : 50 Prénom du stagiaire nvarchar Prenom
Taille : 10 sexe nchar Sexe
Taille de nombre entier Age du stagiaire int Age
Taille : 80 Adresse du stagiaire nvarchar Adresse
Taille : 10 Non Null Code section nchar Code_Sec

La table Section

Propriétés du champ Description Type donnée Nom champ


Taille : 10 Non Null Code section nchar Code_Sec
Taille : 50 Nom de section nvarchar Nom_Sec

La table Module

Propriétés du champ Description Type donnée Nom champ


Taille : 10 Non Null Code module nchar Code_Mod
Taille : 40 Non Null Désignation module nvarchar Des_Mod

1
Spécialité : INF ’Base de données’ Implémentation - SQL Server 2008

La table Note :

Propriétés du champ Description Type donnée Nom champ


Taille : 10 Non Null Code module Nchar Code_Mod
Taille : 10 Non Null Matricule de Stagiaire Nchar MAT_ST
Taille de nombre réel Note de devoir N°1 Real Note_D1
Taille de nombre réel Note de devoir N°2 Real Note_D2
Taille de nombre réel Note de l’examen Real Note_Ex

Travail à faire :
1. Création de la base de données "Gscol".
2. Création tables et saisie des enregistrements :
 Création des tables correspondantes, Pour cela:
Dans SQL Management Studio, développer la base de données "Gscol"
Puis créer les tables : Stagiaire, Module, Section et Note.
 Saisie des enregistrements. (8 pour la table stagiaire et 4 pour les autres tables)
(Clique droit sur la table correspondantes /modifier les 200 lignes du haut/ et saisissez dans la
grille).
Table Section

Nom_Sec Code_Sec
Informatique A
Comptabilité B
GRH C
Marketing D
Table Stagiaire

Code_Sec Adresse Age Sexe Prenom Nom Mat_St


A Meftah 22 G Ahmed Karmi 001
B Boufarik 24 G Nassim Hamadi 002
B Chiffa 20 G Karim Bouyoucef 003
B Mouzaia 23 F Imen Brahmi 004
A Affroun 20 F Ilham Taleb 005
C Blida 22 G Rida Slimani 006
A Blida 23 F Aicha Djaouti 007
C Chiffa 20 G Hakim Safroun 008

La table Module

Des_Mod Code_Mod Des_Mod Code_Mod


Analyse ANA Pascal PAS
Algorithme ALG Delphi DEL
Statistique STA Informatique INF
Anglais ANG Math Mat
Réseaux RES Recherche op ROP
SGBDR SGB Droit DRO
Méthodologie MET Comptabilité Générale CPG
Fichier Fich Français FRA

2
Spécialité : INF ’Base de données’ Implémentation - SQL Server 2008

La table Note :

Note_Ex Note_D2 Note_D1 MAT_ST Code_Mod


10.00 11.00 12.00 001 PAS
11.50 12.50 14.00 001 ANG
13.50 17.50 16.00 001 DEL
05 7.50 8.00 002 CPG
13.00 12.50 11.00 002 FRA
8.50 6.00 4.00 005 PAS
16.50 15.00 17.00 007 PAS
14.00 12.50 15.50 006 DRO
11.00 13.00 12.50 006 MET

3. Création des liens entre les tables


Pour cela : dans l’explorateur d’objet développer la base de données "Gscol"
Puis Schéma de base de données/ clique droit "Nouveau schéma de base de données" et ajouter les tables pour
créer le diagramme.
Création des schémas de données qui concernent :
 La relation « Stagiaire – Section ».
 La relation « Stagiaire – Module –Note ».
 Les quatre tables « Stagiaire – Module –Note – Section » (schéma global).

Une fois le diagramme créé, (exemple table Stagiaire et Section)


Pour définir l'intégrité référentiel (Stagiaire Section) clic droit sur la table correspondante puis Relations et définir
la clé étrangère et la clé primaire.
4. Cliquer sur Nouvelle requête et taper et exécuter les requêtes suivantes :
1. La liste de tous les stagiaires (Toutes les informations).
2. Afficher le nombre des stagiaires de la section « B »
3. Liste des modules (Code et Désignation) dont la désignation commence par la lettre « p ».
4. Liste des modules (Code et Désignation) dont la désignation se termine par la lettre « e ».
5. Liste des stagiaires (Mat, nom et prénom) dont le nom ne commence pas par la lettre « B ».
6. Liste des Notes (Note_D1, Note_D2 et Note_Ex) des modules du stagiaire de Matricule ‘001’.
7. Liste des (Mat_st, nom, Nots_Ex, code_mod) des stagiaires qui ont une note d’examen Nots_Ex >=10.
8. Afficher la moyenne du stagiaire de matricule ‘001’ dans le module de code ‘ANG’ sachant que :
Moy= (Note_D1+ Note_D2 + Note_Ex*2) /4.
9. Afficher les moyennes des stagiaires de la section ‘A’ dans le module de code ‘PAS’.
10. Afficher la moyenne des notes d’examens des stagiaires garçons de la section ‘A’ dans le module de
code ‘FRA’, ainsi la meilleure et la mauvaise note.

5. Créer une vue permettant d’afficher les notes d’examen des stagiaires avec leur matricule et
désignation module.

Note examen Désignation_module Matricule_stagiaire

3
Spécialité : INF ’Base de données’ Implémentation - SQL Server 2008

6. Créer une vue permettant d’afficher la moyenne modulaire de chaque stagiaire de la façon
suivante :

Code section Moyenne_module Désignation_module Matricule_stagiaire

7. Répéter les vues précédentes en utilisant la console graphique


8. Ecrire et exécuter les procédures suivantes :
A. Une procédure Supp1_St qui permet de supprimer un stagiaire avec les conditions suivantes :
 Ne rien faire (et afficher un message) :
1. Si le Matricule est incorrect (ou le stagiaire n’existe pas).
2. Si le stagiaire existe dans la table Note (le stagiaire possède des notes).
 Supprimer le stagiaire s’il n’existe pas dans la table Note et afficher un message.

B. Une procédure Supp2_St qui permet de supprimer un stagiaire avec les conditions suivantes :
 Ne rien faire si le matricule est incorrect ou inexistant (afficher un message).
 Sinon afficher le message « les notes du stagiaire ne sont pas encore saisis » si le stagiaire n’existe
pas dans la table Note et il existe dans la table « stagiaire ».
 Supprimer le stagiaire de la table « Stagiaire » si le stagiaire existe dans la table « Note » mais il ne
possède aucune note, les trois notes sont non remplies (null). (Pour tous les modules enseignés) (le
stagiaire sera supprimé automatiquement de la table « Note » puisque les deux tables sont reliées en
cascade).
C. Une procédure Supp_Sec Supprimer une section avec les conditions suivantes :
 Ne rien faire si le Code_Sec est incorrect et afficher un message.
 Afficher le nombre de stagiaires de la section si elle contient des stagiaires.
 Supprimer la section si elle est vide (aucun stagiaire n’appartient à cette section).
6. Ecrire et exécuter les fonctions suivantes :
 Une fonction Nbr_St qui retourne le nombre de stagiaires d’une section donnée passées en
paramètre (code section).
 Une fonction qui permet d’afficher la liste des stagiaires où l’âge est inférieur à un âge (AG) passé
par paramètre.
 Une fonction Stat_St qui retourne le nombre de stagiaires garçons (sexe G) et le nombre de
stagiaires filles de (sexe F) d’une section donnée passées en paramètre (code section).
 Une fonction Affich_type_sec qui permet d’afficher si une section est de type « G, M ou P» :
- Type G (Grande) : Si le nombre des stagiaires est > à 50.
- Type M (Moyenne) : Si le nombre des stagiaires est compri entre à 50 et 30.
- Type P (Petite) : Si le nombre des stagiaires est < à 30.
 Une fonction Moy_st_md qui retourne la moyenne d’un stagiaire donné passé en paramètre
concernant un module donné passé en paramètre.
Sachant que (Moyenne = (Note_d1+note_d2+note_ex*2) /4).
7. Créer les déclencheurs suivants :
 Un déclencheur qui permet d’insérer automatiquement la date d’inscription (Dat_ins) d’un
stagiaire après insertion.

4
Spécialité : INF ’Base de données’ Implémentation - SQL Server 2008

 Un déclencheur qui permet d’afficher automatiquement l’observation dans la table Note après
insertion ou modification des notes d’un stagiaire (Note_D1, Note_D2, Note_Ex) :
1. OBS=’ OK’ si la moyenne du module est >=10
2. OBS=’Rattrapage’ si la moyenne du module est <5
3. OBS=’A vérifier’ si la moyenne du module est comprise entre 5 et 10
Utiliser la fonction Moy_st (fonction de type scalaire qui retourne la moyenne d’un stagiaire
donné passé en paramètre concernant un module donné passé en paramètre).

8. Les curseurs : en utilisant les curseurs créer et exécuter les scripts suivants :
 Un script qui permet d’afficher les stagiaires âgés plus de 20 ans.
 Un script qui permet d’afficher les stagiaires de la section ‘A’, ainsi le nombre (sans utiliser la
fonction count).

Vous aimerez peut-être aussi