Chap 4.5 : SQL (LDD)
description
Transcript of Chap 4.5 : SQL (LDD)
Chap 4.5 : SQL (LDD)Chap 4.5 : SQL (LDD)
LDD : Langage de définition LDD : Langage de définition de donnéesde données
Réfs : Manuel p105Réfs : Manuel p105
Le SQL LDD regroupe les instructions Le SQL LDD regroupe les instructions SQL permettant de :SQL permettant de :
Créer les tableauxCréer les tableaux
Modifier les tableauxModifier les tableaux
Supprimer les tableauxSupprimer les tableaux
Création des tableauxCréation des tableauxLors de la création d’un tableau, on Lors de la création d’un tableau, on
doit préciser :doit préciser :
Le nom du tableauLe nom du tableau
Les différentes colonnesLes différentes colonnes
Le type des données de chaque Le type des données de chaque colonne et des options colonne et des options supplémentairessupplémentaires
La clé primaire et la ou les clés La clé primaire et la ou les clés étrangèresétrangères
Les principaux types de données :Les principaux types de données :
Les données de type texte Les données de type texte (alphanumérique)(alphanumérique)
char(n) : pour les chaines de caractère de char(n) : pour les chaines de caractère de longueur fixe (ex:un code postal, numéro longueur fixe (ex:un code postal, numéro de téléphone) ; n=longueur de la chainede téléphone) ; n=longueur de la chaine
varchar(n) : pour les chaines de caractère de varchar(n) : pour les chaines de caractère de longueur variable ; n désigne la longueur longueur variable ; n désigne la longueur maximale de la chaine. maximale de la chaine.
Les données de type numériqueLes données de type numérique
Les entiers : integerLes entiers : integer
Les réels : floatLes réels : float
Monétaire ou décimal : decimal(n,d)Monétaire ou décimal : decimal(n,d)
n : nombre de chiffres de la partie n : nombre de chiffres de la partie entièreentière
d : nombre de décimales d : nombre de décimales
Les données de type date/heureLes données de type date/heure
Date : dateDate : date
Heure : timeHeure : time
Date + heure : timestampDate + heure : timestamp
Les données de type booléen : booleanLes données de type booléen : boolean
Quelques options complémentaires :Quelques options complémentaires :
not null : les valeurs vides sont not null : les valeurs vides sont interditesinterdites
auto_increment : Utilisé pour créer auto_increment : Utilisé pour créer un compteur sur une colonne qui un compteur sur une colonne qui augmentera automatiquementaugmentera automatiquement
Default : pour qu’une valeur se place Default : pour qu’une valeur se place automatiquementautomatiquement
Exs : default nullExs : default null
Default paris Default paris
Exemples d’application : créer le Exemples d’application : créer le tableau service de la base de donnée tableau service de la base de donnée supportsupport
Create table service(Create table service(
numService integer auto_increment,numService integer auto_increment,
nomService varchar(25),nomService varchar(25),
lieu varchar(20),lieu varchar(20),
Primary key(numService)) Primary key(numService))
Créer le tableau employe :Créer le tableau employe :Create table employe(Create table employe(mat integer auto_increment,mat integer auto_increment,nomEmploye varchar(15) not null,nomEmploye varchar(15) not null,fonction varchar(15),fonction varchar(15),dateEmbauche date,dateEmbauche date,salaire decimal(7,2),salaire decimal(7,2),commission decimal(7,2) default null,commission decimal(7,2) default null,numServEmploye integer, numServEmploye integer, matSuperieur integer,matSuperieur integer,Primary key(mat),Primary key(mat),Foreign key(numServEmploye) references Foreign key(numServEmploye) references
service(numService)service(numService)))
Suppression d’un tableau
Ex : Supprimer le tableau employe de la base de données
Drop table employe
Rajouter une colonne dans un tableau
Exemple : On souhaite rajouter dans le tableau service une colonne budget qui permettra de préciser le budget alloué à chaque service pour son fonctionnement.
Alter table serviceAdd budget decimal(7,2) not null
Rajouter une clé primaire ou une clé étrangère
Exemple : lors de la création du tableau employe, il a été oublié de créer la clé étrangère matSupérieur en référence à la colonne mat du tableau employe.
Alter table employeAdd foreign key(matSuperieur)
references employe(mat)
Supprimer une colonne d’un tableau
Exemple : dans le tableau employe, on souhaite supprimer la colonne dateEmbauche.
Alter table employeDrop dateEmbauche
Rmq : pour pouvoir supprimer la colonne, il ne faut pas que la colonne soit reliée à un autre tableau.
Modifier une colonne d’un tableau
Modifier le nom + type + options d’une colonne
Exemple : Dans le tableau employe, on souhaite changer le nom de la colonne fonction par le nom poste.
Alter table employeChange fonction poste varchar(15)
Pour modifier seulement le type et les options
Exemple : On souhaite modifier le type de la colonne poste du tableau employe pour qu’il accepte une longueur de caractère maximale de 20.
Alter table employe Modify poste varchar(20)