CREATE TABLE - fahmi

publicité
Année universitaire 2015/2016
LFIG 2
Généralité sur les bases de
données
Fahmi Ben Rejab
1
Définition
2
Définition
3
Définition et terminologie
Base de données correspondante à la gestion des commandes d’un magasin
4
Définition et terminologie
Base de données correspondante à la gestion des ouvrages d’une bibliothèque
5
Cycle de vie
6
SGBD
7
Objectif
8
Objectif
9
Architecture
10
Architecture
11
Architecture
12
Architecture
13
Fonctionnement
14
A faire
Limites de l’approche SGF?
15
Relation
16
Relation
17
Relation
18
Relation
19
Relation
20
Relation
21
Relation
Exemple : Gestion des affectations des candidats par diplôme.
22
Introduction: le langage SQL
• Le terme SQL « Structured Query Language » signifie Langage
d’interrogation structuré.
• SQL est un langage complet de gestion de Bases de Données
Relationnelles. (BDR)
• Il a été conçu par IBM dans les années 70. Il est devenu le langage
standard des systèmes de gestion de bases de données relationnelles
(SGBDR).
• Il englobe 4 sous-langages :
- Un Langage de Définition des Données (LDD) /CREATE / DROP / ALTER
- Un Langage de Manipulation des Données (LMD) / INSERT / UPDATE / DELETE
- Un Langage d’Interrogation des Données (LID) / SELECT
- Un Langage de Contrôle des Données (LCD) / GRANT / REVOKE23/ COMMIT
SGBD ORACLE
Oracle est un SGBD édité par la société du même nom (Oracle Corporation http://www.oracle.com), leader mondial des bases de données.
La société Oracle Corporation a été créée en 1977 . Elle s'appelle Relational Software
Incorporated (RSI) et commercialise un Système de Gestion de Bases de données
relationnelles (SGBDR ou RDBMS pour Relational Database Management System)
nommé Oracle.
24
SGBD ORACLE
Toad est un outil spécialement prévu pour les bases de données Oracle.
Cet utilitaire d'administration propose des fonctionnalités simples
permettant de créer et de modifier vos différentes bases de données.
25
LDD: Langage de Définition des Données
LDD : La commande « CREATE TABLE»
• La commande CREATE TABLE permet de créer une table en
définissant le nom et le type de chacune des colonnes de la table.
• La syntaxe simplifiée de cette commande est:
CREATE TABLE nom-table (nom_colonne1 type, nom_colonne2 type, etc.)
Exemple : selon SQL de Oracle une chaîne de caractères de longueur variable (longmax=10)
Article(ref, nom, prix, date_achat)
CREATE TABLE
Article ( ref VARCHAR2(10),
nom VARCHAR2(30),
prix NUMBER(9,2),
date_achat DATE) ;
26
LDD : Expression des contraintes d’intégrités
LDD : Expression des contraintes d’intégrités
• Lors de la création de la table, on peut spécifier des contraintes d’intégrité,
Il existe des contraintes :
1- sur une colonne : la contrainte porte sur une seule colonne. Elle suit la
définition de la colonne dans un ordre CREATE TABLE.
2- sur une table : la contrainte porte sur une ou plusieurs colonnes. Elle se place au
même niveau que les définitions des colonnes dans un ordre CREATE TABLE .
• Chaque contrainte peut être nommée comme suit:
[CONSTRAINT nom-contrainte] définition-contrainte
27
LDD : Expression des contraintes d’intégrités
Les contraintes de colonnes :
- NULL ou NOT NULL (facultatif / obligatoire) ;
- UNIQUE (unicité des valeurs) ;
- PRIMARY KEY (clé primaire ) ;
- REFERENCES (intégrité de référence) ;
- CHECK (contraintes de valeurs).
Les contraintes de tables :
- UNIQUE (composition des colonnes) ;
- PRIMARY KEY (clé primaire composée) ;
- FOREIGN KEY (liste de nom de colonne) REFERENCES (nom de
de table)
(liste de nom de colonne)) ;
- CHECK (condition particulière sur les valeurs).
28
LDD : Expression des contraintes d’intégrités
• Les contraintes d’intégrité possibles sont:
a- Valeur obligatoire (NOT NULL): la colonne ne peut jamais être vide.
b- Contrainte d’unicité (UNIQUE): exige que toutes les valeurs
explicites contenues dans la colonne soient uniques au sein de la
table.
Exemple:
Article(ref, nom, prix, date_achat)
CREATE TABLE
Article (ref VARCHAR2(10) UNIQUE NOT NULL ,
nom VARCHAR2(30),
prix DECIMAL(9,2),
date_achat DATE) ;
29
LDD : Expression des contraintes d’intégrités
c- Contrainte
de clé primaire ( PRIMARY KEY)
Exemple:
Article(ref, nom, prix, date_achat)
CREATE TABLE
Article (ref VARCHAR2(10) PRIMARY KEY ,
nom VARCHAR2(30),
prix DECIMAL(9,2),
date_achat DATE) ;
30
LDD : Expression des contraintes d’intégrités
d- Contrainte de clé étrangère ( FOREIGN KEY )
•
Pour une contrainte sur une table :
FOREIGN KEY REFERENCES table_mère (clé_primaire_table_mère)
[ON DELETE CASCADE]
• Pour une contrainte sur une colonne :
nom_clé_étrangère REFERENCES nom_table_mère (clé_primaire_table_mère)
[ON DELETE CASCADE]
 L'option ON DELETE CASCADE indique que la suppression d'une ligne de la table
va entraîner automatiquement la suppression de toutes les lignes qui la référencient dans
la base de données.
 Si cette option n'est pas indiquée, il est impossible de supprimer des lignes de la table mère
qui sont référencées par des lignes de la table fille
31
LDD : Expression des contraintes d’intégrités
Exemple:
Employé (NCIN, NomE, #Dept)
Département (ND, NomD, Date_Creation, Budget)
CREATE TABLE Employé (NCIN INTEGER PRIMARY KEY ,
nomE VARCHAR2(30),
Dept INTEGER FOREIGN KEY REFERENCES
Département (ND));
Remarque : il est impératif de créer la table département (mère) avant la table
Employé (fille)
→ Il faut donc respecter l'ordre de création des tables
32
LDD : Expression des contraintes d’intégrités
e- Contrainte « CHECK »
• Cette contrainte spécifie une condition que les colonnes de chaque ligne devront vérifier.
Exemple 1:
Employé (NCIN, NomE, #Dept)
Département (ND, NomD, Date_Creation, Budget)
CREATE TABLE Département ( ND INTEGER NOT NULL PRIMARY KEY ,
NomD VARCHAR2 (10),
Date_Creation DATE ,
Budget NUMBER CHECK (Budget >= 10000));
Exemple 2:
Employé (NCIN, NomE, #Dept)
Département (ND, NomD, Date_Creation, Budget)
CREATE TABLE Employé (
NCIN INTEGER NOT NULL PRIMARY KEY ,
NomE VARCHAR(10) ,
Dept INTEGER FOREIGN KEY REFERENCES Département(ND)
CHECK (Dept IN (1, 2, 3, 4)));
33
LDD : Exemple d’application
Exemple : soit le modèle logique de données suivant :
34
LDD : Exemple d’application
Il faut respecter l'ordre correct de création des tables (les tables filles après les tables mères)
1- Création de la Table Département
2- Création de la Table Projet
3- Création de la Table Employé
4- Création de la Table Participation
35
LDD : La commande « DROP TABLE »
• La commande « DROP TABLE» permet de supprimer une table.
 Les lignes et la définition elle-même de la table sont détruites.
Exemple :
DROP TABLE Employe ;
36
LDD : La commande « DROP TABLE »
Ordre de suppression des tables
Il faut respecter l'ordre correct de suppression des tables (les tables filles avant les tables mères)
1- Suppression de la Table Participation
2- Suppression de la Table Employé
3- Suppression de la Table Département
4- Suppression de la Table Projet
Exemples:
DROP TABLE Participation
DROP TABLE Employé
DROP TABLE Département
DROP TABLE Projet
37
LDD : La commande « ALTER TABLE »
38
LDD : La commande « ALTER TABLE »
39
Téléchargement