Vous êtes sur la page 1sur 4

ETIGE Bases de Données (Microsoft SQL Server)

Objectifs :
Définir via le code sql :
1. Un type de données
2. Une valeur par défaut
3. Une valuation obligatoire (NOT NULL)
4. Une contrainte (CHECK)
5. Une clé primaire,
6. Une clé étrangère,
7. Une unicité des données

Travail à faire
Créer une base de données “Gestion_Commandes_Clients”

1. Type de donnée défini par l’utilisateur


Les types de données définis par l’utilisateur (TDDU) sont liés à une base de données. Il faut donc disposer d’une base dans laquelle
on prévoit de créer des tables, pour créer de TDDU. Comme tous les objets d’une base de données, un TDDU peut être créé avec SQL
Entreprise Manager ou du code via l’Analyseur de requête.

Travail à faire :
Créer les types par défaut suivants
Les Types T_Adresse → Char (50)
Les Types T_Ville → Char (20)
Les Types T_CodePostal → Char (5)

Le Code SQL :
CREATE TYPE T_Adresse FROM char(50) NOT NULL
CREATE TYPE T_Ville FROM char(20) NOT NULL
CREATE TYPE T_CodePostal FROM char(5) NOT NULL

2. Valeur par défaut


La contrainte DEFAULT permet de définir la valeur par défaut attachée à une colonne de la table.
Une colonne a ou non une contrainte DEFAULT qui contient une valeur constante (texte ou numérique).
On peut aussi créer une valeur par défaut sans la rattacher immédiatement à une colonne; elle est alors considérée comme un objet
faisant partie de la base de données, au même titre qu'une table ou un index. L'intérêt d'une valeur par défaut de ce type est qu'elle
peut être attachée soit à une colonne, soit à un TDDU. Si l'on attache une valeur par défaut à un TDDU, la colonne créée avec ce type
hérite de la valeur par défaut.

Travail à faire N°1 :


Créer les valeurs par défauts
Valeur par défaut appelée DEF_VILLE ‘’FES’’
Valeur par défaut appelé DEF_CODEPOSTAL ‘’30000’’

Le code SQL :
CREATE DEFAULT DEF_VILLE AS 'FES'
CREATE DEFAULT DEF_CODEPOSTAL AS '30000'

Mr NAHLI 1/4
ETIGE Bases de Données (Microsoft SQL Server)
Travail à faire N°2 :
Lier la valeur par défaut « DEF_VILLE » au type « T_VILLE » de la table CLIENTS
Lier la valeur par défaut « DEF_CODEPOSTAL » au type « T_CODEPOSTAL » de la table CLIENTS

Le code SQL :
sp_bindefault DEF_VILLE , T_VILLE
sp_bindefault DEF_CODEPOSTAL , T_CodePostal

Travail à faire N° 3:
Créer la table « Clients »:

Colonnes Type

Code Char(5)

Nom Char(25)

Adresse T_Adresse

Ville T_VILLE

Code_Postal T_CodePostal

3. Contrainte

Travail à faire :
Définir une contrainte sur la colonne "Ville" de la table "CLIENTS" pour accepter que les valeurs « FES » ou « CASA »

Le code SQL :
ALTER TABLE CLIENTS
ADD CONSTRAINT CHK_CLIENTS_Ville CHECK (Ville=’FES’ or Ville=’CASA’)

Mr NAHLI 2/4
ETIGE Bases de Données (Microsoft SQL Server)

Atelier1 : L’Administration de SQL Server via le Langage SQL


Base de Données "AGENCE"
CLIENTS RESERVATIONS
Champs Type Dim Champs Type Dim
Numclient Int NumRes Int
Nom Varchar 20 Classe Int
Prénom Varchar 20 DateRes Datetime
Ville T_ville Numclient Int

Travail à faire
1.Créez une base de données appelée "AGENCE"
CREATE DATABASE AGENCE
USE AGENCE

2.Créez un type Varchar de taille 30 appelé T_Ville


CREATE TYPE T_Ville FROM Varchar(30) NOT NULL

3.Créez une valeur par défaut ‘Fès’


CREATE DEFAULT DEF_Ville AS 'FES'

4.Liez la valeur par défaut au type T_Ville


sp_bindefault DEF_VILLE , T_Ville

5. A l'intérieur de la base de données "AGENCE", créez les tables suivantes:


CREATE TABLE CLIENTS
(
Numclient INT IDENTITY,
Nom VARCHAR(20),
Prénom VARCHAR(20),
Ville T_ville
)
CREATE TABLE RESERVATIONS
(
NumRes INT,
Classe Int,
DateRes Datetime,
NumClient Int
)

Mr NAHLI 3/4
ETIGE Bases de Données (Microsoft SQL Server)
6.Modifier les tables en déclarant comme clés primaires Clés primaires : Numclient pour la
table CLIENTS et NumRes pour la table RESERVATIONS
ALTER TABLE CLIENTS
ALTER COLUMN NumClient Int NOT NULL

ALTER TABLE RESERVATIONS


ALTER COLUMN NumRes INT NOT NULL

ALTER TABLE CLIENTS


ADD CONSTRAINT PK_CLIENTS_NumClient PRIMARY KEY (NumClient)

ALTER TABLE RESERVATIONS


ADD CONSTRAINT PK_RESERVATIONS_NumRes PRIMARY KEY (NumRes)

7.Modifier la table RESERVATIONS en déclarant comme clé étrangère Numclient


ALTER TABLE RESERVATIONS
ADD CONSTRAINT FK_RESERVATIONS_NumClient
FOREIGN KEY (NumClient) REFERENCES CLIENTS(NumClient)

8.Modifiez la structure de la table CLIENTS en ajoutant le champ Age de type Entier


ALTER TABLE CLIENTS ADD Age Integer

9.Ajoutez le client suivant dans la table CLIENTS:


INSERT INTO CLIENTS (nom, prénom,age)VALUES ('ALAOUI', 'ALI',23)

10.Attribuez le nom "TAZI" au client ayant le numéro 1


UPDATE CLIENTS SET Nom ='TAZI' WHERE Numclient=1

11.Ajouter une année à l’âge de tous les clients


UPDATE CLIENTS SET Age = Age+ 1

3. Définir une contrainte sur la colonne "Classe" de la table "RESERVATIONS" pour


accepter uniquement 1 ou 2 ou 3
ALTER TABLE RESERVATIONS
ADD CONSTRAINT CHK_RESERVATIONS_Classe CHECK(Classe=1 or Classe=2 or Classe=3)

Mr NAHLI 4/4

Vous aimerez peut-être aussi