Tel. ppt

publicité
Analyse et Conception
de
Systèmes Informatiques
(ACSI)

Cours 1 :
Présentation
L'algèbre relationnelle
Le modèle entité-relation (E-A)

Cours 2 :
Le langage SQL

Cours 3 :
SQL avancé

Cours 4 :
Méthodes de modélisation

Cours 5 :
Administration et sécurité
2
Présentation


Pourquoi une base de données ?

Problèmes

Définition

Objectifs
Différents types de base de données

Les bases hiérarchiques

Les bases en réseau

Les bases relationnelles

Les bases de données objet

Les bases de données XML
3
Pourquoi une base de données ?
Problèmes

Format des données

Intégrité des données

Accès aux données

Sécurité des données

Sauvegarde des données
4
Pourquoi une base de données ?
Définitions


Une base de données est un lot d'informations
stocké dans un dispositif informatique.
Un système de base de données (SGBD) est
un module informatique chargé de gérer les
données en en permettant la création, la
modification, la suppression et la lecture.
5
Pourquoi une base de données ?
Objectifs

L'indépendance : la BD est un module
dissocié du système d'information.

L'accès : la BD gère les accès aux données
en gérant les accès concurrentiels.

La cohérence : la BD assure l'intégrité des
données.

La sécurité : la BD gère les accès aux
données en fonctions des utilisateurs.

L'administration : la BD peut être administrée
au sauvegardée de façon autonome.
6
Différents types de base de
données
Base hiérarchique
Présentation
Lie les enregistrements
dans une structure
arborescente où chaque
enregistrement n'a qu'un
seul possesseur.
7
Différents types de base de
données
Base en réseau
Présentation
Est une base hiérarchique
mais permet en plus
d'établir des relations
transverses.
8
Différents types de base de
données
Base relationnelle
Présentation
Stocke les informations
décomposées et
organisées dans des
matrices appelées
relations ou tables.
9
Différents types de base de
données
Base objet
Stocke les informations groupées sous forme de
collections d'objets persistants.
Base XML
S'appuie sur le modèle de données fourni par XML.
10
L'algèbre relationnelle

La sélection

La projection

L'intersection

L'union

La différence

Le produit cartésien

La jointure

La division cartésienne
11
La sélection
A partir d'un ensemble
A, obtenir les
données B
correspondant à des
critères donnés.
Présentation
A
B
Exemple
Opérateur unaire.
ID
Nom
Prénom
1
Simpson
Marge
2
Simpson
Homer
3
Simpson
Bart
4
Simpson
Lisa
12
La projection
A partir d'un ensemble
Présentation
A, obtenir uniquement
A
les données
B
pertinentes B.
Exemple
Opérateur unaire.
ID
Nom
Prénom
1
Simpson
Marge
2
Simpson
Homer
3
Simpson
Bart
4
Simpson
Lisa
13
L'intersection
A partir des ensembles
A et B, obtenir les
données C qui
existent à la fois dans
A et Dans B.
Présentation
A
C
B
Exemple
Opérateur binaire.
ID
Prénom
ID
Prénom
1
Bart
5
Marie
2
Lisa
6
Lisa
3
Marge
7
Jacques
14
L'union
A partir des ensembles
A et B, obtenir les
données C qui
existent soit dans A
soit dans B.
Présentation
A
C
B
Exemple
Opérateur binaire.
ID
Prénom
ID
Prénom
1
Bart
5
Marie
2
Lisa
6
Lisa
3
Marge
7
Jacques
15
La différence
A partir des ensembles
A et B, obtenir les
données C qui
existent dans A mais
pas dans B.
Présentation
A
C
B
Exemple
Opérateur binaire.
ID
Prénom
ID
Prénom
1
Marge
5
Marie
2
Lisa
6
Lisa
3
Homer
7
Jacques
16
Le produit cartésien
A partir des ensembles
A et B, obtenir toutes
les combinaisons
possibles C.
Présentation
A
B
C
Exemple
Opérateur N-aire.
ID
Prénom
ID
Nom
1
Bart
5
Simpson
2
Lisa
Prénom
Nom
Bart
Simpson
Lisa
Simpson
17
La jointure
A partir des ensembles
A et B, obtenir le
produit cartésien C
limité à une valeur
commune.
Présentation
A
B
C
Exemple
Opérateur N-aire.
ID
Prénom
ID
Nom
1
Marge
1
Simpson
2
Homer
Prénom
Nom
Marge
Simpson
18
Le division cartésienne
A partir des ensembles
A et B, obtenir les
données C qui
combinées à
l'ensemble B donnent
l'ensemble A.
Présentation
A
B
C
Exemple
Prénom
Nom
Nom
Lisa
Simpson
Simpson
Bart
Simpson
Prénom
Opérateur N-aire.
Lisa
Bart
19
Le modèle relationnel

L'entité

L'attribut

L'identifiant

L'occurrence

L'association ou relation

La cardinalité ou multiplicité
20
L'entité
Concept concret ou
abstrait du monde à
modéliser.
Elle se représente par
un cadre contenant
son nom.
Présentation
Nom
Exemple
Personne
21
L'attribut
Donnée élémentaire qui Présentation
sert à caractériser les
Nom
entités et les
Attribut 1
Attribut 2
associations.
....
Les attributs sont listés
dans l'entité.
Attribut n
Exemple
Personne
Nom
Prenom
Date_naiss
22
L'identifiant
Attribut(s) particulier(s)
permettant d'identifier
chaque occurrence
d'une entité.
Les attributs servant
d'identifiant sont
soulignés.
Présentation
Nom
Identifiant
Attribut 2
....
Attribut n
Exemples
Personne
Nom
Prenom
Date_naiss
Personne
ID
Nom
Prenom
Date_naiss
23
L’occurrence
Élément particulier
d'une entité ou d'une
association.
Présentation
L’occurrence ne fait pas
partie du modèle E-A
mais est expliquée ici Exemple
pour mieux
ID
Nom
comprendre l'entité.
1
Cartman
Prénom
Date_naiss
Eric
01/05/2002
2
Broflovski
Kyle
05/60/2003
3
Marsh
Stanley
15/07/2001
4
MacCormick
Kenny
26/08/2002
5
Stotch
Butters
11/09/2002
24
Récapitulatif
Entité
Identifiant
Champs
Nom
Occurences
Identifiant
Champ_1
Champ_2
Champ_N
id_val_a
ch_1_a
ch_2_a
ch_N_a
id_val_b
ch_1_b
ch_2_b
ch_N_b
id_val_c
ch_1_c
ch_2_c
ch_N_c
id_val_d
ch_1_d
ch_2_d
ch_N_d
id_val_e
ch_1_e
ch_2_e
ch_N_e
25
L'association ou relation

L'association binaire

Les cardinalités

Association un à un

Association un à plusieurs

Association plusieurs à plusieurs

Association plurielle

Association N-aire

Association réflexive
26
L'association binaire
Permet de relier deux
entités entre elles.
Elle se représente par
le biais d'un ovale ou
d'un losange
contenant son nom et
ses éventuels
attributs.
Leur nom est
généralement un
verbe.
Présentation
Entite_1
Entite_2
Lie
Attributs
Exemple
Personne
Profession
Exerce
date_origine
27
Les cardinalités (1/2)
Couple de valeurs indiqué
à l'extrémité de chaque
lien d'une association.
Présentation
Entite_1
Entite_2
Lie
Min,Max
La cardinalité minimum
indique le caractère
optionnel (0) ou
obligatoire (1) de la
relation.
Min,Max
Attributs
Exemple
Personne
La cardinalité maximum
indique la caractère
unique (1) ou multiple (n)
de la relation.
Profession
0,1
Exerce
0,n
date_origine
28
Les cardinalités (2/2)
Couples de cardinalités
possibles
Associations selon les
cardinalités maximums
Entite_1
Entite_2 Lecture
Card.
Lecture
0,1
Lien vers 0 ou 1
1
1
Association 1 à 1
1,1
Lien vers 1
1
n
Association 1 à plusieurs
0,n
Lien vers 0 ou N
n
1
Association 1 à plusieurs
1,n
Lien vers 1 ou N
n
n
Association plusieurs à
plusieurs
29
L'association un à un
Est caractérisée par des
cardinalités maximales
à 1.
Présentation
Entite_1
Entite_2
Lie
Min,1
Min,1
Attributs
Ces associations sont à
proscrire dans un
modèle E-A car les 2
entités peuvent être
fusionnées.
Exemple
Personne
Profession
0,1
Exerce
0,1
date_origine
30
L'association un à plusieurs
Est caractérisée par une
cardinalité maximale à 1
et une cardinalité
maximale à n.
Présentation
Entite_1
Entite_2
Lie
Min,n
Min,1
Attributs
Ici, une personne exerce
au plus 1 profession et
une profession peut être
exercée par aucune ou
plusieurs personnes.
Exemple
Personne
Profession
0,1
Exerce
0,n
date_origine
31
L'association plusieurs à plusieurs
Est caractérisée par des
cardinalités maximales
à n.
Ici, une personne exerce
aucune ou plusieurs
professions et une
profession peut être
exercée par aucune ou
plusieurs personnes.
Présentation
Entite_1
Entite_2
Lie
Min,n
Min,n
Attributs
Exemple
Personne
Profession
0,n
Exerce
0,n
date_origine
32
L'association plurielle
Deux entités peuvent
Présentation
être liées plusieurs
Entite_1
Lie
fois, c'est l'association
plurielle.
Lie
Entite_2
Exemple
Personne
Exerce
Profession
Enseigne
33
L'association n-aire
Il est possible
d'associer autant
d'entités que
nécessaire.
Présentation
Entite_1
Min,Max
Lie
Min,Max
Entite_2
Attributs
Min,Max
Entite_2
Il est toutefois rare de
voir des associations
à des degrés
supérieurs des
ternaires.
Exemple
Personne
0,n
Enseigne
Jour
Heure
0,n
Matiere
0,n
Universite
34
L'association réflexive
L'association réflexive
Présentation
permet d'associer une
Entite_1
entité à elle-même.
Lie
Attributs
Dans cet exemple, une
Exemple
personne est parent
d'une autre personne.
Personne
est_parent
35
Conception du modèle

Recueil et compréhension des besoins

Interprétation

Conception

Les usages

Les aberrations
36
Recueil et compréhension
Il n'existe pas de modèle de données idéal.
Le modèle doit correspondre à un besoin précis.
Il est indispensable que chaque décision, chaque
façon de faire soit réfléchie.
En cas de multiples possibilités, il faut s'assurer
que le fonctionnement mis en place répondra
au besoin.
37
Interprétation (1/3)
Une base données doit permettre de stocker
toutes les informations nécessaires à son
utilisation.
Toute la complexité réside dans l'organisation de
ces attributs.
Toute redondance est interdite.
Il faut essayer de créer un modèle à la fois
évolutif mais aussi suffisant pour le besoin.
38
Interprétation (2/3)
Un choix difficile est notamment le fait d'utiliser un
attribut dans l'entité ou de créer une
association.
Exemple :
Personne
ID
Nom
Prenom
Adresse
CP
Ville
ou
Personne
ID
Nom
Prenom
Adresse
0,1
Réside
date_debut
date_fin
0,N
ID
Voie
CP
Ville
39
Interprétation (3/3)
Le choix des cardinalités est également
primordial.
Personne
Exemple :
ID
Nom
Prenom
Adresse
0,1
Réside
0,N
date_debut
date_fin
ID
Voie
CP
Ville
ou
Personne
ID
Nom
Prenom
Adresse
1,N
Réside
type
date_debut
date_fin
0,N
ID
Voie
CP
Ville
40
Objectifs
Au vu de ces exemples, il peut être tentant de
créer un modèle le plus généraliste possible.
Attention toutefois à ce type de modèles qui
mèneront à des bases de données trop
complexes.
Les performances seront alors moindre et les
fonctionnalités mise en place pas forcément
utilisées.
41
Usages
Pour nommer les entités et les attributs, il est
interdit d'utiliser espaces et accents.
Les relations sont nommées par des verbes à la
forme active ou passive.
Attention à la casse, certaines bases de données
y sont sensibles d'autre non. Il est donc
fréquent de devoir appliquer une normalisation
propre à l'entreprise.
Nous appliquerons dans ce cours pour les
attributs et entités la règle : 1ère lettre
42
majuscule puis minuscules.
Aberrations
Toute répétition d'entité doit être supprimée.
Les relations binaires un pour un ne doivent pas
apparaître dans un modèle E-A mais si nous
verrons qu'elles existent fréquemment dans un
modèle de données.
Les relations N-aires sont souvent complexes à
comprendre et à interpréter. Il faut donc
toujours se demander si celles-ci sont
indispensables.
43
Exemple de mauvaise ternaire
Pour déterminer si une
ternaire est nécessaire,
il faut se demander si
chaque couple peut
être opposé à la
troisième entité.
Ici un couple
Facture/Client ne peut
concerner plusieurs
produits, il n'y a en effet
qu'une facture pour
plusieurs produits.
Facture
1,n
Concerne
0,n
Produit
0,n
Produit
Quantite
1,n
Client
Facture
1,n
Contient
Quantite
1,1
Regle
1,n
Client
44
Exemple de mauvaise ternaire
Une autre méthode
permet d'identifiant les
ternaires erronées :
L'attribut de l'association
dépend-il des 3 entités
liées ?
Voiture
0,n
Loue
0,n
Duree
Prix
0,n
Client
Ici, le prix ne dépend pas
du client mais de la
voiture et de la durée
de location.
45
Téléchargement