20 Déc2015
Définition des données- Base de données ANALYSES
Objectif: Écrire les instructions SQL de définition des données.
Soit le modèle relationnel suivant :
Travail à faire:
- Créer la base de données ANALYSES
- Créer la table CLIENT en précisant la clé primaire
- Modifier les colonnes cpclient et villeclient pour qu'elles n'acceptent pas une valeur nulle.
- Modifier les colonnes Nom pour qu'elle prend la valeur 'Anonyme' par défaut.
- 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.
- Créer la table Typeanalyse en précisant de clé primaire.
- Créer une contrainte ck_prixTypeAnalyse qui impose de saisir un prixTypeAnalyse dans la table Typeanalyse qui doit être entre 100 et 1000.
- 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.
- 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.
//Source : www.exelib.net
// Auteur: CHAOULID
// Copyright: Exelib.net
// ***D'autres Écritures sont possibles notamment à la création des tables***
/*Q1*/ create database ANALYSES go use ANALYSES /*Q2*/ create table Client(codeclient varchar(30) primary key,nom varchar(30),rue varchar(30),cpclient varchar(30),villeclient varchar(30),tel varchar(30)) /*Q3*/ alter table Client alter column cpclient varchar(30) not null alter table Client alter column villeclient varchar(30) not null /*Q4*/ alter table Client add constraint val_def default 'Anonyme' for nom // il faut ajouter une contrainte. /*Q5*/ create table Echantillon(codeEchantillon int primary key identity(10,1),dateEntree date,codeclient varchar(30) foreign key references Client(codeclient)) /*Q6*/ create table Typeanalyse(RefTypeAnalyse varchar(30) primary key,designation varchar(50),TypeAnalyse varchar(50),prixTypeAnalyse money) /*Q7*/ alter table Typeanalyse add constraint ck_prixTypeAnalyse check(prixTypeAnalyse between 100 and 1000) /*Q8*/ create table Realiser(codeEchantillon int foreign key references Echantillon(codeEchantillon),refTypeAnalyse varchar(30) foreign key references Typeanalyse(RefTypeAnalyse),dateRealisation date, primary key(codeEchantillon,refTypeAnalyse)) exec sp_helpconstraint Realiser //voir les contraintes /*Q9*/ alter table Realiser add constraint ck_dateRealisation check(datediff(day,getdate(),dateRealisation)<=3) /*Q10*/ alter table Client drop column rue