Upload
thierri-muller
View
107
Download
0
Embed Size (px)
Citation preview
1
BASES DE DONNÉES OBJETS
• Limites des SGBDS relationnels
– concus pour des applications de gestion
– support difficile d'objets complexes: schémas d'une composante VLSI, image, programme => CAO, bureautique, car :
types de données limites
structures de données trop simples pour objets à structure complexes (hiérarchique ou graphe)
Possible mais information sémantique dispersée sous forme de valeurs
grand nombre de jointures
langage manipule difficilement objets complexes
ne supportent pas objets dynamiques (comportement représenté par les traitements)
2
• gestion des connaissances
SGBD relationnel manipule des faits
connaissances doivent être intégrées dans pgms.
--> connaissances codées, dupliquées
--> connaissances non partagées
• approche 0-0 tend à intégrer techniques des langages (Smalltalk, C++) 0-0 et les BD
extension des SGBD
développement de langages de règles
=> SGBD0
quelques produits qui existent déjà
– ORION (MCC)
– GBASE (Graphael)
– VBASE (Ontologic)
– IRIS (H-P)
– GEMSTONE (Servio)
– O2 (O2 Technology)
3
MODÉLISATION DES OBJETS
• Objet: collection d'éléments de données structurés identifiés par une référence unique (OID)
• Ex.: cercle c, avion a, personne p, ...
• deux objets ayant la même valeur mais identifiants différents, sont différents (pas des tuples).
• objets identiques (01 = = 02) si même OID
• objets égaux (01 = 02) si même valeur
• 01 = = 02 => 01 = 02
• et non inverse
• la propriété d'un objet le distingue des autres
• Propriété: caractéristique d'un objet, désignée par un nom correspondant à un attribut, fonction, sous-objet
• Ex.: attribut: nom d'une personne
• fonction: fonction âge (d'une personne)
• sous-objet: enfant (d'une personne)
4
• Propriété peut-être vue comme une fonction appliquée à l'objet --> autre objet ou une ou plusieurs valeurs
nom --> personne p --> nomp
enfant --> personne p --> enf1
enf2
. . .
• concept de types de données abstraits:
• Ensemble de fonctions qui cachent représentation d'un objet et contraint les interactions avec les autres objets.
• Classe: groupe d'objets ayant mêmes propriétés,caractérisée par une structure et une collection d'opérations
• un type abstrait
• Ex.: les cercles, personnes, dessins, cartes, avions, ...
• Les procédures de base qui manipulent les objets sont des méthodes.
5
• Méthode : opération associée à une classe qui manipule ou retourne l'état d'un objet ou d'une partie de l'objet de la classe
• Méthodes publiques: accessibles à l'extérieur de la classe
• Méthodes multiclasses: s'appliquent à plusieurs objets de classes • Exemple:
• Classe porte
• public:
• état: [ouverte, fermée]
• hauteur: réel
• largeur: réel attributs• épaisseur: réel|
• privé:
• axe: vecteur
• angle: réel
• opération publique:
• ouvrir (force: réel) . . . end; méthodes• fermer . . . end;
6
•
• messages: bloc de paramètres permettant par envoi l'invocation d'une méthode publique d'un objet
• Exemple: ouvrir (30)
fermer
largeur.read
largeur.write(10) résultats
• Déclencheurs: opérations sur objets déclenchés par le système des apparition d'une condition particulière
• ===> cas particulier de méthodes
• Ex.: if angle > 10° then état = ouverte
• Liens sémantiques entre classes
• évite répétition des propriétés pour chaque classerelation "est-un" (is-a)
• ==> sur-classe et sous-classe (plus raffinée) avec transmission des propriétés classe --> sous-classe (héritage)
• employé hérite des attributs et méthodes des personnes
Méthodes
7
• employé hérite des attributs et méthodes des personnes
• Organisation des objets• constructeurs : outils pour construire des objets complexes. Classe
structurelle permettant d'imposer une structure à une collection d'objets et de définir des propriétés multi-valuées structurées
• Principaux constructeurs:
– tuple (agrégation d'attributs)
– l'ensemble (collection non ordonnée sans double)
– panier (bag), collection avec doubles
– liste (collection ordonnée avec doubles)
– tableau (collection avec doubles et indexées)
• offrent des méthodes d'accès spécifiques (parcours de liste)
• ==> BDO: description de classes, associations, propriété et méthodes
Personne
employé retrait
ingénieur technicien
8
• méthode ORION: fonction LISP
• interface unique a un objet en termes de messages
• propriétés, méthodes et messages d'une classe sont stockés séparéments des objets
• classes organisées sous forme de hiérarchie et même de treillis
• héritage multiple
• il est possible de préciser dynamiquement (en changeant schéma) de quelle super-classe une définition peut-être héritée
nopnom
ObjetFournit
nofnomctg
quoi (Piece)qui (fournisseur)qte datePoids
role
Fournisseur
Grossiste
ch-affaire(production, bourse, date)
Pieces-alu
Pieces
Pieces-moteur
type-voitureannéeforce attribut complexe
9
• classe classe: métaclasse qui fournit les méthodes pour définir de nouvelles classes
• Classe collection: fournit les méthodes pour opérer sur les ensembles
• Hiérarchie peut-etre étendue par l'utilisateur avec ses propres classes
• Objet composé: hiérarchie d'objets composants
• Versions: objet a des versions (déclaré au niveau de sa classe) (vient de C.A.O.)
3 classes : primitif collection et classes
entier réel
ensemble
ensemble defournisseurs
ensemble de réels
ensemble de grossistes ensemble de détaillants
10
LANGAGE
• Définition d'objets• Message envoyé à la classe classe
• (make-class nom de classe
: superclasses Superclasses ...
: attributs (Nom : domain domaine
: inherit from Superclasse
: composite vrai faux) ...
• méthods (Nom de méthode Superclasse))
• Ex.: make-class Grossiste
• : superclasses Fournisseur
• : attributs (ch-affaire : domain(faible, moyen, élevé)
• composit faux)
• (fourni : composit vrai)
• : méthods (fournir)
11
make class Fournit
• attributes (quoi : domain Pièce)
• (qui : domain Fournisseur)
• (qté : domain entier)
• (date : domain entier)
• Définition d'un objet : envoi de message à la classe
• make Nom de classe
• : att. | val| ... attn val
• : parent (Objet Parent Nom d'attribut Parent))
• ==> Permet de rendre l'objet composant d'un objet parent pour attribut
• Ex.: Création d'une instance de AFourni, composant de l'objet Fournisseur identifié par Ford.
• make AFourni
• date 90390 (quoi : domain Pièce)
• parent (Ford Fourni))
12
• Manipulation d'objets• (nom-de-message Nom de classe [Predicat])
• select, delete, change
• Rechercher les pièces-moteur faites pour voiture Ford pour les années 2005 ou 2006.
– (select Pièce-moteur (Type-voiture = 'Ford' and
(année= 2005 or (année=2006))
==> Donne les attributs type-voiture, année, forcesi * select ==> poids, role, nom, nop en plus
• Rechercher les instances de Fournit en quantité 100 pour le grossiste Sonatrach
– (select Fournit (Qte = 100 and (Fournisseur Nom = Sonatrach)))
• au moins un élément: recherche des grossistes qui ont fourni au moins une fois en quantité > 100 (production)
– (select Grossiste (Fourni somme production > 100 )))
• Supprimer tous les grossistes dont les actions en bourse sont < 15
– (delete Grossiste (Fourni all (bourse < 15 )))
13
• Gestion de schéma• Mise-à-jour dynamique, immédiate, visible
• ajout, suppression d'attribut, modification nom, type, héritage (pour hériter un autre attribut de même nom d'une autre super-classe)
• ajout, suppression, méthode, modification nom, contenu, héritage
• maj héritage d'une classe dans liste super-classes d'une classe
nopnom
ObjetPièces
FournitPieces-aluminiumFournisseurQtéDatePieces
aluminiumPoidsRole
type-voitureannéeforce
14
Bases de données Bases de données d’imagesd’images
© Copyright Claude Frasson 2008
15
Traitement d’images
Traitement et
reconnaissancePRIP
Graphique
Image Description symbolique Génération de
schémas à partir de description
16
Importance de l’image
• Contient une grande quantité d’informations
• Caractérise
– Disposition spatiale
– Apparence
– Texture
– Relief
– Composition
• 80% de l’acquisition de la connaissance humaine
• Sous ensemble symbolique : l’icône
17
Applications
• Télédetection
– Images de satellites
– Photos aériennes
– Traitement des informations géographiques, météos
– Cartographies
• Médecine
– Rayons X
– Tomographies
– Karyotypes
– Cellules, tissus
18
• Industrie
– Conceptions graphiques (CADCAM, prototypes, circuits VLSI
– Vision (3D), inspection, robotique, navigation
• Science
– Chambres à bulles, astronomie
– Ethnologie
• Sécurité
– Empreintes digitales
– Plaques de voitures
– Accès protégés
19
Système de base de données d’imagesSBDI
• Une simple collection d’images sans système de gestion n’est PAS un SBDI• Une collection d’images de types variés pour l’analyse et le traitement n’est PAS
un SBDI car– Ils dépendent des pgms d’application– Ne possèdent pas d’intégrité– Dépendent du stockage
• On a recherché une extension des SGBD actuels avec des descripteurs d’images
Ce sont des fichiers d’images
20
Problèmes avec les SGBD actuels
• Objets à représentation discrète
– Les images sont des objets continus
– Les images ont des transformations spatiales
• Dans les SGBD on a un ordre total; donc tri possible
• Dans les images on a un ordre partiel
• Le volume d’une image est important (min 64k)
• Le temps de traitement nécessite une architecture spéciale
21
• SBDI : système ou une grande quantité d’images et d’informations associées sont intégrées (stockage et gestion) avec :
– Intégrité
– Indépendance des données
– Accès et manipulation des images sans connaître la structure logique ou physique
22
Évolution du contexte
S B D I
SGBDAnalyse et traitement
d’images Progrès des supports mémoires
Graphiques
Applications reposant sur les images
TélédétectionGéographie Médecine
Divers
23
Exemple : QPEQuery by Pictorial Example
Image satellite
Schéma d’image
PRIP
Display
Base relationnelle
PRIP
Sketch
Set
24
25
26
Principes
• Extraction d’un croquis (ou schémas) à partir d’une image satellite selon une technique PRIP (reconnaissance de forme)
• Extraction de routes, villes, ponts, rivières,…par des algorithmes spécifiques
• Transformation du schéma en base relationnelle (set) par succession de segments de droite
• Inverse : lecture de la base pour reconstituer un schéma (sketch)
• Display : affiche l’image de la relation ou du schéma
27
Exemple
Frame ROID X1 Y1 X2 Y2
405 1 0 432 117 304
405 1 117 304 176 243
405 1 176 243 252 218
405 1 252 218 284 197
405 1 284 197 285 198
405 1 285 198 296 161
405 2 0 265 40 238
405 2 40 238 85 224
405 2 85 224 106 209
ROADS
28
Modèle de relations
• ROADS (Frame, ROID, X1, Y1, X2, Y2)
• RONAME (Frame, ROID, Name)
• POS (Frame, Xsize, Ysize, Xcen, Ycen,Loc)
• CITIES (Frame, CIID, X1, Y1, X2, Y2)
• CINAME (Frame, CIID, Name)
• Certaines relations comme ROADS, POS, CITIES sont construites automatiquement par application de l’opérateur Set sur l’image.
29
Capacité de QPE
• Constructions de dessins à partir d’intersection, de négation de dessins
• Calcul de surface, longueur, périmètre
• Conversion : Image ----Schéma----relation au moyen d’opérateurs
• Inversement : attributs ---schéma --- image
• Requêtes à partir d’exemples
• Manipulation de recherche par similarité
30
Q1 : Trouver le nom des routes qui apparaissent dans le même cliché (Frame)que la ville de Laval ?
CINAME Frame CID Name
X Laval
ROADS
RONAME Frame ROID Name
X P. Name
On dispose aussi d’opérateurs d’attributs
-longueur d’une ligne Length-L
-Périmètre d’une région Length- R
-Surface Area-R
-Distance entre points Length-PP
31
POS Frame Xsize Ysize XCen YCen LOC
ROAD 301
Q2 : Appliquer le traitement ROAD à l’image 301 et placer le résultat dans la relation ROADS
ROADS Frame ROID X1 Y1 X2 Y2
I.(ROAD) 301
Q3 : Faire le schéma de la relation ROADS
ROADS Frame ROID X1 Y1 X2 Y2
S. 301
32
CINAME Frame CID Name
X Laval
Q4 : Afficher l’image de la ville de Laval
POS Frame Xsize Ysize XCen YCen LOC
DIS. X
ROADS Frame ROID X1 Y1 X2 Y2
* X @ @ @ @
Q5 : Trouver le nom des routes pointées sur l ’écran
RONAME Frame ROID Name
X P. Name