Exercices Sql Server

Exercice 3 BDD SQLSERVER

  1. Créer la base de données ANALYSES

  2. Créer la table CLIENT en précisant la clé primaire

  3. Modifier les colonnes cpclient et villeclient pour qu'elles n'acceptent pas une valeur nulle.

  4. Modifier les colonnes Nom pour qu'elle prend la valeur 'Anonyme' par défaut.

  5. Créer la table Echantillon en précisant la clé primaire qui commence de 10 et s'incrémente automatiquement de 1, codeclient est la clé étrangère vers la table Client.

  6. Créer la table Typeanalyse en précisant de clé primaire.

  7. Créer une contrainte ck_prixTypeAnalyse qui impose de saisir un prixTypeAnalyse dans la table Typeanalyse qui doit être entre 100 et 1000.

  8. Créer la table Realiser en précisant que le couple (codeEchantillon,refTypeAnalyse) est une clé primaire, en même temps, codeEchantillon est une clé étrangère vers la table Echantillon et refTypeAnalyse est clé étrangère vers la table TypeAnalyse.

  9. Créer une contrainte ck_dateRealisation qui vérifie que la date de dateRealisation est entre la date du jour même et 3 jours après.

Supprimer la colonne rue de la table Client.

 

===> Exercice 4 Corrigé

USE MASTER
CREATE DATABASEexercice_3
GO
--

--Creation du table Client--Q2
CREATE TABLE Client
(codeClient INT PRIMARY KEY, nom VARCHAR(10), cpClient VARCHAR(10), villeClient VARCHAR(10),
tel VARCHAR(10),
--LIKE '[0][5-7][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]',
rue VARCHAR(10)
)
GO

--Modification du cpClient et villeClient--Q3
ALTER TABLE Client
ALTER COLUMN cpClient VARCHAR(10) NOT NULL
GO
ALTER TABLE Client 
ALTER COLUMN villeClient VARCHAR(10) NOT NULL
GO

--Modification du nom--Q4*********************************************
ALTER TABLE Client
ADD CONSTRAINT df_nom DEFAULT 'Anonyme' for nom
GO
--********************************************************************

--Supression du rue--Q10
ALTER TABLE Client
DROP COLUMN rue
GO

--Creation du table Echantiant--Q5
CREATE TABLE Echantion(codeEchantion INT PRIMARY KEY IDENTITY(10,1), dateEntree DATE, codeClient INT FOREIGN KEY REFERENCES Client(codeClient))
GO

--Creation du table TypeAnalyse--Q6
CREATE TABLE TypeAnalyse(refTypeAnalyse INT PRIMARY KEY, designation VARCHAR(10), typeAnalyse VARCHAR(10), prixTypeAnalyse MONEY)
GO

--Ajoute d'une contrainte--Q7
ALTER TABLE TypeAnalyse
ADD CONSTRAINT ck_prixTypeAnalyse CHECK (pRixTypeAnalyse>0 AND pRixTypeAnalyse<1000 ) --BETWEEN 100 AND 1000
GO

--Creation du table Realiser--Q8
CREATE TABLE Realiser(codeEchantion INT FOREIGN KEY REFERENCES Echantion(codeEchantion), refTypeAnalyse INT FOREIGN KEY REFERENCES TypeAnalyse(refTypeAnalyse),
dateRealisation DATE, PRIMARY KEY(codeEchantion, refTypeAnalyse))
--PRIMARY KEY(FK,FK) 
GO

--Ajoute d'une contrainte sue dateRealisation--Q9
ALTER TABLE Realiser
ADD CONSTRAINT ck_dateRealisation CHECK
(
dateRealisation >= GETDATE() AND dateRealisation<= DATEADD(DAY,3,GETDATE())
--datediff(day,getdate(),dateRealisation)<=3
)
GO

===> Exercice 4 Corrigé

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.