0% ont trouvé ce document utile (0 vote)
12 vues32 pages

LDD (Partie 1)

Ce document présente un cours sur le langage SQL, en se concentrant sur le langage de définition de données (LDD) et les opérations de création et de manipulation des tables. Il aborde les types de données, la création de tables, l'ajout de contraintes d'intégrité, ainsi que la gestion des colonnes et des tables. Les syntaxes et exemples pratiques sont fournis pour illustrer chaque concept.

Transféré par

Emulateur pro
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues32 pages

LDD (Partie 1)

Ce document présente un cours sur le langage SQL, en se concentrant sur le langage de définition de données (LDD) et les opérations de création et de manipulation des tables. Il aborde les types de données, la création de tables, l'ajout de contraintes d'intégrité, ainsi que la gestion des colonnes et des tables. Les syntaxes et exemples pratiques sont fournis pour illustrer chaque concept.

Transféré par

Emulateur pro
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réalisé par : Mme YEKKEN Sabrine

Version : 2012 -2013


2

Introduction générale.

➢ Pour interroger une BD, il faut utiliser un langage .


➢ SQL est le langage le plus complet pour interagir une BD.
4

Objectifs du cours (1/2)

Introduction du langage SQL


1ème Partie : Présentation du langage LDD
1. Définir « LDD »
2. Les types de données

2ème Partie : Création d’une table/des contraintes d’intégrités


1. Créer une table/ table à partir d’une autre
2. Ajouter une contrainte clé primaire, clé étrangère
3. Ajouter une contrainte (On delete cascade, on delete set null)
4. Autres contraintes ( not null, check, unique)
5. Activer / désactiver une contrainte
5

Objectifs du cours (2/2)

3ème Partie : Manipulation de la structure de la table


1. Ajouter, modifier, supprimer une colonne/contrainte
2. Supprimer une table
3. Renommer une table

4ème Partie : Autres Objets


1. Définition et création de :
i. vues

ii. Synonymes

iii. Index

iv. Séquences
6

Introduction du langage SQL

Objectifs de la partie :

Introduire et définir le langage SQL.


7

Définition de l’SQL.
SQL (Structured Query Language ), en français langage de requête
structurée, est composé d’un ensemble de sous langages:

➢ un langage de définition de données (LDD),


➢ un langage de manipulation de données (LMD),
➢ un langage d’interrogation de données (LID),
➢ un langage de contrôle de données (LCD),

pour les bases de données relationnelles.


8

1ère Partie :
Présentation du langage LDD

Objectifs de la partie :

Définition et présentation du langage


de définition de données ainsi que les
différents types de données.
9

LDD.

Le langage de définition de données, c’est un langage qui


permet de définir et manipuler les structures de
données et non pas les données.

Structure de données : tout objet de la BD destiné à


contenir des données : Exemple : TABLE.
10

Les types de données.


Types de données Description
INT Entier

CHAR [(size [BYTE | CHAR])] Taille fixe comprise entre 1 et 2000

VARCHAR2 (size) Taille Variable comprise entre 1 et 4000

NUMBER [ ( t , d ) ] Réel de t chiffres dont d sontdécimales.

LONG Données caractères ayant une taille <= 2GO

DATE Date comprise entre 1/1/4712 AJC et 31/12/999 APJC

TIMESTAMP Année, mois, jour , heure, minute et seconde, fraction de seconde

INTERVAL YEAR(year_precision) Stocke une période de temps en année et mois, où year_precision


TO MONTH est compris entre 0 et 9. La valeur par défaut est 2
11

2 ème et 3 Partie :
ème

Création d’une table/contraintes d’intégrités –


Manipulation de la structure d’une table

Objectifs de la partie :

Comment créer une table et définir les


contraintes d’intégrités.
Comment ajouter, modifier ou
supprimer des colonnes ou des
contraintes…
12

Créer une table. Syntaxe

Syntaxe :
CREATE TABLE <nom_de_la_table>
( <nom_colonne1> <type_colonne1>,
<nom_colonne2> <type_colonne2>, …
<nom_colonne’> <type_colonne’>
);
Remarque : Pour créer une table il faut avoir :
• Le privilège CREATE TABLE
• Un espace de stockage
13

Créer une table. Exemple

▪ CREATE TABLE Etudiants


( Netudiant number,
Nom varchar2(10),
Prenom varchar2(10)
);

▪ DESCRIBE (ou DESC) Etudiants ; --pour voir la description de la table


14

Créer une table. Table à partir d’une autre table

▪ CREATE TABLE Etud AS SELECT * From Etudiants ;

la table Etud aura la même structure de la table Etudiants avec tous les
enregistrements de la table.

→ la table Etud aura la même structure de la table Etudiants avec tous les
enregistrements de la table.

▪ CREATE TABLE Etud AS SELECT * From Etudiants WHERE (0=1);

→ la table Etud aura la même structure de la table Etudiants sans les


enregistrements de la table.

▪ DESCRIBE (ou DESC) Etud ; --pour voir la description de la table


15

Ajouter une contrainte clé primaire - Syntaxe (1/3)

1er cas : clé primaire simple

Syntaxe 1: lors de la création de la table:

1ère Méthode : Contrainte niveau COLONNE

CREATE TABLE <nom_de_la_table>

( <nom_COL1 > <type_cOL1> CONSTRAINT <nom_contrainte> PRIMARY KEY,

<nom_COL2 > <type_cOL2>, …

<nom_coln > <type_coln>


);
16

Ajouter une contrainte clé primaire - Syntaxe (2/3)

Syntaxe 1: lors de la création de la table:

2ème Méthode : Contrainte niveau TABLE

CREATE TABLE <nom_de_la_table>

( <nom_COL1 > <type_cOL1>,

<nom_COL2 > <type_COL2>, …

<nom_coln > <type_coln> ,

CONSTRAINT <nom_contrainte> PRIMARY KEY( colonne(s) ),


);
17

Ajouter une contrainte clé primaire - Syntaxe (3/3)

2ème cas : clé primaire composée

Syntaxe 1: lors de la création de la table:

CREATE TABLE <nom_de_la_table>

( <nom_COL1 > <type_cOL1>,


<nom_COL2> <type_COL2>,

<nom_coln> <type_coln>,
Constraint <nom_contrainte> Primary key (NOMCOL1, nomCOL2...) );

→ Contrainte niveau Table


18

Ajouter une contrainte clé primaire - Exemple

Syntaxe :
ALTER TABLE <nom_de_la_table> ADD Constraint <nom_contrainte>
PRIMARY KEY (nom_colonne(s))

ALTER TABLE Etudiants ADD Constraint pk_nom_prenom PRIMARY KEY


(nom,prenom) ;
19

Supprimer une contrainte clé primaire.


Syntaxe :
ALTER TABLE <nom_de_la_table> DROP CONSTRAINT
<nom_contrainte> ;

ALTER TABLE Etudiants DROP CONSTRAINT pk_nom_prenom ;


20

Ajouter une contrainte clé étrangère.

Syntaxe :
ALTER TABLE <nom_de_la_table> ADD constraint
<nom_contrainte> FOREIGN KEY (<nom_cols>) references
<table_référencée> (nom_cols) ;

Create table Etud as select * from Etudiants;


Alter table Etud ADD constraint pk_nom_prenom PRIMARY KEY (nom,
prenom) ;

ALTER TABLE Etud ADD constraint fk_etud_etudiants FOREIGN KEY


(nom,prenom) references Etudiants (nom,prenom) ;
21

Ajouter une contrainte clé étrangère. Options

Constraint <nom_constrainte> Foreign Key (<colonne(s)>)


References <TableReférencée> (<colonne(s)>)
ON DELETE CASCADE | SET NULL

▪ La clause ON DELETE CASCADE permet de supprimer


automatiquement les valeurs d'une clé étrangère dépendantes d'une
clé primaire si une valeur de cette dernière vient d'être supprimée.
▪ La clause ON DELETE SET NULL permet de mettre à Zéro
automatiquement les valeurs d'une clé étrangère dépendantes d'une
clé primaire si une valeur de cette dernière vient d'être supprimée.
22

Ajouter une contrainte <NOT NULL>.

Cette contrainte est définie :


- Soit lors de la création de la table, syntaxe :

<nom_colonne> <type_colonne> constraint <nom_contrainte> NOT NULL

- Soit après la création de la table, syntaxe :


Alter table <nom_tab> modify <nom_col> constraint < nom_contrainte > NOT NULL

La contrainte NOT NULL ne peut être définie qu’au niveau de la


colonne, pas au niveau de la table
23

Ajouter une contrainte <UNIQUE> - Définition

Une contrainte d’intégrité de type clé unique exige que chaque valeur
dans une colonne ou dans un ensemble de colonnes constituant
une clé soit unique.

Remarque : Une contrainte unique autorise la valeur NULL à


moins que vous définissiez des contraintes NOT NULL
24

Ajouter une contrainte <UNIQUE> - Syntaxe

Cette contrainte est définie :


- Soit lors de la création de la table, syntaxe :

<nom_colonne> <type_colonne> constraint <nom_de_contrainte> UNIQUE

- Soit après la création de la table, syntaxe :

Alter table <nom_table> add constraint <nom_de_contrainte> UNIQUE


(<nom_colonne>)
25

Ajouter une contrainte <CHECK>.

La contrainte Check définit une condition que chaque ligne doit vérifier

Cette contrainte est définie :


- Soit lors de la création de la table, syntaxe :

<nom_colonne> <type_col> CONSTRAINT <nom_de_contr> CHECK (condition)

- Soit après la création de la table, syntaxe :

Alter table <nom_table> ADD CONSTRAINT <nom_de_contr> CHECK (condition)


26

Gérer des colonnes et/ou des contraintes - Syntaxes

Syntaxe générale :

ALTER TABLE <nom_table> + ADD CONSTRAINT <Def _Contrainte>


+ DROP CONSTRAINT
+ ENABLE | <Nom contrainte>
DISABLE CONSTRAINT

+ ADD
<Def _Colonne>
+ MODIFY
+ DROP <nom colonne>
27

Ajouter une/plusieurs colonne(s). Exemple

Ajouter 2 COLOnnes à la table « Etudiants »

ALTER TABLE Etudiants ADD (telephone number ,email varchAR2(50) );


28

Modifier une colonne. Exemple


Syntaxe :
ALTER TABLE <nom_de_la_table> MODIFY <nouvelle définition de la colonne>

ALTER TABLE Etudiants MODIFY ( email varcHAR2(100) );


29

Supprimer une colonne. Exemple

Syntaxe :
ALTER TABLE <nom_de_la_table> DROP <colonnes>

ALTER TABLE Etudiants DROP ( email, telephone);


30

Activer/Désactiver une contrainte.


Syntaxe :

ALTER TABLE <nom_de_la_table>

ENABLE | DISABLE CONSTRAINT <nom_de_la_contrainte>;


31

Supprimer une table. DROP / TRUNCATE

Syntaxe :

DROP TABLE <nom_de_la_table> ;

Remarque:
On a aussi la commande « TRUNCATE » qui permet de vider la table

TRUNCATE TABLE <nom_de_la_table> ;


32

Renommer une table.

Syntaxe :

RENAME <ancien _nom> TO <nouveau_nom> ;

Exemple:
RENAME Etudiants TO EtudiantS1;

Vous aimerez peut-être aussi