1 / 26

Modélisation des données

Modélisation des données. Un langage pour décrire INVARIANT, PRE-CONDITION, EXPRESSION Concepts et notations utilisés Logique Ensembles Relations binaires et fonctions Arithmétique Suites Arbres. Logique : connecteurs. ET  (ASCII : & ) OU  (ASCII : or ) 

Download Presentation

Modélisation des données

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modélisation des données • Un langage pour décrire • INVARIANT, PRE-CONDITION, EXPRESSION • Concepts et notations utilisés • Logique • Ensembles • Relations binaires et fonctions • Arithmétique • Suites • Arbres

  2. Logique : connecteurs • ET  (ASCII : &) • OU  (ASCII : or)  • NON  (ASCII : not) • SI-ALORS  (ASCII : =>)  • EQUIV.  (ASCII : <=>)

  3. Logique : quantificateurs • Universel •  listeDeVariables . (P  Q) (ASCII : !) •  x,y . (x NAT  y NAT  x=quantite(y)  x≥0) • Existentiel •  listeDeVariables . (P) (ASCII : #) •  x . (x NAT x=0)

  4. Logique : prédicat = et couple • Égalité • = • ≠ (/= en ASCII). • Couple • (a,b) (en B symbole maplet |-> : a|->b)

  5. Ensemble : désignation • Extension • E={1,3,5,7,9} • Compréhension • E={x | x  Z  x>0  x<10  x mod 2 =1} • L’ensemble vide • {}

  6. Ensemble : les prédéfinis • N les entiers naturels (NATURAL en ASCII) • N* les entiers naturels non nuls (NATURAL1 en ASCII) • Z les entiers relatifs (INTEGER en ASCII) • I..J les intervalles d’entier, l’ensemble des valeurs comprises entre I et J (bornes incluses) • INT les entiers relatifs implantables : MININT..MAXINT • NAT les entiers naturels implantables : 0..MAXINT • NAT1 les entiers naturels non nuls implantables : 1..MAXINT • BOOL les booléens = {FALSE,TRUE} • bool(P) retourne le booléen résultat d’une formule FOL • STRING l’ensemble des chaînes de caractères.

  7. Ensemble : les prédicats • x  E  (: en ASCII) • E1  E2 (<: en ASCII,  notée <<:) • E1 x E2 (* en ASCII) • Produit cartésien non commutatif • a|->b ≠ b|->a • P(E)  (POW en ASCII) • Négation des prédicats par le symbole / •  devient /: en ASCII

  8. Ensembles : les opérateurs • l’union E1  E2 (\/ en ASCII) • l’ensemble des éléments appartenant à E1 ou E2 • l’intersection E1  E2 (/\ en ASCII) • l’ensemble des éléments appartenant aux deux ensembles E1 et E2 • la différence E1 - E2 • l’ensemble des éléments appartenant à E1 mais pas à E2 • choice(E) • un élément indéterminé de l’ensemble E

  9. Relations binaires: vocabulaire • r est un sous-ensemble du produit cartésien D x A de deux ensembles • D : ensemble de départ • A : ensemble d’arrivée • Soit un couple d|->a d’une relation r • a est une image de d par r • d est un antécédent de a par r

  10. Relations binaires : déclaration • r D x A ou r  P(D x A) ou r  D↔A • r est une relation de D dans A • D↔A désigne l’ensemble de toutes les relations de D vers A • D↔A = P(D x A) • noté <-> en ASCII

  11. Relations binaires : les opérateurs • Soit r D↔A • Le domaine : dom(r) • l’ensemble des éléments de D qui ont une image par r • {d | dD a.(aA  (d,a)r)} • Le co-domaine (« range ») : ran(r) • l’ensemble des éléments de A qui ont un antécédent par r • {a | aA d.(dD  (d,a)r)}

  12. Relations binaires : les opérateurs • Soit r D↔A et q  A↔C • l’inverse : r-1 (r~ en ASCII) • la relation de A↔D définie par • {(a,d) | (a,d)AxD  (d,a)  r} • la composition : r;q • la relation de D↔C définie par • {(d,c) | (d,c)DxC  a.(a  A  (d,a)  r  (a,c)  q)} • l’ensemble d’arrivée de r doit être identique à celui de départ de q • la relation identité sur un ensemble : id(D) • la relation de D↔D définie par • {(d,a) | (d,a)DxD  d=a}

  13. Relations binaires : les opérateurs • Soit r D↔A et ED et BA • la restriction de domaine : Er (<| en ASCII) • la relation incluse dans r définie par • {(d,a) | (d,a)r  d  E} ; • la co-restriction : rB (|> en ASCII) • la relation incluse dans r définie par • {(d,a) | (d,a)r  a  B} ; • l’anti-restriction : Er (<<| en ASCII) • la relation incluse dans r définie par • {(d,a) | (d,a)r  dE} • l’anti-co-restriction : rB (|>> en ASCII) • la relation incluse dans r définie par • {(d,a) | (d,a)r  aB}

  14. Relations binaires : les opérateurs • Soit rD↔A et pD↔A • L’image relationnelle : r[E] • l’ensemble des images des éléments de E par r • {a | aA d.(dE  (d,a)r)} • La surcharge : r<+p • l’écrasement de la relation par la relation p • {(d,a) | (d,a)DxA  ((d,a)p  (ddom(p)  (d,a)r))}

  15. Relations binaires : les opérateurs • Soit rD↔A et sD↔F et qA↔C • Le produit direct : rs (>< en ASCII) • la relation définie par • {(d,(a,f)) | (d,(a,f))Dx(AxF)  (d,a)r  (d,f)s} • La première projection : prj1(D,A) • la relation qui envoie chaque couple du produit cartésien de deux ensembles sur le premier élément du couple • {((d,a),j) | ((d,a),j)(DxA)xD  j=d} • La deuxième projection: prj2(D,A) • la relation qui envoie chaque couple du produit cartésien de deux ensembles sur le deuxième élément du couple • {((d,a),j) | ((d,a),j)(DxA)xA  j=a} • Le produit parallèle : s||q • la relation définie par • {((d,a),(f,c)) | ((d,a),(f,c))(DxA)x(FxC)  (d,f)s  (a,c)q}.

  16. Relations binaires • 5 opérateurs suffisent à construire tous les autres • dom -1 ; id • Exemples : • ran(r) = • Er = • r[E] = • r<+p =

  17. Fonctions : 4 caractéristiques • la fonctionnalité (->) • tout élément de l’ensemble de départ a au plus une image • la totalité (non totalité +-) • tout élément de l’ensemble de départ a au moins une image • l’injectivité (>-) • tout élément de l’ensemble d’arrivée a au plus un antécédent • la surjectivité (->>) • tout élément de l’ensemble d’arrivée a au moins un antécédent

  18. Fonctions : 8 catégories • les fonctions partielles (quelconques) D+->A • les fonctions totales D-->A • les injections partielles D>+>A • les injections totales D>->A • les surjections partielles D+>>A • les surjections totales D-->>A • les bijections partielles D>+>>A • les bijections totales D>->>A

  19. Inclusion des ensembles de relations et fonctions D↔A D+->A D-->A D+>>A D>+>A D-->>A D>->A D>+>>A D>->>A

  20. Relations et fonctions • La relation est la notion la plus générale. • La fonction est un cas particulier • En général une fonction est partielle • Une fonction totale est un cas particulier • En général une fonction a pour inverse une relation • une injection a pour inverse une fonction • Toujours essayer de mettre le « côté » le plus contraint à « gauche »

  21. Fonctions : nouveaux opérateurs • l’image fonctionnelle d’un élément : f(x) • f doit être une fonction • x doit appartenir à son domaine • fonctions abstraites (lambda expressions) : x.(xD | e) • D est le domaine de définition de la fonction • e une expression paramétrée par x définissant l’image pour tout x de D • ( noté % en ASCII)

  22. Arithmétique des entiers • Les comparateurs • <, >, ,  (<= et >= en ASCII) • Les opérateurs binaires • +, -, *, / (la division entière) • mod (le modulo) • xy (x**y en ASCII) • Les opérateurs unaires • succ, pred

  23. Arithmétique des ensembles • L’opérateur card(E) • Le nombre d’éléments d’un ensemble • Les opérateursmax(E) et min(E) • Prennent un ensemble d’entiers non vide en paramètre • Retourne l’entier le plus grand (resp. le plus petit) de l’ensemble • Les opérateurs  et  (SIGMA et PI en ASCII) • Calculent la somme (le produit) d’expressions arithmétiques • (x,y…).(P | E) • P est une formule de la logique des prédicats et E une expression arithmétique (P et E dépendant des variables x,y…) • Somme pour toutes valeurs de variables x,y… satisfaisant P des expressions E correspondants aux valeurs des variables

  24. Application à la modélisation • Description de parenté entre personnes • Personne ne peut être en même temps un homme et une femme. • Cependant on est un homme ou on est une femme. • Seules les femmes ont des époux, qui sont des hommes. • Les femmes n’ont qu’un seul époux. • Une épouse d’un homme est une femme dont cet homme est l’époux. • Les hommes n’ont qu’une seule épouse. • Les mères sont des femmes mariées. • Par définition, le père est l’époux de la mère.

  25. Formalisation • Soit un ensemble abstrait PERSONNE • On introduit les concepts homme, femme, époux, mère homme  PERSONNE femme = PERSONNE – homme aPourEpoux  femme +-> homme aPourMère  PERSONNE +->dom(aPourEpoux)

  26. Formalisation • Modéliser les concepts • aPourEpouse • aPourConjoint • personneMariée • mère • aPourPère, père • aPourParent, parent • aPourEnfant, enfant, aPourFille • aPourFrereOuSoeur, aPourFrere • aPourBeauFrereOuBelleSoeur • aPourNeveuOuNiece • aPourOncleOuTante • aPourCousin • …

More Related