USE MASTER
CREATE DATABASE Exercice2
GO
--
--Matiere(codeMat[PK],libelleMat,coeffMat)
--Etudiant(numEt , nomEt , prenomEt , dateN, groupe, age)
--Evaluer(numEt , codeMat , dateEval, note )
--
--Ceation du tables--Q1
USE TP2S1
CREATE TABLE Matiere(codeMat INT PRIMARY KEY, libelleMat VARCHAR(10), coeffMat INT)
CREATE TABLE Etudiant(numEt INT PRIMARY KEY, nomEt VARCHAR(10), prenomEt VARCHAR(10))
CREATE TABLE Evaluer(numEt INT FOREIGN KEY REFERENCES Etudiant(numEt), codeMat INT FOREIGN KEY REFERENCES Matiere(codeMat), dateEval DATE, note DECIMAL(4,2))
GO
--Affichage des tableaux vides--
SELECT * FROM Matiere
SELECT * FROM Etudiant
SELECT * FROM Evaluer
GO
--Ajoute de dateN et groupe table Etudiant--Q2 et Q3
ALTER TABLE Etudiant
ADD dateN DATE
ALTER TABLE Etudiant
ADD groupe VARCHAR(10) NOT NULL
GO
--Affichage des tableaux vides après l'ajoute de dateN et groupe
SELECT * FROM Etudiant
GO
--Contrainte unique--Q4
ALTER TABLE Etudiant
ADD CONSTRAINT unique_constr_Etudiant_numEt UNIQUE (numEt)
--
ALTER TABLE Matiere
ADD CONSTRAINT unique_constr_Matiere_codeMat UNIQUE (codeMat)
GO
--Ajoute d'age au table Etudiant--Q5
ALTER TABLE Etudiant
ADD age AS YEAR(GETDATE())-YEAR(Etudiant.dateN)
GO
--Affichage des tableaux vides après l'ajoute d'age--
SELECT * FROM Etudiant
GO
--Contraint sur la note--Q6
ALTER TABLE Evaluer
ADD CONSTRAINT check_constr_Evaluer_note CHECK(note>=0AND note<=20)
GO
--Insertion des données
INSERT INTO Matiere VALUES (1,'Matiere 1',1)
INSERT INTO Matiere VALUES (2,'Matiere 2',2)
INSERT INTO Matiere VALUES (3,'Matiere 3',3)
GO
--ERREUR--le code est unique
INSERT INTO Matiere VALUES (1,'Matiere 4',4)
Go
--
INSERT INTO Etudiant VALUES(1, 'nomEt 1', 'prenomEt 1', '1996/01/12', 'groupe 1')
INSERT INTO Etudiant VALUES(2, 'nomEt 2', 'prenomEt 2', '1997/01/12', 'groupe 2')
INSERT INTO Etudiant VALUES(3, 'nomEt 3', 'prenomEt 3', '1998/01/12', 'groupe 3')
GO
--
INSERT INTO Evaluer VALUES(1,1,'2019/10/27', 0)
INSERT INTO Evaluer VALUES(1,2,'2019/10/27', 11)
INSERT INTO Evaluer VALUES(1,3,'2019/10/27', 12)
INSERT INTO Evaluer VALUES(2,1,'2019/10/27', 13)
INSERT INTO Evaluer VALUES(3,1,'2019/10/27', 20)
GO
--ERREUR--note<0 ou >20
INSERT INTO Evaluer VALUES(2,2,'2019/10/27', -1)
GO
--Affichage des tableaux--age calculé autaumatiquement
SELECT * FROM Matiere
SELECT * FROM Etudiant
SELECT * FROM Evaluer
GO
===> Exercice 3 Corrigé
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.