• Aucun résultat trouvé

Bases de Donn´ees - Conception

N/A
N/A
Protected

Academic year: 2022

Partager "Bases de Donn´ees - Conception"

Copied!
27
0
0

Texte intégral

(1)

Bases de Donn´ ees - Conception

Michel Mainguenaud

D´ epartement Architecture des Syst` emes d’Information Institut National des Sciences Appliqu´ ees - Rouen

michel.mainguenaud@insa-rouen.fr

Bases de Donn´ees 1 / 27

(2)

Plan. . .

1 Environnement

2 M´ethodologie

3 Passage au relationnel

4 Extensions

(3)

Facteurs influant la conception - Niveau application

Volumes des informations et des liens entre ces informations

Nombre d’attributs (et leur domaine),

Nombre de relations (applicative et structurelle), Nombre de contraintes (et leur complexit´e)

Disponibilit´ e de l’information / sp´ ecifications incompl` etes

Processus it´eratif de conception

Fusion de diff´erentes sources

Evolutivit´ e de l’application

Remise en cause des sp´ecifications initiales, Restructuration - logique - de la base, ...

Bases de Donn´ees 3 / 27

(4)

Facteurs influant la conception - Niveau syst` eme

Les choix d’impl´ ementation physique sont fonction de param` etres techniques

Volumes de donn´ees : index, m´ethode de stockage, d’acc`es, ...

Fr´equence des transactions : aide `a la d´ecision (long), retrait bancaire (tr`es court)

Contrainte de temps de r´eponse : contractuelle, optimisation Caract´eristiques des donn´ees manipul´ees : taux de consultation, de mise `a jour, ...

Les remises en causes sont d´ elicates : coˆ uteuses en temps, en ressources humaines

Processus de d´ e-normalisation pour l’optimisation

(5)

Facteurs influant la conception - Niveau concepteur

Relativit´ e dans la perception des objets

Diff´erentes vues du mˆeme r´eel Choix des relations et des contraintes

D´ ecalage entre les langages usuels et les mod` eles formels BD

Th´eorie de la normalisation

Passage de la th´eorie `a la pratique (d´e-normalisation)

Conception it´ erative et durable (plusieurs mois)

Retour-arri`eres fr´equents

Historiques des choix (documentation)

Bases de Donn´ees 5 / 27

(6)

M´ ethodologie et niveaux d’abstraction

Connaissance informelle (culture d’entreprise, ...)

Analyse des besoins, sp´ecification des vues

→description formalis´ee (ind´ependante du syst`eme cible)

Int´ egration des vues

Gestion des homonymes, synonymes, ...

→sch´ema conceptuel (ind´ependant du syst`eme cible)

Transformation et normalisation

Sch´ema logique relationnel (en g´en´eral)

→ind´ependant de l’optimisation

Evaluation et optimisation

Sch´ema physique

→d´ependant de l’environnement informatique, du SGBD, des applications, ...

(7)

Description formalis´ ee - Mod` ele Entit´ e-Association

Approche intuitive :

Entit´e : tout objet du monde r´eel (correspond aux noms dans une phrase)

Association : tout lien entre objets (correspond aux verbes dans une phrase)

Affiner

Attributs : toute propri´et´e d’une entit´e ou d’une association Sp´ecifique mod`ele : association avec ou sans attributs Cardinalit´e : quantification du lien en terme d’instances

Bases de Donn´ees 7 / 27

(8)

Concepts du mod` ele

Type d’entit´ e : Ensemble de valeurs caract´ eris´ ees par une liste d’attributs

Attribut : idem mod` ele relationnel (d’entit´ e ou d’association) Attribut composite : propri´ et´ e non atomique (r´ ecursif) Attribut multi-valu´ e : propri´ et´ e ` a valeur ensembliste Cl´ e : idem mod` ele relationnel (primaire, candidate, ...)

Entit´ e faible : n’existe qu’` a travers un autre type d’entit´ e auquel elle est associ´ ee (d´ ependance existentielle)

Cardinalit´ e : 1 - 1 / 1 - N, N - 1/, M - N

(9)

Notations graphiques

<nom> <nom>

Type d'Entité

Type d'Association

Attribut Attribut (clé)

<nom> Attribut

multi-valué <nom> Attribut calculé

<nom>

<nom> <nom>

Attribut Composite

E1 A E2

Association binaire entre entités

Bases de Donn´ees 9 / 27

(10)

Exemple

Probl` eme : Formaliser les ´ el´ ements et les relations entre ces

´

el´ ements pour bˆ atir un mod` ele.

Hypoth` eses

Une personne poss`ede une (ou plusieurs) voiture(s)→lien 1 - N Une voiture appartient `a une personne et une seule→lien 1 - 1

Notations

Cardinalit´e fix´ee `a l’origine de l’association (en Merise idem, en UML c’est l’inverse, ...)

Le minimum fix´e `a 1 va n´ecessiter un contrˆole

(11)

Exemple Personne - Voiture

Hypoth` ese :

Une personne poss` ede une ou plusieurs voiture(s) : lien 1, N Une voiture appartient ` a une personne et une seule : lien 1, 1

Personne Voiture

Possede

1-N 1-1

N°SS NomNom Prénom

Date

Achat Prix

Achat

Type Puissance

Marque Couleur

Bases de Donn´ees 11 / 27

(12)

Exemple Avion

(13)

Exemple Complet

Entit´ e faible, Attribut multi-valu´ e, association circulaire, attribut calcul´ e, associations 0,1 / 1,1 / 1, N / M,N

Bases de Donn´ees 13 / 27

(14)

Passage intuitif au relationnel

Une entit´ e est repr´ esent´ ee par une relation (une table) - nom de l’entit´ e - avec la liste des attributs

Personne (NSS, NOM, PRENOM)

Voiture (NVH, MARQUE, TYPE, PUISSANCE, COULEUR)

Une association est repr´ esent´ ee par une relation - nom de

l’association - avec la liste des cl´ es des entit´ es participantes et des attributs de l’association

Possede (NSS, NVH, DATE, PRIX)

(15)

Probl` emes li´ es ` a une mauvaise conception

Redondance des donn´ ees

R´ep´etition du nom de d´epartement si plusieurs locaux

Incoh´ erence en mise ` a jour

Modification dans un n-uplet et pas dans un autre Modification dans une relation et pas dans une autre

Anomalie d’insertion

Quid d’une personne sans voiture ?

Quid de la gestion des valeurs nulles (e.g., restriction sur une marque si valeur inconnue ?)

Anomalie de suppression

La suppression de la derni`ere voiture d’une personne doit-elle entraˆıner la suppression de la personne ?

...

Bases de Donn´ees 15 / 27

(16)

Transformation en relationnel - Etape 1

Type d’entit´ e en relation : exemple Employ´ e

Type d’entit´e→Relation

Attribut atomique→Attribut

Attribut composite→N attributs (mise `a plat) Attributs cl´es candidates→cl´e(s)

Sch´ ema

EMPLOYE (NSS, NOM FAMILLE, NOM PRENOM, SALAIRE)

(17)

Transformation en relationnel - Etape 2

Type d’entit´ e faible en relation : exemple ACharge

idem ´etape 1

Cl´e de l’entit´e identifiante→Attribut(s) - cl´e ´etrang`ere -

Cl´ e de la relation : cl´ e de l’entit´ e + cl´ e ´ etrang` ere

Sch´ ema

ACHARGE (NSS, NOM, DATE NAISSANCE)

Bases de Donn´ees 17 / 27

(18)

Transformation en relationnel - Etape 3

Association binaire 1-1 par cl´ es ´ etrang` eres (cas sym´ etrique, en cas de 0 le sens est fix´ e)

Cl´e de la relation de E1 (resp. E2)→Attribut de E2 (resp. E1) Attribut de l’association→Attribut de E2 (resp. E1)

Cl´ e de la relation : sans changement

Sch´ ema : Dirige E1 : Employ´ e / E2 : D´ epartement

DEPARTEMENT (NUMERO, NOM, NSS MGR, DATE DEBUT) On (ne) met (pas) la cl´e de d´epartement dans EMPLOYE

(19)

Transformation en relationnel - Etape 4

Association binaire 1 - N (non faible) par cl´ es ´ etrang` eres

Cl´e de la relation de E2→Attribut de la relation de E1 Attribut de l’association→Attribut de E1

Cl´ e de la relation : sans changement

Sch´ ema : Controle E1 : Projet / E2 : Departement

PROJET (NUM, NOM, LOCAL, NUM DEPARTEMENT)

Bases de Donn´ees 19 / 27

(20)

Transformation en relationnel - Etape 5

Association binaire M-N

Cr´eation d’une nouvelle relation RelE1-E2

Cl´ e de la relation : (cl´ e de E1, cl´ e de E2)

Sch´ ema : Cl´ es et attribut de l’association

TRAVAIL DANS (NSS, NUM, HEURE)

(21)

Transformation en relationnel - Etape 6

Attributs multi-valu´ es

Cr´eation d’une nouvelle relation RelE1-Att Lien via la cl´e de l’entit´e

Cl´ e de la relation : tout le sch´ ema Sch´ ema : Cl´ e et attribut multivalu´ e

LOCALISATION (NUM, LOCAL)

<Nom Entité> Attribut

<Clé>

Bases de Donn´ees 21 / 27

(22)

Transformation en relationnel - Etape 7

Association n-aire

Cr´eation d’une nouvelle relation RelEi Lien via les cl´es des entit´es participantes

Cl´ e de la relation : union des cl´ es des entit´ es participantes Sch´ ema : Cl´ e et attribut(s) de l’association

<Clé E1>

<E1>

<E2>

<E3>

<Clé E3>

<Att Association>

(23)

Am´ elioration du mod` ele

G´ en´ eralisation / Sp´ ecialisation

Super-classe / sous-classe H´eritage des attributs

Instanciation `a diff´erents niveaux

Sp´ ecialisation

Par pr´edicat, totale / partielle (`a la C++ via les template) Partition / Recouvrement

Simple / Multiple (sous-classe partag´ee)

Union

H´eritage s´electif (`a la C++ via les private)

Bases de Donn´ees 23 / 27

(24)

Transformation

Personne NSS

Nom

Etudiant Salarié

NomEmp NoEtudiant

Privé Public

Salaire Indice

IsA IsA

(25)

G´ en´ eralisation

Feuilles de la hi´ erarchie = Relations de base

Les attributs sont obtenus par union des attributs de la racine `a la feuille

Les non feuilles de la hi´ erarchie sont des vues d´ efinies comme des unions

Les attributs sont obtenus par projection `a partir de la relation de base sur le sous ensemble d´efini `a ce niveau de la hi´erarchie

Cons´ equences

Pas de cr´eation d’instance au niveau non feuille Acc`es aux feuilles peu coˆuteux

non feuille : Union + Projection

Une mˆeme instance peut ˆetre sp´ecialis´ee dans plusieurs entit´es Pas d’OID

Bases de Donn´ees 25 / 27

(26)

Exemple

ETUDIANT, PRIVE, PUBLIC sont des relations SALARIE, PERSONNE sont des vues

SALARIE =∪(

π(PRIVE, NSS, NOM, NOM EMP), π(PUBLIC, NSS, NOM, NOM EMP)) PERSONNE =∪(

π(ETUDIANT, NSS, NOM), π(SALARIE, NSS, NOM))

(27)

Sp´ ecialisation

Chaque noeud est une relation de base (sch´ ema local) Chaque instance a un OID

H´ eritage : OID de l’instance p` ere comme cl´ e ´ etrang` ere

Cr´eation d’instance `a n’importe quel niveau

Acc`es coˆuteux loin de la racine (join) H´eritage multiple difficile (cl´es ´etrang`eres)

Notion d’OID

Multi-instanciation possible

Sch´ ema

PERSONNE (OID P, NSS, NOM) ETUDIANT (OID E, NOET, OID P) SALARIE (OID S, NOM EMP, OID P) PUBLIC (OID PU, INDICE, OID S) PRIVE (OID PR, SALAIRE, OID S)

Bases de Donn´ees 27 / 27

Références

Documents relatifs

Mars accueille ainsi la plus haute montagne connue du syst`eme solaire, le Mont Olympe, qui culmine ` a plus de 27 km au-dessus de sa base, soit plus de trois fois l’altitude

1 Chirurgiens qui affinneront leurs rapports vëntobles i ce qui aura lzelf à 1'égard.des perfônnes qui agiront pour ceux qui , fêTont de'ce'dés &#34; &amp;- le rapport joint au

Le gestionnaire de la biblioth` eque veut savoir pour quelles mati` eres on a achet´ e chaque livre, et quels sont les enseignants qui ont recommand´ e l’achat d’un livre.. Dans

3 – Dans une mole de fluorure de magnésium, y a-t-il plus d’atome de magnésium ou d’atomes de fluor ? 4 a – Calculer la masse d’un atome de magnésium et d’un atome de fluor..

Il faut donc avoir d = 1 et, revenant aux ˆ ages actuelles, Hippolyte peut (et nous pouvons avec lui) conclˆ ure que :. Le dernier petit-fils et les trois petits-neveux de Diophante

In Section 2 we fix our notation and give some examples, mainly in the complex case. Section 3 contains some isomorphic results. with one remarkable exception: an

Cosmopolitan Vodka, citron vert, jus de cranberry Pina colada : Rhum, jus d’ananas, lait de coco Daiquiri : Rhum blanc, sucre de canne, jus de citron Planteur’s Punch :

Contrairement ` a Giraud , mais en suivant Deligne - Milne [ De-Mi ] p.220, nous nous restreignons aux morphismes de liens qui sont des isomorphismes, et nous notons LI is (T) la