Présentation 4

publicité
Les bases de données
Séance 4
Construction du
Modèle Physique (la BDD)
Base de données IV
Ce qui est abordé




Comment passer du MCD à la BDD
L’objet TABLE
Comment créer un objet TABLE
Les contraintes :
 clé primaire
 clé étrangère
Base de données IV
Le MCD à partir d’un diagramme de classes




Comment passer du MCD à la BDD
L’objet TABLE
Comment créer un objet TABLE
Les contraintes :
 clé primaire
 clé étrangère
Base de données IV
Du MCD à la base de données
Modèle conceptuel
de données
(MCD)
On peut appliquer
des règles de
conversion
Modèle Logique de Données
(MLD)
Transcription en langage SQL
Script de création des tables
(BDD)
Diag. De
Classe
Base de données IV
Les règles à appliquer
 Règle 1 : Toute entité est représentée
par une table.
 Règle 2 : Toute association qui associe
plus de deux entités (ternaire et audelà) est représentée par une table.
 Règle 3 : Toute association qui porte des
données propres, c’est-à-dire
indépendantes des entités devient une
table.
Base de données IV
Les règles à appliquer 2
 Règle 4 : Toute association binaire dont les
cardinalités maximales sont n de chaque côté
est une table (table dont les colonnes sont les
attributs clefs des entités qu‘elle relie ainsi que
les éventuels attributs propres à l’association).
 Règle 5 : Une association de type père/fils,
cardinalité maximum à n d’un côté et à 1 de
l’autre, n’est pas représentée par une table. On
indique les attributs clefs de l’entité père (côté
(.,n)) dans le fils (côté (.,1)).
Base de données IV
Exemple : « relation père-fils »
entité1
id1
propriété1
1,1
ou
0,1
entité1, id1, propriété1 ,#id2
entité2, id2, propriété2
association
1,n
ou
0,n
entité2
id2
propriété2
•Chaque entité devient une table
•Les identifiants de chaque table sont les
clé primaires
•Les colonnes de chaque table sont les
propriétés des entités
•L’association se traduit en rajoutant dans
la table entite1 la colonne correspondant à
la clé primaire de entité2 (id2)
•Id2 devient donc clé étrangère
(la clé côté n devient clé étrangère côté 1)
Modèle logique de données
Base de données IV
Exemple : « relation matricielle » ou n..n
entité1
id1
propriété1
1,n
0u
0,n
association
propriété
entité1, id1, propriété1
entité2, id2, propriété2
association, #id1,#id2, propriété
1,n
Ou
0,n
entité2
id2
propriété2
•Chaque entité devient une table
•Les identifiants de chaque table sont les
clé primaires
•Les colonnes de chaque table sont les
propriétés des entités
•L’association se traduit en créant une table
Tassociation dont la clé primaire est formée
des identifiants de chaque entité participant
à l’association- elles sont clés étrangères
Modèle logique de données
Base de données IV
Objet TABLE : Définition
 Structure de données composée de :
 Colonnes
 Lignes appelées n-uplets ou
enregistrements
 Chaque colonne doit être :
 Nommée
 Typée
 Exemple : table client, étudiant …
Base de données IV
L’instruction CREATE TABLE
 Attribuer un nom à la table (le nom doit
être unique dans la base de données)
 Attribuer des colonnes (de 1 à 254
colonnes)
 Le nom de la colonne est unique dans la table
 Attribuer un type à chaque colonne
 Définir des contraintes sur ces colonnes
 Spécifier des caractéristiques de stockage
 Spécifier une requête pour créer la table
avec des données
Base de données IV
L’instruction CREATE TABLE : Syntaxe
CREATE TABLE <nom>
(<definition colonne> | <definition
contrainte>,...)
[<specification stockage>]
[<definition cluster>]
[<données provenant d’une requête>]
Base de données IV
L’instruction CREATE TABLE : Exemple
CREATE TABLE personne(
nom
VARCHAR2(30),
age
INTEGER(3),
salaire NUMBER(10,2)
);
Base de données IV
Définition de colonne : Les types
 Syntaxe générale de type :
 <nom type>[(<dimensionnement>)]
 Type alphanumérique :
 CHAR(n) : chaîne à longueur fixe
 VARCHAR2(n) : chaîne à longueur
optimisée < 255 caractères
 LONG : texte long > 255 caractères
 Exemple :
 nom VARCHAR2(30)
Base de données IV
Définition de colonne : Les types 2
 Types numériques :




NUMBER(p,s): nombre décimal
INTEGER : entier long
SMALLINT : entier court
FLOAT : réél à virgule flottante
 Exemples :
 age SMALLINT
 salaire NUMBER(10,2)
Base de données IV
Définition de colonne : Les types 3
 Type de gestion du temps et des
dates :
 DATE : date du calendrier grégorien
 TIMESTAMP : combiné date temps sous
forme compacte : 20071123103012
 Exemple
 Date_commande DATE
Base de données IV
Définition de colonne : Les types 4
 Les types « gros objets »
 CLOB : pour les chaînes de caractères
 BLOB : pour les données binaires
 BFILE : pour les données stockées dans
des fichiers externes binaires.
La taille maximale est de 4 gigabytes
Base de données IV
Les contraintes
 Contrainte de colonnes
 Associée à une colonne de la table
 Contrainte de table
 Associée à plusieurs colonnes de la table,
ou à la totalité des colonnes
« Il est utile de donner aux contraintes
un nom qui exprime la raison de la
contrainte »
Base de données IV
Les contraintes des colonne
 S’applique sur une seule colonne





Nullité de colonne
Unicité de valeur dans une colonne
Clé primaire
Vérification sur un ensemble de valeur
Clé étrangère
« Une contrainte définit des restrictions
sur les valeurs possibles »
Base de données IV
Les contraintes de table
 S’applique sur plusieurs colonnes
 Clé primaire, si elle est « composite »
 Clé étrangère, si elle est « composite »
Base de données IV
Les clefs : primaires et étrangères
 Clé primaire : permet d’identifier de
manière unique un enregistrement dans
la table
 Clé étrangère : permet de vérifier que le
champ contient une clef primaire
existante d’une autre table.
« La notion de clef étrangère est
directement liée à la notion
d’association »
Base de données IV
Exemple 1
 Un employé a une qualification
 Une qualification peut correspondre à
plusieurs employés
qualification
id
libelle
1,n
1,1
a
employe
id
nom
Base de données IV
Exemple 2
 qualification.id est l’identifiant de l’entité
qualification.
 employe.id est l’identifiant de l’entité
employé.
qualification
id
libelle
1,n
1,1
a
employe
id
nom
Base de données IV
Exemple 3
 Traduction MCD=>MLD
employe (id, nom , #qualification.id)
qualification(id, libelle)
qualification
id
libellé
1,n
1,1
a
employe
id
nom
Base de données IV
Exemple 4
CREATE TABLE qualification(
id VARCHAR2(4) CONSTRAINT pk_qualif PRIMARY KEY,
libelle VARCHAR2(30)
);
CREATE TABLE employe(
id VARCHAR2(4) CONSTRAINT pk_personne PRIMARY KEY,
nom VARCHAR2(20),
id_qualif VARCHAR2(4) CONSTRAINT fk_qualif
REFERENCES qualification(id)
);
FIN DU COURS
Téléchargement