Merise

publicité
Exia
Merise
Prosit 4
SCHMITT Mathieu
08
Merise 2008
Définition des mots-clés
Modèle conceptuel (MCD) :
Le MCD repose sur les notions d'entité et d'association et sur les notions de relations.
Base de donnée relationnelle :
Une base de données relationnelle est une base de données structurée suivant les principes de
l’algèbre relationnelle. La théorie des bases de données relationnelles est due à Edgar Frank Codd.
20 janvier 2008
Analyse du SI :
Merise 2008
Modèle logique de donnée (MLD) :
Ce modèle indique comment organiser les données. On se représente le modèle comme
étant un ensemble de relations.
Type de BDD :
Les bases de données organisent et structurent l'information dans le but d'en faciliter le
repérage. On note différents types de bases de données.




Bases de données bibliographiques
Bases de données numériques
Banques d'images
Autres bases
Axes de recherches
Etudier le MLD
Le modèle logique des données
Le modèle logique des données consiste à décrire la structure de données utilisée sans faire
référence à un langage de programmation. Il s'agit donc de préciser le type de données
utilisées lors des traitements.
Ainsi, le modèle logique est dépendant du type de base de données utilisé.
Le modèle relationnel
Traduction d'une classe d'entité
20 janvier 2008
Chaque classe d'entité du modèle conceptuel devient une table dans le modèle logique. Les
identifiants de la classe d'entité sont appelé clés de la table, tandis que les attributs standards
deviennent des attributs de la table, c'est-à-dire des colonnes.
Merise 2008
Traduction d'une classe de relation
Le passage du modèle conceptuel au modèle logique au niveau des classes de relation se fait
selon les cardinalités des classes d'entité participant à la relation :


si une des classes d'entités possède une cardinalité faible :
la table aura comme attributs, les attributs de la classe ayant une cardinalité faible, puis le
(ou les) attribut(s) de relation et enfin les attributs de la seconde classe précédé du nom de la
classe
si les deux classes d'entités possèdent une cardinalité forte :
la table aura comme attributs, les attributs des deux classes de relation précédés des noms
des classes respectives, puis le (ou les) attribut(s) de relation
Traduction d'une classe d'agrégation
20 janvier 2008
Dans le cas de la présence d'une classe d'agrégation, la classe d'entité agrégée a comme
attributs supplémentaires les attributs de la classe d'entité agrégeante.
Merise 2008
Etudier le modèle relationnel
Qu'est-ce que le modèle relationnel ?
Le modèle relationnel est basé sur une organisation des données sous forme de tables. La
manipulation des données se fait selon le concept mathématique de relation de la théorie des
ensembles, c'est-à-dire l'algèbre relationnelle. Elle est constituée d'un ensemble d'opérations
formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation
(table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou
encore la différence).
La théorie des ensembles met en œuvre deux notions :

la notion de domaine

la notion de produit cartésien
La notion de domaine
Un domaine est un ensemble fini ou infini de valeurs. On le représente par une liste d'éléments ou
bien une condition nécessaire et suffisante d'appartenance :

le domaine des booléens: {0,1}

le domaine des doigts de la main: {pouce, index, majeur, annulaire, auriculaire}

...
La notion de produit cartésien
20 janvier 2008
La manipulation des données (sélection de valeurs) se fait suivant la notion mathématique de
produit cartésien.
Le produit cartésien d'un ensemble de domaines Di, noté D1*D2*D3*...*Dn
est l'ensemble des n-uplets (appelés aussi tuples) <V1,V2,...,Vn>
tels que Vi appartient à Di
Merise 2008
Modélisation relationnelle
La modélisation relationnelle permet de représenter les relations à l'aide de tables (à deux
dimensions) dont chaque colonne a un identificateur qui représente un domaine. Une ligne du
tableau représente donc une entité et chacune des cases représente un de ses attributs.
On appelle attributs le nom des colonnes qui représentent les constituants de l'entité. Un attribut
(une colonne) est repéré par un nom et un domaine de définition, c'est-à-dire l'ensemble des valeurs
qu'il peut prendre.
On appelle tuple (ou n-uplet) une ligne du tableau.
L'entité voiture pourra par exemple être représentée par :

La marque

Le modèle

La série

La plaque minéralogique
La cardinalité d'une relation est le nombre de tuples qui la composent. Dans l'exemple ci-dessus la
cardinalité est égale à 3.
20 janvier 2008
La clé principale d'une relation est l'attribut, ou l'ensemble d'attributs, permettant de désigner de
façon unique un tuple. Dans l'exemple ci-dessus, le numéro de la plaque minéralogique est une clé
principale dans la mesure où la seule connaissance de cet attribut permet de connaître la voiture.
Une clé étrangère, par contre, est une clé (donc un attribut permettant d'identifier de façon unique
un tuple) faisant référence à une clé appartenant à une autre table.
La description d'une relation (d'une table) par ses attributs (nom et domaine) est appelée schéma
d'une relation. On désigne par le terme schéma d'une base de données relationnelle l'ensemble des
relations qui la composent.
La manipulation des éléments de la table se fait à l'aide d'opérations sur les ensembles. On définit
deux types d'opérations de base :
Merise 2008

Les opérations unaires

les opérations ensemblistes
Opérations de base
Une opération de base est définie par le fait qu'elle ne peut être réalisée par combinaison d'autres
opérations. Il existe 5 opérations élémentaires pouvant être classées en deux catégories :

Les opérations unaires: elles consistent à éliminer des lignes ou des colonnes de la table

les opérations ensemblistes: elles consistent à effectuer un recoupement entre plusieurs
tables
Opérations unaires
Projection
L'opérateur projection consiste à créer une table à partir d'une autre en ne gardant que les
colonnes spécifiées dans la projection. On note une projection :
projX1,X2,...,XN(R)
Où X1,X2, ..., XN représentent les colonnes que l'on garde
Restriction (ou sélection)
L'opérateur restriction consiste à créer une table à partir d'une autre en ne gardant que les
lignes pour lesquelles une colonne vérifie certaines propriétés. On note une restriction :
selectQ(R)
Où Q représente la qualification, c'est-à-dire la condition à réaliser
Opérations ensemblistes
Union
L'union de deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à l'une ou
l'autre des tables (ou les deux). Les deux tables opérandes doivent être de même schéma, c'est-àdire que les attributs de la table (colonnes) doivent être les mêmes. On note l'union entre deux
tables R1 et R2 :
20 janvier 2008
union(R1,R2)
ou encore
R1 U R2
Différence
La différence entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à
une table mais pas à la seconde. Les deux tables opérandes doivent être de même schéma, c'est-à-
Merise 2008
dire que les attributs de la table (colonnes) doivent être les mêmes. On note la différence entre deux
tables R1 et R2 :
minus(R1,R2)
ou encore
R1 - R2
Produit cartésien
Le produit cartésien de deux tables est la table contenant la concaténation de l'ensemble des tuples
d'une ligne d'une table à ceux de l'autre table, et ce pour chaque ligne. Les deux tables opérandes
n'ont pas nécessairement le même schéma On note le produit cartésien de deux tables R1 et R2 :
product(R1,R2)
ou encore
R1 * R2
Opérations dérivées
A partir des opérations de base de nombreuses opérations très utiles peuvent être définies. En voici
quelques unes :
Intersection
L'intersection entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant
aux deux tables. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les
attributs de la table (colonnes) doivent être les mêmes. On note l'intersection entre deux tables R1 et
R2 :
inter(R1,R2)
ou encore
R1
R2
Cet opérateur peut être décrit à l'aide d'opérateurs de base :
20 janvier 2008
R1
R2 = R1 - (R1 - R2)
Quotient (ou division)
Le quotient de deux tables est la table contenant l'ensemble des tuples (cellules) qui concaténés à
chaque tuple de l'une des tables fournissent des tuples appartenant à l'autre On note le quotient de
deux tables R1 et R2 :
div(R1,R2)
ou encore
Merise 2008
R1/R2
θ-jointure
On appelle θ-jointure selon une qualification Q l'ensemble des tuples provenant du produit cartésien
de deux relations et satisfaisant la qualification, c'est-à-dire la condition exprimée à l'aide des
comparateurs :

≥

≤

>

<

=

≠

¬
On note la θ-jointure de deux tables R1 et R2 :
joinQ(R1,R2)
ou encore
(R1
Q)R2
On définit des types de jointure particulière selon la qualification Q :

L'équi-jointure est une θ-jointure dont la qualification est une égalité entre deux colonnes

La jointure naturelle est une équi-jointure sur des attributs de même nom associée à une projection. Elle se note
R1
R2
20 janvier 2008
Opérations calculatoires
Les opérateurs de calcul ne sont pas des opérations dérivées dans la mesure où ils ne peuvent
pas être exprimés à l'aide des opérateurs de base. Ils permettent néanmoins de faire des
opérations très utiles (parfois nécessaires) que les autres opérateurs ne peuvent pas réaliser.
Merise 2008
Opérateur Somme
Cet opérateur permet de faire la somme cumulée des valeurs que l'attribut X prend pour une
liste d'attributs appelés attributs de regroupement. Les valeurs de X doivent bien évidemment
être numériques. Lorsqu'aucun attribut de regroupement n'est précisé, l'opérateur Somme
renvoie la somme des valeurs de la colonne.
On note cet opérateur :
SommeX1,X2,...,Xn(R,X)
ou avec la notation anglaise
SumX1,X2,...,Xn(R,X)
Opérateur de comptage
Cet opérateur permet de compter le nombre de lignes pour lesquelles l'attribut fait partie d'une
liste d'attributs appelés attributs de regroupement. Lorsqu'aucun attribut de regroupement
n'est précisé l'opérateur compte le nombre de tuples de la colonne.
On note cet opérateur :
CompteX1,X2,...,Xn(R,X)
ou avec la notation anglaise
CountX1,X2,...,Xn(R,X)
20 janvier 2008
Validations des hypothèses

Vrai. Il faut faire le MCD avant le MLD.

Vrai. Les règles du MCD sont différentes de celles du MLD.

Vrai. Une base de données relationnelle fait appel à des calculs.

Vrai. Dans un MLD les entités le restent par rapport au MCD.

Faux. Dans le MLD les cardinalités ne sont pas respectées.

Faux. Les clés primaires et étrangères disparaissent en MLD.

Faux. Les clés primaires restent et les clés étrangères disparaissent.

Nimp. Les clés viennent du trousseau de clé de Thomas. (Merci Thomas)
20 janvier 2008
Merise 2008
Téléchargement