160 likes | 362 Views
Chap 4.5 : SQL (LDD). LDD : Langage de définition de données Réfs : Manuel p105. Le SQL LDD regroupe les instructions SQL permettant de : Créer les tableaux Modifier les tableaux Supprimer les tableaux. Création des tableaux. Lors de la création d’un tableau, on doit préciser :
E N D
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105
Le SQL LDD regroupe les instructions SQL permettant de : • Créer les tableaux • Modifier les tableaux • Supprimer les tableaux
Création des tableaux Lors de la création d’un tableau, on doit préciser : • Le nom du tableau • Les différentes colonnes • Le type des données de chaque colonne et des options supplémentaires • La clé primaire et la ou les clés étrangères
Les principaux types de données : • Les données de type texte (alphanumérique) char(n) : pour les chaines de caractère de longueur fixe (ex:un code postal, numéro de téléphone) ; n=longueur de la chaine varchar(n) : pour les chaines de caractère de longueur variable ; n désigne la longueur maximale de la chaine.
Les données de type numérique • Les entiers : integer • Les réels : float • Monétaire ou décimal : decimal(n,d) n : nombre de chiffres de la partie entière d : nombre de décimales
Les données de type date/heure Date : date Heure : time Date + heure : timestamp Les données de type booléen : boolean
Quelques options complémentaires : • not null : les valeurs vides sont interdites • auto_increment : Utilisé pour créer un compteur sur une colonne qui augmentera automatiquement • Default : pour qu’une valeur se place automatiquement Exs : default null Default paris
Exemples d’application : créer le tableau service de la base de donnée support Create table service( numServiceintegerauto_increment, nomServicevarchar(25), lieu varchar(20), Primarykey(numService))
Créer le tableau employe : Create table employe( mat integerauto_increment, nomEmployevarchar(15) not null, fonction varchar(15), dateEmbauche date, salaire decimal(7,2), commission decimal(7,2) default null, numServEmployeinteger, matSuperieurinteger, Primarykey(mat), Foreignkey(numServEmploye) references 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 service Add 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 employe Add 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 employe Drop 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 employe Change 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)