Sql Lld
Dissertations Gratuits : Sql Lld. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresd’une contrainte ou d’un index : il faut d’abord supprimer la contrainte ou l’index. 6
3.3.5 Ajout d’une contrainte : ADD [CONSTRAINT] 6
3.3.6 Suppression d’une contrainte ou d’un index 6
Attention : Il est impossible de supprimer un index si cet index est utilisé dans le cadre d’une contrainte de clé étrangère. 6
3.3.7 Syntaxe générale du ALTER TABLE 7
ALTER TABLE AncienNomTable 7
. RENAME [TO] NouveauNomTable, 7
. ADD [COLUMN] Nomcol1 [contrainte] [FIRST | AFTER NomcolX],… , 7
. DROP [COLUMN] Nomcol1,… , 7
. ADD [CONSTRAINT] nomContrainte PRIMARY KEY (Nomcolx [, Nomcoly,…]), 7
. ADD [CONSTRAINT] nomContrainte FOREIGN KEY (NomcolA [,NomcolB]) REFERENCES NomTable (NomcolZ [,NomcolY]), 7
. ADD [CONSTRAINT] nomContrainte UNIQUE (NomcolU [,NomcolV]) , . DROP PRIMARY KEY , 7
. DROP INDEX nomIndex , 7
. DROP FOREIGN KEY nomContrainte ; 7
3.4 Suppression d’une table : DROP TABLE 7
Attention : Il est impossible de supprimer une table si celle-ci est la cible d’une contrainte de clé étrangère. 7
4 Les principaux types de données 7
La définition de données
Les commandes de définition de données permettent de créer et mettre à jour la structure des bases de données[i] :
• Définition de la base de données elle-même (le « contenant »).En effet plusieurs bases différentes peuvent exister sur la même machine.
• Définition de la structure des tables de la base de données :
o Attributs
o Contraintes
o Index
Pour ce faire, SQL dispose de plusieurs catégories de commandes :
• Les commandes CREATE qui permettent de créer une nouvelle occurrence de base, table ou index
• Les commandes ALTER qui permettent de modifier des éléments déjà créés
• Les commandes DROP qui permettent de supprimer des éléments déjà créés
Attention : Davantage encore que pour le SELECT, le langage de définition de données comporte des spécificités propres à chaque SGBDR[ii].
Définition d’une base de donnée
1 Création d’une base de données : CREATE DATABASE[iii]
|Syntaxe |CREATE DATABASE [IF NOT EXISTS] nom_BDD ; |
Exemple : création d’une base « Test »
CREATE DATABASE IF NOT EXISTS Test CHARACTER SET utf8, COLLATE utf8_bin ;
Une erreur survient si une base de données de même nom existe déjà, si vous ne spécifiez pas l'option IF NOT EXISTS.
Par ailleurs, il est possible de préciser :
• Le jeu de caractères par défaut pour les tables de cette base (clause CHARACTER SET).
• La collation (ou interclassement) c'est-à-dire les règles de comparaisons entre les caractères (clause COLLATE) : ordre des caractères, prise en compte ou non de la casse (majuscule / minuscule), prise en compte ou non des accents,…
2 Modification d’une base de données : ALTER DATABASE[iv]
|Syntaxe |ALTER DATABASE nom_BDD |
| |[CHARACTER SET nom_charset] |
| |[, COLLATE nom_collation] ; |
La modification de définition de base de données est peu utilisée car ses fonctionnalités sont réduites
3 Suppression d’une base de données : DROP DATABASE[v]
|Syntaxe |DROP DATABASE [IF EXISTS] nom_BDD ; |
DROP DATABASE détruit toutes les tables dans la base de données et la base de données elle même. Il faut donc être très prudent avec cette commande !
Structure d’une table
1 Création d’une table : CREATE TABLE[vi]
|Syntaxe |CREATE TABLE NomTable |
| |( Nomcol1 , Nomcol2 , …) ; |
|Exemple : Création de la table client |CREATE TABLE CLIENT |
| |(NumC INT, |
| |NomC VARCHAR (15), |
| |PrénomC VARCHAR (15), |
| |AdresseC VARCHAR (30), |
| |CPostalC INT) ; |
Remarque : Le type définit le format de la donnée ainsi que sa longueur pour les types numériques. Lorsqu’il s’agit de chaîne de caractères, il faut préciser la longueur. Cf. fin du document.
1 Options sur les valeurs d’attributs
Certaines options portent sur les valeurs prises par un attribut.
Elles sont précisées à la suite du type de l’attribut concerné :
• NOT NULL : impose que le champ soit renseigné
ex : « CREATE TABLE CLIENT (NumC INT NOT NULL, …… ».
• NULL : l’attribut peut ne prendre aucune valeur.
Attention : La valeur par défaut pour l’indicateur obligatoire/facultatif est NULL (facultatif).
• DEFAULT : définit la valeur par défaut de l’attribut si celui-ci n’est pas renseigné lors de l’insertion d’une nouvelle ligne. Ex « NomC VARCHAR (15) DEFAULT ‘Dupont’,
2 Définition des contraintes : CONSTRAINT[vii]
1 Contrainte de clé primaire : PRIMARY KEY
|Syntaxe |CREATE TABLE NomTable |
| |( Nomcol1 , Nomcol2 , … |
| |[CONSTRAINT NomContrainte] |
| |PRIMARY KEY (Nomcolx [, Nomcoly,…])) ; |
Il est préférable de donner un nom à une contrainte car en cas d’erreur le SGBD indique le nom de la contrainte qui a été transgressée (sinon un nom arbitraire est donné par le SGBD.).
|Exemple : de la table Salarié |CREATE TABLE SALARIE |
| |( NumS INT, |
| |NomS VARCHAR (25), |
| |PrénomS VARCHAR (25), |
| |AdresseS VARCHAR (30),
...