Databases: Elements of their story - LORIA

Databases: Elements of their story - LORIA

De la la technologie technologie Bases Bases de de donnes donnes De aux technologies technologies Web Web aux Nacer Boudjlida LORIA, UHP Nancy 1 http://www.loria.fr/~nacer (Tutoriel MCSEAI2002, Mai 2002) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Objectifs du du tutoriel tutoriel Objectifs Citation de VLDB (http://www.vldb.org/future.html), Dec. 1999: the database role of providing a storage manager, i.e. core DB technology, remains central The focus of our community should turn to the investigation of how core technology can become more widespread and usable, by concentrating on the description of new application areas, on the method and tools for data analysis, design and integration, on the technologies for data deployment in modern architectures (middleware, wireless technology, the Web), and in general on all problems and challenges which are due to

the need of using very large databases in new contexts. MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Objectifdu dututoriel tutoriel Objectif Comprendre (une partie de) la technologie bases de donnes Survol des gnrations de SGBD (et des rsultats) Evaluer ladquation de cette technologie par rapport de nouveaux types dapplications ou de nouvelles architectures logicielles MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Fonctions dun dun SGBD SGBD Fonctions

Description de donnes (objets, attributs, relations) Manipulation: Langages de (orients ensembles) Confidentialit et Intgrit Accs concurrents Scurit de fonctionnement Efficacit : Accs et Traitement des Requtes MCSEAI02, Annaba, DZ, Mai 2002 haut niveau [email protected] Architecturedun dunSGBD SGBD Architecture Interface Utilisateurs R

P O N S E S Contrle des Accs et autorisations Optimisation requtes Plans dexcution Contrle de Lexcution Mthodes daccs Gestion des bufffers Accs concurrents et journalisations MCSEAI02, Annaba, DZ, Mai 2002 Mta Donnes Traitement Des requtes Statistiques Donnes Gestion des accs Gestion des Transactions et Reprises Index

Logs Verrous [email protected] Classes de de SGBD SGBD Classes Un SGBD comprend et implmente un modle de reprsentation de donnes CODASYL (SGBD hirarchiques/rseaux) Relationnel (SGBD R) Orient Objets (SGBDO) Donnes Non ou Semi-Structures (Web-SGDB ?) Evolution du domaine : Autres domaines (Programmation, Rseaux, IA, etc.)

Besoins des nouvelles applications (CAD/CAM, Wflow, Ingnierie du Logiciel, etc.) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Dpendancesentre entreDomaines Domaineset etEvolution Evolution Dpendances ADT CLU, Ada SGBD Extensibles Exodus, Starburst, Postgres, Genesis Pgmation O Smalltalk, C++ SGBDO Gemstone, O2, Orion, Objectstore MCSEAI02, Annaba, DZ, Mai 2002 Modle Relationel plat Logique DATALOG

NF2 Rseaux Smantiques DATALOGset LDL, Nail Modles Smantiques Persistent PL & DBPL PS-Algol, Pascal-R SGBDO Dductifs [email protected] Structure de de la la Prsentation Prsentation Structure Partie I : Bases et Systmes Relationnels Forces et Faiblesses Partie II : Modles et systmes pour objets complexes Partie III: SGBD et Architectures Client/Server MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Partie I: I: Bases

Bases et et SGBD SGBD Relationnels Relationnels Partie I.1- Modle et Langages I.2- Traitement des requtes Bases Centralises Bases Distribues I. 3- Intgrit et Confidentialit I. 4- Transactions et Reprise Bases Centralises Bases Distribues I. 5- Forces et Faiblesses du Relationnel MCSEAI02, Annaba, DZ, Mai 2002 [email protected] I.1- Modle Modle et et Langages Langages Relationnels Relationnels I.1 Concepts du Modle de Donnes

Domaine : Ensemble de valeurs Attribut : Nom associ un domaine Relation : Sous-ensemble du produit cartsien des domaines Vision logique dune relation : Table Colonnes : Valeurs des attributs Lignes : tuples, faits MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Modleet etLangages LangagesRelationnels Relationnels(suite) (suite) Modle Domaines:

Monde Rel (faits) A = {DuponT, DuponD, DuponS, DuponX} B = {Tom, Dani, Sergio, Bill, Paul, Theo} C = {21, 22, 30, 35, 42, 25} Tom DuponT a 25 ans, Dani DuponD a 30 ans, Sergio DuponS a 35 ans. Relation Person(A, B, C) A B C DuponT DuponD DuponS Tom 25 Dani 30 Sergio 35 Les autres combinaisons : sans intrt MCSEAI02, Annaba, DZ, Mai 2002

[email protected] LangagesRelationnels Relationnels(suite) (suite) Langages Dclaratifs, Orients ensembles 1/3) Algbre Relationnelle : Oprandes et rsultats = Relations Slection/Restriction (), Projection () Produit Cartsien (X), Union (), Diffrence (\) Note: Join(R, S, Cond) = Cond (R x S) Condition : R.Attribut S.Attribut R S -expression : Oprateur de Comparaison (=, <, >, etc.) MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

I.1-Langages LangagesRelationnels Relationnels(suite) (suite) I.1- - A,B(R) A B C - X(R, S) R A B Colonnes & valeurs - R1 \ R2 de R de S S MCSEAI02, Annaba, DZ, Mai 2002 R1 R2 [email protected] LangagesRelationnels Relationnels(suite) (suite) Langages 2/3) Calcul Prdicatif:

Fondement : Logique du 1er ordre Variables : Domaine/Tuple Compltude et Equivalence Query By Example Compltude au sens de Codd: Ensemble minimal doprateurs Equivalence Relational Algebra Structured Query Language MCSEAI02, Annaba, DZ, Mai 2002 Domain variables predicate calculi Tuple variables predicate calculi QUEry Language

[email protected] LangagesRelationnels Relationnels(suite) (suite) Langages 3/3) SQL: Dialecte Standard des SGBDR R select * from R (A1, , An) (R) select A1, , An from R C (R) select * from R where C R x S select * from R, S R S select * from R union (select * from S) R \ S select * from R minus (select * from S) Join(-expression) (R, S) = (-expression) (R x S) select * from R, S where -expression MCSEAI02, Annaba, DZ, Mai 2002

[email protected] LangagesRelationnels Relationnels(suite) (suite) Langages SQL dans un Language Hte : Cobol, Fortran, C, C++, etc. Paradigmes: Dclaratif / Procdural Orient ensemble / Un tuple la fois Impedance mismatch: Langage/SGBD Ensembles de types de donnes Leurs reprsentations physiques Approches : Pr-compile / Compile MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

I.2- Traitement Traitement des des Requtes Requtes I.2 Minimiser le cot dvaluation Quelques facteurs de cot : Nombre dE/S (Base Mmoire vive) Taille des relations, des tuples, de lespace temporaire CPU, etc. Optimisation (Arbre relationnel) Syntaxique Smantique Estimation de cots MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

Traitementdes desRequtes Requtes(suite) (suite)::Le Leprocessus processus Traitement Analyse syntaxique Et smantique Optimisation Plan dexcution Gnration de code Code Excutable Mta Donnes Statistiques Donnes Index Excution Rsultats MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(1) (1)Optimisation Optimisationsyntaxique syntaxique Traitement

Requte SQL Arbre algbrique Transformer larbre en utilisant Proprits des oprateurs algbriques (Associativit, Commutativit, Distributivit, etc.) Heuristiques: Evaluer en 1er les oprations les moins coteuses Faire descendre les Slections ( nbr de tuples) Faire descendre les Projections ( nbr de colonnes) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(1) (1)Optimisation Optimisationsyntaxique syntaxique Traitement

Select L From R1, R2, , Rn Where Condition L Condition X X R1 R2 X Rn-1 MCSEAI02, Annaba, DZ, Mai 2002 Rn [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(1) (1)Optimisation Optimisationsyntaxique syntaxique Traitement Relations R(A, B, C, K), S(A, D, G), T(B, E, F)

Requte R.A, R.B, S.D, T.E Select R.A, R.B, S.D, T.E From R, S, T Where R.A = S.A And R.B = T. B And C > c And D = d And E <> e R.A = S.A And ... X X R MCSEAI02, Annaba, DZ, Mai 2002 T S [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(1) (1)Optimisation Optimisationsyntaxique syntaxique Traitement R.A, R.B, S.D, T.E

R.A, ..., T.E R.B = T.B R.B = T.B Join X R.A = S.A X T C > c D = d R R.A = S.A E <> e S MCSEAI02, Annaba, DZ, Mai 2002 Descente de A, B A, D C > c

D = d R S B, E E <> e T Descente de [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(2) (2)Estimation Estimationde decots cots Traitement Minimiser une fonction cot avec des facteurs comme :

Nombre dE/S Tailles des Relations, tuples et index Temps UC Slectivit des attributs Slectivit de la jointure Evaluer diffrentes stratgies dexcution En choisir une Souvent combine avec la mthode syntaxique MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Traitementdes desRequtes Requtes(suite) (suite)::(3) (3)Smantique Smantique Traitement Contrainte dintgrit : IC Expression de slection : E

Pas daccs la base si (E IC) Exemple: IC: Vols inter-continentaux partent de Roissy E : Vols continentaux au dpart de Roissy ? Pas (encore) implmnte MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Traitementdes desRequtes Requtes(suite) (suite)::Bases Basesdistribues distribues Traitement SGBD distribu :

SGBDs, autonomes, ventuellement htrognes, relis par un rseau de communication et cooprants dans lexcution de tches. Base distribue: Collection de bases de donnes logiquement relies et physiquement distribues sur un rseau MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Traitementdes desRequtes Requtes(suite) (suite)::Bases Basesdistribues distribues Traitement Distribution concerne Donnes Traitement des requtes

Fonctions du systme Excution et coordination des tches Traitement de requtes distribues : autres facteurs Localisation des donnes Duplication ventuelle des donnes (et MJ) Cots des Communications, etc. MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Notion Notionde deFragmentation Fragmentation Bases Horizontale/Verticale Avec/Sans duplication Duplication totale (cf. Replication Servers)

Fragmentation et Duplication Duplication dun fragment Fragmentation de duplicats, etc. MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Fragmentation FragmentationHorizontale Horizontale Bases Relation R Fragments R.f1 R.f2 R.f3 Relation S S.f1 S.f2 MCSEAI02, Annaba, DZ, Mai 2002

[email protected] Basesdistribues distribues::Fragmentation FragmentationVerticale Verticale Bases R.f1 Relation R R.f2 R.f3 MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Requte Arbre Algbrique Localisation Des fragments Information sur La Localisation Et la Fragmentation Requte Distribue

Statistiques Optimisation Donnes Index Plan dExcution Distribu MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Product Prod# Pname Unit-price Store Store# Address Volume Storage Prod# Store# Quantity Product.f1 Prod# Pname Product.f2 Prod# Unit-price MCSEAI02, Annaba, DZ, Mai 2002 Storage.f1 (Store# = 4)

Prod# Store# Quantity Storage.f2 (Store# <> 4) Prod# Store# Quantity [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Requte : Noms des produits du dpt N 4 ? Select p.Pname From Product p, Storage s Where s.store# = 4 And p.Prod# = s.Prod# Pname s.store# = 4 and ... p.Prod# = s.Prod# Prod#,Pname Storage s MCSEAI02, Annaba, DZ, Mai 2002

Prod# s.store# = 4 Product p X Product p Pname Transformation classique Storage s [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Seuls les fragments existent ! ( sous-arbres) Pname Prod# = Prod# Product Prod#

Prod#,Pname Prod# = Prod# Storage s.store# = 4 Product.f1 Product.f2 MCSEAI02, Annaba, DZ, Mai 2002 Storage.f1 Storage.f2 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Descente des slections et des projections Pas de colonne Pname Pname Only Store# 4

Prod# = Prod# Prod# = Prod# Prod#, Pname Product.f1 Prod# Prod#, Pname s.store# = 4 s.store# = 4 Product.f2 Storage.f1 MCSEAI02, Annaba, DZ, Mai 2002 Storage.f2 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Requte finale :

Pname Prod# = Prod# Product.f1 Prod# Storage.f1 Accs 2 sites au lieu de 4 ! MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes Bases Choisir une stratgie dexcution (// joins, semi-join, transfert de donnes) Envoyer les sous-requtes aux sites impliqus Chaque site

Application optimisation locale Evaluation Envoi des rsultats au site metteur MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Basesdistribues distribues::Traitement Traitementdes desRequtes Requtes(fin) (fin) Bases Cas SGBD htrognes Transparence Requte : langage du SGBD local Traduction dans les langages des SGBD cibles

Conversion format des rponses Traduction de requtes; Conversion de donnes Syst1 Syst2 Syst1 Syst2 Modle et Langage commun Syst3 MCSEAI02, Annaba, DZ, Mai 2002 Syst4 Syst3 Syst4 [email protected] I.2-Traitement Traitementdes desRequtes Requtes(fin) (fin) I.2 Rsultats thoriques et appliqus

Autres travaux : Inclusion de requtes Equivalence de requtes MCSEAI02, Annaba, DZ, Mai 2002 [email protected] I.3- Intgrit Intgritet et Confidentialit Confidentialit I.3 Confidentialit : Login, Password, Vues Contraintes dIntgrit : Spcification: Dclarative, Procdural, Mixte Implmentation: SGBD, Programmation

Cas violation? Undo (ROLLBACK) Infrence pour rtablir la consistance (non implant) Consistance des Contraintes dIntgrit ? MCSEAI02, Annaba, DZ, Mai 2002 [email protected] I.4-Gestion Gestiondes destransactions transactionset etreprise reprise I.4 Transaction : Squence Atomique dactions Proprits ACID des Transactions : Atomicit Consistance Isolation Durabilit Reprise : Journal (Log = Histoire des Transactions)

Undo: Jouer la transaction en arrire (Rollback) Redo: Jouer la transaction en avant ( ignorer les dtails ?) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions Transactions(suite) (suite) Gestion Atomicit : Transfert Compte Compte Dbiter compte C1 (C1 C1 - 100) Crditer compte C2 (C2 C2 + 100) Problme aprs Dbiter et avant Crditer Transaction Read(C1) C1 C1 - 100 Write C1 Read(C2) C2 C2 + 100 Write(C2) MCSEAI02, Annaba, DZ, Mai 2002 Comptes C1

3100 C2 5000 3000 5100 [email protected] Gestiondes desTransactions Transactions(suite) (suite) Gestion Consistance : Contrainte (x = y) T1 X Read(x) XX*2 xy x Write (x) Y Read(y) YY*2 x=y y Write(Y) T2

xy X Read(x) X X + 20 x Write (X) Y Read(y) Y Y + 20 y Write(Y) xy Time MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions Transactions(suite) (suite) Gestion Isolation: Dbit et Crdit du mme compte T1: {X Read(C); X X - 200; C Write(X)} T2: {Y Read(C); Y Y + 500; C Write(Y)} Excution Concurrente de T1 et T2 (Dirty Reads)

T1: X Read(C): X 5000 T1: X X - 200: X 4800 T2: Y Read(C): Y 5000 T2: Y Y + 600: Y 5600 T2: C Write(Y): C 5600 T1: C Write(X): C 4800 (au lieu de 5400) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions Transactions(suite) (suite) Gestion Durabilit : Permanence des modifications 1. Lectures (Non) Rptables C in Database = 5000 T1: Read(C) X: X 5000

T2: Read(C) Y: Y 5000 T1: X X + 5000: X 10 000 T1: Write(X) C: C 10 000 T2: Read(C) Y: Y 10 000 Valeurs Diffrentes !!! MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Bou[email protected] Gestiondes desTransactions Transactions(suite) (suite) Gestion Durabilit : Permanence des modifications (suite et fin) 2. Tuples (Non) Fantmes

T1: Read(X) t.q. X = 500 T2: Read(X) t.q. X = 500 T1: Delete(X) T2: Read(X) t.q. X = 500 Aucun X, t.q. X = 500, nexiste MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions Transactions(suite) (suite)::Niveaux NiveauxdIsolation dIsolation Gestion Introduits dans SQL92

Level 0: Dirty reads autoriss Tant quune donnes D est modifie par T1 Toute autre transaction peut lire D mais NE PEUT PAS la modifier Level 1: Dirty reads non autoriss Level 2: Rptabilit des lectures non autorise avant validation Level 3: Evite les tuples fantme MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions Transactionset etReprise Reprise(suite) (suite) Gestion

Write Ahead Loging Protocol (WAL) Rollback / Rollforward Transaction Begin T X Read(C) < T, Begin > XC X X + 500 C Write(X) Commit T MCSEAI02, Annaba, DZ, Mai 2002 Database LOG DBMS < T, Write, C, X > Read(C) CX < T, Committed > [email protected] Gestiondes desTransactions Transactionset

etReprise Reprise(suite) (suite) Gestion Transactions imbriques (Nested) : Pas de protocole communment admis Begin T1 Call P2() if then Rollback P1 else Commit P1 End P1 Cas Rollback T1: Cas Rollback T: Rollback T2, T1, T Rollback T2, T1, T Cas Commit: Cas Commit: T Commit T2, T1, T Begin T Call P1() if then Rollback T else Commit T End T MCSEAI02, Annaba, DZ, Mai 2002 Begin T2

if then Rollback P2 else Commit P2 End P2 Cas Rollback T2: Rollback T2, T1, T Cas Commit: T1 [email protected] Gestiondes desTransactions Transactionset etReprise Reprise(suite) (suite) Gestion Contrle de la Concurrence et Srialisabilit: Excution Concurrente quivalente squentielle (en srie) Fondements: ordre partiel des actions Techniques excution

Time stamping (non implment) Two-Phase Locking (Srialisabilit assure) Phase1: Acquisition de verrous (Locks) Phase2: Libration sans nouvelle acquisition Risques de deadlocks et livelocks (famine) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions TransactionsDistribues Distribues Gestion Contexte: Multiple sites cooprants Commit/Rollback sur chacun des sites Two-Phase Commit Protocol

Lampson [1976], Gray [1978] Le plus souvent implant Assure lAtomicit [Baer & al., ICSE81] Requiert un site de coordination MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Gestiondes desTransactions TransactionsDistribues Distribues(suite) (suite) Gestion Site de Coordination : Dcompose la transaction en sous-transactions en fonction de la localisation (cf. Query processing) Envoie les sous-transactions Validation Point Site1 Ready Coord. Prepare

Commit Ready Committed Committed Site2 Time 1re phase MCSEAI02, Annaba, DZ, Mai 2002 2me phase [email protected] Gestiondes desTransactions TransactionsDistribues Distribues(suite) (suite) Gestion Cas dchec : Un ou plusieurs sites en chec Une ou plusieurs rponses au message prepare sont manquantes... Site1 Ready Coord.

Prepare Aborted Abort Abort Aborted Site2 Time 1re phase MCSEAI02, Annaba, DZ, Mai 2002 2me phase [email protected] Gestiondes desTransactions TransactionsDistribues Distribues(suite) (suite) Gestion Concurrence daccs Time stamping: Temps unique sur un rseau ? Verrouillage :

Site2 Site1 Grant de verrrous Centralis/Distribu Deadlock Distribu T1 T5 T2 Attend T2 T1 T3 T4 Attend T2 T4 T5 T3 Graphe Global avec Deadlock T3 MCSEAI02, Annaba, DZ, Mai 2002 [email protected] I.4-Gestion Gestiondes

desTransactions Transactions(fin) (fin) I.4 Srialisabilit : excution en squence quivalente une excution concurrente Proprits ACID Mcanismes: Grant Concurrence Grant Intgrit Grant Reprise Programmeurs MCSEAI02, Annaba, DZ, Mai 2002 [email protected] I.5- Forces Forceset et Faiblesses Faiblesses du du Relationnel Relationnel I.5 Ensemble Simple et Restreint de concepts

Bases Formelles (Algbre, Logique) Indpendance Donnes-Programmes Langages de Haut Niveau Rsultats Thoriques Systmes Oprationnels MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Au-delde dela latechnologie technologierelationnelle relationnelle Au-del Limites:

Faible modle de reprsentation de donnes Contrainte de 1re forme normale : Relations plates Difficile de modliser des objets complexes Langages de Manipulation Puissance dexpression ( Langages Htes) Types de donnes User-defined (cf. SGBD extensibles et Objet-Relationnel) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Au-delde dela latechnologie technologierelationnelle relationnelle(suite) (suite) Au-del Nouvelle(s) gnration(s) Prserver les acquis Pallier les insuffisances

Intgrer Technologies mergentes (rseau, client/serveur, Web) Rsultats dautres domaines (programmation, IA, etc.) Rpondre aux besoins de nouvelles applications Activits Non Monotones (e.g. conception) Travail en groupe (Groupware) et Coopration MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Post-Relationnel::Quelques Quelquestendances tendances Post-Relationnel Connaissances et bases de donnes Systme de type extensibles Objets complexes et paradigme objet Nouvelles technologies: C/S, Internet

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Plan de de la la Prsentation Prsentation :: O O sommes-nous? sommes-nous? Plan Partie I : Bases et Systmes Relationnels Forces et Faiblesses Partie II : Modles et systmes pour objets complexes Partie III: SGBD et Architectures Client/Server MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II:Modles Modleset etsystmes systmespour pourobjets objetscomplexes complexes II:

Approches non cloisonnes Logique (DATALOGSet) Objets Complexes Structurs (RM/T, NF2, Modles Smantiques) Modles totalement Orients Objets (OMG, ODMG) Contenu de la partie II : 1. Modles smantiques 2. Modles relationnels tendus pour objets complexes 3. Modles et systmes objets MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.1-Modles ModlesSmantiques Smantiques II.1 Milieu des annes 70

Entity-Relations [Etendu] (Chen) Semantic Data Model (Hammer, Mc Leod) Functional Data Model DAPLEX, etc. Objectifs: Etendre le pouvoir dexpression des modles Rduire/Eliminer lcart entre le niveau conceptuel et le niveau physique MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Modlesmantique smantique::Exemple Exemple Modle string M_nom Ligne Contenu Date Date_Ecrit Module string string

Nom Prnom Employ d Address Analyste Location Rue string Ville Vnom Population Programmeur string Code-P int * Equipe_Dveloppement int MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

ModlesSmantiques Smantiques::Langages Langages Modles Schma Conceptuel = Schma Physique Paradigmes: Impratif: TAXIS, Dial, Galileo Functionnel: Functional Query Language (FDM) Relationnel: GEM, DAPALEX, ARIEL MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ModlesSmantiques Smantiques::Implmentations Implmentations Modles R-utiliser lexistant

SGBDR + Langage de Programmation Persistant EFDM: Persistent-Algol TAXIS: Pascal-R GEM: Machine Relationnelle Dveloppement de mcanismes ad-hoc ADAPLEX: Ada + SGF classique MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.1-Modles ModlesSmantiques Smantiques:: Conclusions Conclusions II.1 Pas de fondement formel Peu d implmentations commerciales

Transition vers les Objets (?) Smantique vs Orient Objet Similitude : Objets complexes imbriqus Diffrences : Modles et systmes objets Comportement des Objets (Oprations/Mthodes) Encapsulation Hritage MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.2-Modles ModlesRelationnels RelationnelsEtendus Etendus II.2 Relational Model/Tasmania (Codd 1979) Haskin, Lorie (1982): Lien explicites entre relations

Cependant : Relations plates Dbut 80 : NF2 (Non First Normal Form) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22: Modle de Donnes NF NF : Modle de Donnes Relations comme domaines dattributs Langages : Algbrique, Prdicatif, la SQL Exemple: Projets et leurs participants Modle plat : Personne(pers#, Nom, Prnom, Salaire, proj#) Projet(proj#, Pnom, budget) Modle avec Imbrication : Projet(proj#, Pnom, Budget,

Personne(pers#, Nom, Prnom, salaire) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] NF2:2:Modle Modlede dedonnes donnes(fin) (fin) NF Extensions des Relations : Reprsentation plate pers# Nom Prnom Salaire proj# a c b 1 d f e 1 g i h 1 p o q 2 y

2 x z 11 12 13 21 22 proj# Pnom Budget 1 2 Proj1 Proj2 $3M $6M avec Imbrication Reprsentation proj# Pnom Budget personne 1 Proj1 2 Proj2 MCSEAI02, Annaba, DZ, Mai 2002 pers# Nom Prnom Salaire

a $3M 11 b c d 12 e f g 13 h i 21 o p q $6M 22 x y z [email protected] 22 : 1/4) Imbriquer/Dsimbriquer Langages NF Langages NF : 1/4) Imbriquer/Dsimbriquer UNNEST (): aplatir une relation

NEST (): Imbriquer des classes dquivalence ( SQL GROUP BY) Appliquer lalgbre sur relations plates Imbriquer MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : 2/4) Langage Algbrique Langages NF Langages NF : 2/4) Langage Algbrique Syntaxe dun langage algbrique Si R est un nom de relation alors R est une expression algbrique Si E1, E2 sont des expressions algbriques alors E1 E2, E1E2, E1 \ E2, E1 x E2 sont des expressions algbriques Si E est une expression algbrique alors L (E), C(E)

sont des expressions algbriques L : Liste dattributs de Projection C : Condition Restriction/Slection MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : 2/4) Langage Algbrique (fin) Langages NF Langages NF : 2/4) Langage Algbrique (fin) Noms des Projets et des personnes y participant? Q = [Pnom, Pers := Pnom, Pers := [Pnom, Pers := Nom] (personne)] (projet)personne)] (personne)] (projet)projet) Schma de Q : (Pnom, Pers (Nom)) Projets ayant des personnes ayant un salaire > $3K [Pnom, Pers := is_empty (personne)] (projet) [Pnom, Pers := Salaire > 3K] (personne)] (projet)personne) )] (personne)] (projet)projet) Syntaxe dun langage algbrique pour NF2

L peut contenir des expressions retournant des relations C peut contenir des prdicats sur les ensembles (is_in, is_empty, ) Nest et Unnest inutiles ! MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : 3/4) Langages Prdicatifs Langages NF Langages NF : 3/4) Langages Prdicatifs Roth86, Roth88 Mme puissance dexpression que lalgbre MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : 4/4) la SQL Langages NF Langages NF : 4/4) la SQL

SQL/NF [Roth, Korth, Batory] Langage clos : Rsultats = relations Un nom de relation est autoris partout o un scalaire lest Un expression de slection ( ) est autoris partout o un nom de relation lest Exemple: Select Pnom, select Nom, Prnom from personne where salaire > 3K from project where Pnom = DB MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : 4/4) la SQL (fin) Langages NF Langages NF : 4/4) la SQL (fin) Heidelberg DataBase Language

Advanced Information Management Prototype select [ x.Pnom, Members: ( select y.Nom, y.Prnom from y in personne )] from x in projet Schma du rsultat: (Pnom, Members(Nom, Prnom)) cf. SQL3, plus loin (SGBD Objets) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 22 : Conclusion II.2NF II.2- NF : Conclusion Structures de donnes hirarchiques et rcursives Langages Algbrique, prdicatif et la SQL

Objets Complexes valeurs structures Pas OO Transition vers modles pleinement OO? MCSEAI02, Annaba, DZ, Mai 2002 relationnelles [email protected] II::Objets Objetscomplexes complexes::o oen ensommes-nous sommes-nous?? II Contenu de la partie II : 1. Modles smantiques 2. Modles complexes

relationnels tendus pour objets 3. Modles et systmes objets MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3-Modles Modleset etSystmes SystmesObjets Objets II.3 Application du paradigme Objet aux BdD Objet = Structure (ventuellement complexe): Identit (OID) indpendante de la valeur Etat priv (Valeurs des attributs): atomiques ou OIDs Interface: ensemble de slecteur de mthodes The_Lname The_Fname

Age Children_Ages MCSEAI02, Annaba, DZ, Mai 2002 Lname: Fname: Spouse: Children: BirthDate: John Smith OID1 OID2 60-01-01 [email protected] ParadigmeObjet Objetet etBases Basesde dedonnes donnes::Classes Classes Paradigme Groupement dobjets ayant mme structure et mme comportement Extension dun type dObject : Class Person

Attributes Lname Spouse Children .. Methods The_Lname() returns (self.Lname) Spouse_Fname returns (self.Spouse Lname) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ParadigmeObjet Objetet etBases Basesde dedonnes donnes::Hritage Hritage Paradigme Attributs et Mthodes Simple: Graphe hritage = arbre Multiple: Graphe hritage = treillis Document name last-Modified edit() print() Source size

compile() C-Source C++-Source print() MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ParadigmeObjet Objetet etBases Basesde dedonnes donnes Paradigme Passage de Messages Communication entre objets Message Opration + Oprandes Document name last-Modified edit() print() Polymorphisme et Liaison dynamique

print C-source print C++-source Source size compile() C-Source C++-Source print() MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ParadigmeObjet Objetet etBases Basesde dedonnes donnes::Egalit Egalit Paradigme Surface (shallow/value equal)

O1: < Name: 206, Manufr: Peugeot, Year: 1999> O2: < Name: 206, Manufr: Peugeot, Year: 1999> Objets Distincts, Egaux en Valeur Profonde (deep equal) C1: < Name: 206, Manufr: Peugeot, Options: O1 > C2: < Name: 206, Manufr: Peugeot, Options: O2 > O1: < Type: A1, Value: Air conditioning > O2: < Type: A1, Value: Air conditioning > MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ParadigmeObjet ObjetetetBases Basesde dedonnes donnes::Partage PartagedObjets dObjets Paradigme Personnes p1 et p2 ont le mme ensemble denfants Person p1 Spouse

Person p2 Lname children children Lname Janet * John Anthony MCSEAI02, Annaba, DZ, Mai 2002 Bob Carla [email protected] ParadigmeObjet Objetet etBases Basesde dedonnes donnes(fin) (fin) Paradigme

Orientation Objet totale : Gestion dObjets Complexes LDD, LMD Scurit, Intgrit, Confidentialit Accs Concurrents Reprise, etc. OODBMS MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3- SGBDO SGBDO II.31. Langage de Manipulation 2. Reprsentation des objets 3. Accs aux objets 4.

Accs concurrents 5. Propositions de lODMG MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.1:Langages Langagesde deManipulation Manipulation II.3.1: Stratgies de Dveloppement : Nouveaux modle et langage : Galileo Extension langage ou systme: OSQL, Postgres Extension langage objets: Gemstone Bibliothques por SGBDO : Starburst

Immersion dans un langage hte : C++, O2 Pas de consensus: Standard (ODMG) ... MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objets II.3.2: Objets et leur description Taille des objets Grands sets Objets longs Atomes de grande taille (e.g. image, son) Donnes graphiques, etc. Imbrication dobjets

Index pour objets complexes ? MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objets II.3.2: 1/3. Directe : objet || contenus || descendants (+) Pas de jointure pour la valeur profonde (-) Redondance ou rfrences vers objets partags 2/3. 3me forme normale : Aplatir lobjet (+) Pas de redondance (-) Jointures MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objets II.3.2: 3/3. Multi-Graphe Feuilles : Valeurs ou Oids

Nuds internes : Constructeurs de types Racine : Object ID Arcs labells par les noms dattributs (+) Reprsentation unique : schma, instance (-) Transformation Graphe Record MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objets II.3.2: Student e stre Oid e Diploma Lnam ess dr d

Results A string * * X Course t e e str X Type string Details int e string m a City * Cn X string MCSEAI02, Annaba, DZ, Mai 2002 float Detail float Domain

city Avg t# Rank string string [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objets II.3.2: Oid Results X X 123 Cn OidC X Avg

e m a n C DB 12.5 Type Course am Math Details * e MSc Details Avg y cit Main * street# t

e e str * * 14 Rank B Math Type PhD 16 12.5 X Domain Smith Diploma 12 X Domain Lname ss e

r d Ad Rank A CS 13 12 MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.2:Reprsentation Reprsentationdes desObjets ObjetsLongs Longs II.3.2: Objets de petite taille : Valeur immdiate Objets longs : par rfrence 3 1 Valeurs objets courts Oid 1 Type File 3

B-Tree Addresse B-Trees index Large MCSEAI02, Annaba, DZ, Mai 2002 object value [email protected] II.3.2:Reprsentation Reprsentationdes desObjets Objetset etIndex Index II.3.2: Index compos : Annaba {p1, p2} Index de chemins (traverse de classes) Annaba {p1, p2}.Address.c1.Name.Annaba p1 Lname Moh Street

PERSONS Address X p2 CITIES c1 City Annaba MCSEAI02, Annaba, DZ, Mai 2002 Address X City c1 Lname Street c1 [email protected] II.3.3- Accs Accs aux aux objets objets II.3.3

Valeur dun objet : Valeurs des attributs de 1er niveau ? Valeur profonde incluant attributs des sous-classes ? Lire objet : Reprsentation base mmoire Ecrire objet : Reprsentation mmoire base Objets persistants Atteignables partant de racine(s) de persistance (e.g. O2, Opal) Localiss dans un espace de persistance Instances Persistantes (e.g. ObjectStore), etc. MCSEAI02, Annaba, DZ, Mai 2002 [email protected] III.3.4 :: Contrle

Contrle de de la la Concurrence Concurrence III.3.4 Modifications concurrentes dun objet Coopration pour construire un objet Proprits A.C.I.D. Granule de verrouillage Classe/Instance Hirarchie de classes Extension profonde Granularit multiple : Totalit Classe/instance MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

Contrle de de la la Concurrence Concurrence (suite) (suite) Contrle CAD/CAM, CSCW, Workflow Systems, etc. Verrouillage et dure des conflits daccs Atomicit et Isolation: inacceptables Srialisabilit stricte : trop contraignante Modle gnral Check-out des objets dune base partage Modification dans une bas prive Check-in dans la base partage : modifications deviennent visibles

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Contrle de de la la Concurrence Concurrence (fin) (fin) Contrle Pas de modle universel Diffrentes propositions Transactions imbriques Transactions Multi-niveaux Saga Transactions Coopratives

Transactions pour le workflow, etc. Modles avancs de gestion de transactions MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3.5- Propositions Propositions de de lODMG lODMG II.3.5 Object Database Management Group (1991) : Dfinition de standard pour linteroprabilit de SGBDO (http://www.odmg.org) ObjectDesign, Ontos, Objectivity, HP, Poet Software, Digital Equipment, O2, etc. Approche Langage de programmation BdD i.e. extension dun langage avec : Transparence % persistence Accs Concurrents, etc.

Interfaces pour stocker des donnes dans des bases relationnelles MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Propositionsde delODMG lODMG Propositions Composants Standards : Object Model: bas sur le modle de lOMG Object Definition Language: bas sur IDL (OMG) Object Query Language: SQL92, quand possible MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ODMG::2/3) 2/3)Object ObjectDefinition DefinitionLanguage

Language ODMG Indpendant dun Langage de Programmation Compatible avec IDL de lOMG Etend syntaxiquement cet IDL a une saveur C++ Formalisme commun pour intgrer des schmas ventuellement htrognes Projections C++, Smalltalk, Java Syntaxe ODL Syntaxe C++, Smalltalk, Java MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ODMG::Object ObjectDefinition

DefinitionLanguage-Exemple Language-Exemple ODMG Employee Id Lname Hire() Fire() Assistant-Professor MCSEAI02, Annaba, DZ, Mai 2002 Course has_pre_requisite Cname Ccode * Open() * Close() pre_required_by * taught_by Professor teaches Status 1..* [email protected] ODMG::Object ObjectDefinition DefinitionLanguage-Exemple Language-Exemple ODMG

Class Course extent course; attribute string Cname; { keys Cname, Ccode; attribute string Ccode; relationship set < Course > has_pre_requisite inverse Course::pre_required_by; relationship set < Course > pre_required_by inverse Course:: has_pre_requisite relationship set < Professor > taught_by inverse Professor::teaches open (in semester) raises (existingCourse); close(in semester) raises (unknownCourse); MCSEAI02, Annaba, DZ, Mai 2002 } [email protected] ODMG::Object ObjectDefinition DefinitionLanguage-Exemple Language-Exemple ODMG Class Employee extent employee; keys (Id); attribute string Id; hire (in Employee); fire (in Employee);

{ attribute string Lname; } Class Professor: Employee { extent employees; attributes enum status {}; relationship set < Course > teaches inverse Course::taught_by; MCSEAI02, Annaba, DZ, Mai 2002 } [email protected] ODMG::3/3) 3/3)Object ObjectQuery QueryLanguage Language ODMG Etend SQL-92 avec des concepts OO : Objets complexes, OiD, polymorphisme, etc. Langage Clos % Modle dobjets

Dclaratif; Fonctionnel; Requtes nommes Peut tre immerg dans un langage bind Peut invoquer des oprations de ces langages Pas doprations explicites de modification (oprations des objets) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ODMG::Object ObjectQuery QueryLanguage Language ODMG Professor; Professor.teaches select distinct x.age from x in Employee where x.Address.City = Alger

select distinct struct (a: x.age, s: x.Lname)from x in Employee where x.Address.City = Alger select distinct struct (Cname: x.Cname, (select y from y in x.has_prequiste)) from x in Course Cf. SQL pour NF2 MCSEAI02, Annaba, DZ, Mai 2002 PreReq: [email protected] ODMG:Transactions Transactionset etConcurrence Concurrence ODMG: Proprits ACID Mono-Base logique (1-n physiques)

Transactions Distribues OMG/Object Transaction Service Pas dinterface dfinie Verrouillage et Concurrence Granule de verrouillage : Objet Dautres granularits peuvent tre offertes par des implmentations Politique par dfaut : Pessimiste MCSEAI02, Annaba, DZ, Mai 2002 [email protected] II.3- SGBDO SGBDO (fin) (fin) II.3 Produits Commercialiss Support de persistance (back-ends) Tendance :

Pas de migration vers les SGBDO Mais de lobjet dans le relationnel MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Plande dela laPrsentation Prsentation:: O O en en sommes-nous? sommes-nous? Plan Partie I : Bases et Systmes Relationnels Forces et Faiblesses Partie II : Modles et systmes pour objets complexes Partie III: SGBD et Architectures Client/Server MCSEAI02, Annaba, DZ, Mai 2002 [email protected] PartieIII III::SGBD SGBDet etArchitectures

ArchitecturesClient/Serveur Client/Serveur Partie 1. Notions de Client/Serveur 2. Typologie des serveurs 3. Web et Bases de Donnes 1. Le Web en tant que Base de donnes 2. Introduction XML et sa galaxie MCSEAI02, Annaba, DZ, Mai 2002 [email protected] III.1::Notion Notionde deClient/Serveur Client/Serveur III.1 Dfinitions

Application Cliente : invoque des services Application Serveur : offre des services Machine Cliente : rsidence application cliente Machine Serveur : rsidence application serveur Machine Client et Serveur peut tre la mme Un client peut aussi tre serveur MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Notionde deClient/Serveur Client/Serveur(suite) (suite) Notion

Middleware : la glue entre Client et Serveur Porte du Middleware: Des APIs, ct client Au retour des rponses, ct serveur Classes de Middleware : Gnral : Piles de Communication, Synchronization Horloges Services dAuthentification, de Nommage, etc. Spcifique ( un service, une architecture) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Notionde deClient/Serveur Client/Serveur(suite) (suite) Notion Middleware Spcifique :

Base de Donnes : ODBC, JDBC, DRDA, EDA/SQL Transaction : TxRPC, Transactional RPC (Encina) Objets Distribus : CORBA, OLE/DCOM Internet: HTTP, S(ecure)-HTTP MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Notionde deClient/Serveur Client/Serveur(fin) (fin) Notion Communication Client/Serveur : Synchronisation Requtes-Rponses Traitement de lhtrognit ventuelle des donnes

Mcanismes de Communication : peer-to-peer (gal gal, sockets) Remote Procedure Call Message Queues (Message Oriented Middleware) Object Request Broker MCSEAI02, Annaba, DZ, Mai 2002 [email protected] III.2- Typologie Typologie des des Serveurs Serveurs III.2- 1/7) Serveurs de Fichiers Transparence % Localisation Service de Nommage Read/Write MCSEAI02, Annaba, DZ, Mai 2002 File Server

[email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie 2/7) Serveurs de Donnes (SQL) SQL Queries SQL Query Query results SQL Server Remote (compiled) procedures Procedure call Data Base Stored Procedures SQL Server

[Results] DB MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie 3/7) Serveurs Groupware Communication entre personnes Donnes Non structures : mails, textes, images, etc. Exemple : Lotus-Notes, W4, etc. MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie 4/7) Serveurs de Transactions : comportent

Files, DBs, Ensemble de transactions ou applications HTML, Legacy, etc. Moniteur de Transactions systme dexploitation Level 1 Level 2 TP Monitor MCSEAI02, Annaba, DZ, Mai 2002 Level 3 Applications [email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie TP monitor (contd): systme dexploitation

Lancement des processus serveurs Routage des Messages Contrle dexcution Equilibrage de charges entre processus Gestion de Transactions (ACID, au moins) Moniteurs ouverts : Encina (Transarc/IBM), Tuxedo (BEA) Moniteurs ferms : CICS/MVS, CICS/TP (IBM) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie 5/7) Web Serveurs Conversion : Relational/Object HTML (XML) HTML and Documents http

Applications Cgi/ Php, etc. ||||||| ||||||| ||||||| java HTTP sur TCP/IP Groupware Data Server TP Monitor HTML documents MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ServeursWeb Web(suite) (suite) Serveurs

Unit dinformation : fichier (page) adress par une URL (Uniform Resource Locator) Exemple : http://www.loria.fr/~nacer HTML : HyperText Mark-up Language esperanto des fureteurs Web (browers) Donnes non types, (presque) non-structures Donnes htrognes (texte, images, etc.) Pour la prsentation visuelle Inclut des liens vers dautres sources (similitude avec objets composites) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ServeursWeb Web(suite) (suite)::Scenario Scenarioexcution excutionscript script Serveurs

Utilisateur Navigateur URL Cible Serveur Attente Requte au serveur cible Localisation Fichier HTML Fichier HTML + Infos de contrle Afficher Si Fichier HTML Alors Dcoder balises Afficher Sinon Invoquer un assistant Afficher autre fentre MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ServeursWeb Web(suite) (suite)::Scenario Scenarioexcution excutionscript script

Serveurs Navigateur submit() Serveur http - structuration msg http - Invocation post() Serveur Web Script msg du post Var. envrnmt (write) Execute() Corps msg Rsultat (html) MCSEAI02, Annaba, DZ, Mai 2002 Var. read Exec. Rsultat (html) [email protected] ServeursWeb Web(suite) (suite)::Deux Deuxmots motssur surHTML

HTML?? Serveurs Titre de la page HTML . MCSEAI02, Annaba, DZ, Mai 2002 [email protected] ServeursWeb Web(suite) (suite)::Deux Deuxmots motssur surHTML HTML Serveurs Exemple 1 : Gnralits Exemple 2 : Listes Exemple 3 : Tableaux Exemple 4 : Formulaire MCSEAI02, Annaba, DZ, Mai 2002

[email protected] ServeursWeb Web(suite) (suite)::Deux Deuxmots motssur surHTML HTML Serveurs Caractristiques HTML1.0 Cartes et images actives 2.0 3.0 X X Equations X Hyperliens X X

X Images X X X Listes X X X X X Barres doutils Tables MCSEAI02, Annaba, DZ, Mai 2002 X [email protected] ServeursWeb Web(fin) (fin)::Deux

Deuxmots motssur surHTML HTML Serveurs HTML 4.0 : Recommandation, Dc. 97 HTML 4.01 : Rvision de 4.0, Dc. 99 + doptions Multi-mdia Internationalisation de documents (choix langue) Media cibles (ex: braille) Documents composites (son, vido, maths, etc.) Inclusion de scripts (pour pages dynamiques) Impression de lextension profonde dun document (parcours de liens) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Typologiedes desServeurs Serveurs (suite) (suite) Typologie

6/7) Serveurs Objets Application = {Objets Communicants} Communication par un Object Request Broker (bus logiciel) ORB ORB ORB Objects MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Typologiedes desServeurs Serveurs (fin) (fin) Typologie 7/7) Serveur Web-Objet : un modle darchitecture 2me Niveau 1er Niveau CORBA IIOP Internet TCP/IP java CORBA

IIOP Applications http Groupware ORB ||||||| ||||||| ||||||| http Business Objects Data Server TP Monitor ||||||| ||||||| ||||||| HTML and Forms 3me niveau HTML documents

Web Server MCSEAI02, Annaba, DZ, Mai 2002 [email protected] PartieIII III::SGBD SGBDet etArchitectures ArchitecturesClient/Serveur Client/Serveur Partie 1. Notion de Client/Serveur 2. Typologie des serveurs 3. Web et Bases de Donnes 1. Le Web en tant que Base de donnes 2. Notion de donnes semi-structures 3. Introduction XML et sa galaxie

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] III.4-1. Web Weben entant tantque queBdD BdD III.4-1. Accs des bases via le Web (cf. types darchitectures Client/Serveur) Langages de scripts (perl, php, etc.) Convertisseurs de formats (mdiateurs): Peer-To-Peer vs Reprsentation Commune Ce qui est ou nest pas (commercialement) disponible : BD HTML XSL BD-1 MCSEAI02, Annaba, DZ, Mai 2002

XML Si codage XML commun des contenus des bases ( ODMG/OIF, UML/XMI) BD-2 [email protected] Weben entant tantque queBdD BdD 1.1.Web Le Web comme base de donnes : pourquoi ? Sources dinformations Introduction dun peu dorganisation Interrogation base de donnes : schma ncessaire (!?) A priori, aucune structure (Web gigantesque graphe) : quel(s) modle(s) de donnes ? MCSEAI02, Annaba, DZ, Mai 2002

[email protected] Weben entant tantque queBdD BdD 1.1.Web Systmes daccs (T. Catarci, ER99, Paris) Systmes daccs Aide la navigation Profil des utilisateurs Capacits dinterrogation Domaine dapplication Domaine spcifique Vecteurs de caractristiques MCSEAI02, Annaba, DZ, Mai 2002 Intgration dinformation Description explicite des Domaines et des sources Techniques BD Techniques Repr. Connaissances [email protected]

Weben entant tantque queBdD BdD 1.1.Web 1. Systmes daide la navigation ( surfers ) 2. Dtection profil utilisateur pour laider naviguer Systmes avec capacits dinterrogation 1. 2. Offrir une vue intgre de diffrentes sources Ddis un domaine (Information Brokers) Gnraux : distinction fonde sur le mode de reprsentation et dexploitation des informations a) Vecteur de caractristiques b) Modles de donnes ( Bases de donnes) c) Reprsentation des connaissances MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque

queBdD BdD 1.1.Web a) Systmes vecteur de caractristiques Document caractris par un vecteur dattributs Cas des moteurs de recherche (Altavista, Lycos, etc.) Exploration et indexation des documents Recherche par mots-cls (+) Facilit dapprentissage (-) (im)Prcision des rponses MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD 1.1.Web Systmes avec modle de donnes b)

Web base contenant des informations sur le domaine dapplication Intgration des sources : cf. fdration de bases de donnes (Tsimmis) Classification et stockage local des informations (Araneus) Base virtuelle (cf. notion de vue), physique ou les 2 Mdiateurs distribuent les requtes aux sources Wrappers se chargent des formats des donnes (-) Modlisation des sources (-) Extraction non automatique de la structure des sources (-) Evolutivit MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD 1.1.Web c) Systmes fonds sur la connaissance Techniques des SBC pour :

Caractrisation de sources Rponses aux requtes Web Rseau smantique Base de connaissances = Structure de concepts lis par des relations smantiques (-) Temps de rponse (-) Vocabulaire commun ( Ontologies) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD::Quelques Quelquesproblmes problmes 1.1.Web Accs intelligent aux informations intimement lis leur reprsentation Reprsentations simples (ex: moteurs de

recherche) : Efficaces mais inappropries Reprsentation et structuration des connaissances difficiles mais peuvent contribuer de meilleures rsultats Dynamicit du Web (vie/mort des sites) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD::Quelques Quelquesproblmes problmes 1.1.Web Optimisation des requtes (cf. inclusion de requtes et caching )

Htrognit et non structuration des sources Structures volutives (cf. dynamicit) La suite : Notion de donnes semi-structures XML: Langage de description et dchange Langages dinterrogation pour XML MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD::2. 2.Donnes Donnessemi-structures semi-structures Web

Notion de donnes semi-structures Tout ce qui nest pas relationnel Pas de langage de description de schma Donnes auto-dcrites Exemples : Bibtex ( rubriques author, title, year, etc.) Donnes sur le Web (HTML, XML) Formats dchange de donnes (ASN.1, Step/Express, etc.) MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Donnessemi-structures semi-structures::Caractristiques Caractristiques 2.2.Donnes Pas ncessairement la mme structure

Donnes manquantes (ex: Annotation BibteX) Type vari (ex: date, adresse) Structure peut tre implicite Dlibremment Oublier le type de linstance Srialiser les valeur en annotant chaque lment par sa description MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Donnessemi-structures semi-structures 2.2.Donnes Parcours/Transformation de graphe de donnes (Rcursion structurelle) : biblio livre livre auteur

A1 auteur A2 date auteur 1990 A3 MCSEAI02, Annaba, DZ, Mai 2002 article date titre T1 1999 auteur titre T1 A4 [email protected] Donnessemi-structures semi-structures::Rcursion Rcursionstructurelle structurelle 2.2.Donnes

Transformer tous les entiers en chanes F(v) = si Entier(v) alors Ent2Chaine(v) sinon v F({}) = {} F({l : t}) = {l : F(t)} F(t1 t2) = F(t1) F(t2) MCSEAI02, Annaba, DZ, Mai 2002 \\ {} : graphe un nud (feuille) \\ t1, t2 : sous-arbres [email protected] Donnessemi-structures semi-structures::Egalit Egalit 2.2.Donnes

t1: {livre: {auteur: A, auteur: A, titre: T1}} t2: {livre: {auteur: A, titre: T1}} t1 et t2 dnotent le mme objet ? Oui si limination de la redondance Cas des donnes cycliques: rfrence publi rfrence publi publi rfrence MCSEAI02, Annaba, DZ, Mai 2002 publi rfrence publi rfrence [email protected] Donnessemi-structures semi-structures::Egalit Egalit

2.2.Donnes Dplier et comparer les arbres publi publi x1 ref. x2 ref. x3 ref. x4 y1 ref. y2 ref. y3 ref. y3

Si x1 = y1, , xn = yn alors les objets sont gaux Comment comparer sans dplier : Calcul dune relation de bi-simulation MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Donnessemi-structures semi-structures::Conclusion Conclusion 2.2.Donnes Structures Irrgulires Implicites (extraction ?) Incompltes Absence ou faible typage Exemples : OEM, LOREL XML : mme veine ?

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD::3.3.Introduction IntroductionXML XML Web XML: eXtendible Mark-up Language World Wide Web Consortium (www.w3c.org) Sous-ensemble de SGML (Standard Generalized Mark-up Language) : Gestion Electronique de Documents Description du contenu des documents Objectif Principal : Echange de donnes Marquage (balisage) libre et extensible Hypothse : Comprhension commune des balises (e.g. XMI pour lchange de diagrammes UML) MCSEAI02, Annaba, DZ, Mai 2002

[email protected] Weben entant tantque queBdD BdD::3.3.Introduction IntroductionXML XML Web Donnes a priori non interprtes (Parsed Character DATA) Langage facilement analysable Mise en forme du contenu (XML HTML) CSS (Cascading Style Sheet) : cf. HTML XSL (eXtensible StyleSheet Language) : non reconnu comme standard XSLTransformation XSL Microsoft (Internet Explorer) XHTML1.0: Reformulation de HTML4 en XML

Modules, Document profiles, DTDs ( XML Schmas), Prochaine Gnration de browsers Web : fonde sur XML ? MCSEAI02, Annaba, DZ, Mai 2002 [email protected] Weben entant tantque queBdD BdD::3.13.1-Introduction IntroductionXML XML Web XHTML1.0 : Recommandation, Jan. 2000 But : tre utilisable avec des balises provenant dautres vocabulaires XML, comme SMIL : Synchronized Multi-Mdia Integration Language SVG : Scalable Vector Graphics XForms : Formulaires Web OFX : Open Financial eXchange SMIL XHTML SVG Style Sheet MathML

XForms MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML 3.1 XML :: HTML Description du contenu Pas densemble prdfini de balises Support de structures imbriques complexes (Xlink et Xpointer) : objets Liens intra et inter documents Navigation dans des documents XML Donnes ventuellement auto-dcrites : Document Type Definitions Document Content Description ( Typage de document) Resource Description Framework (pour Mta-donnes) XML-Schema

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML 3.1 XML (trs bref) survol Balise ouvrante Contenu lment Elment Balise fermante Nacer [email protected] Attribut de balise Databases: Elements of their Story June-22-2000 Description ------------------------Set description densembles MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

3.1-Introduction IntroductionXML XML::Survol Survolde deXML XML(suite) (suite) 3.1 Reprsentation : tutorial author email date Nacer [email protected] June-22-2000 title Databases: Elements of their Story MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML::Survol

Survolde deXML XML(suite) (suite) 3.1 Document Object Model (DOM) : API Document vu et manipul comme un arbre Indpendance % langages, plateformes Permet une application de parcourir/dagir sur un document Simple API for XML (SAX) : Dclenchement dvnement pendant lanalyse DocumentHandler Interface ErrorHandler Interface DTDHandler Interface EntityResolver Interface MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction

IntroductionXML XML::Survol Survolde deXML XML(suite) (suite) 3.1 Ordre des lments est important Nacer Web databases diffrent de Web databases Nacer Ordre des attributs ne lest pas PAS diffrent de MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML::Survol

Survolde deXML XML(suite) (suite) 3.1 Commentaires: Processing Instructions (PI) xml-stylesheet: cible Pas de smantique associe aux PIs DTD: Structure dun document XML { . }* MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML

XML::Survol Survolde deXML XML(suite) (suite) 3.1 Exemple de structure de document (DTD) Relations person (fn, ln, id), car(plate#, ownerId) ]> MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML::Survol Survolde deXML XML(suite) (suite) 3.1

XML : Stockage et partage Documents composites : ]> Le Titre %Scope;

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.1-Introduction IntroductionXML XML::Survol Survolde deXML XML(fin) (fin) 3.1 XML :: Donnes semi-structures: Graphe de donnes auto-dcrites Labels dans les nuds (:: sur les arcs) Ordre sur les lments Processing Instructions, Commentaires, etc. XML : pour lchange (Constante volution)

Quel(s) langages dinterrogation pour le Web ? Gnration 1 : type SQL (ex: WebSQL, W3QL) Gnration 2 : Orientation objet (ex: WebOQL) Gnration 3 : Langages pour XML ? MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourleleWeb Web(1/3) (1/3) 3.2 WebSQL: Web modlis comme une base relationnelle avec 2 relations (virtuelles) i.e. graphe dobjets atomiques

Document(url, title, ) Anchor (Base, label, href) Exemple: Documents sur Annaba dans les serveurs en Algrie SELECT d.url, d.title FROM Document d SUCH THAT d MENTIONS Annaba WHERE d.url CONTAINS .dz MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourleleWeb Web(2/3) (2/3) 3.2 WebOQL: Web modlis comme un graphe dobjets structurs Interrogation : Le Web Une Page Un ensemble de pages lies entre elles

Restructuration : HTML-HTML HTML-Base de donnes Base de donnes-HTML MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML XML(3/3) (3/3) 3.2 XQuery : Influences Quilt : langage de requtes pour XML SQL : Modle Select from where Xpath 1.0 (*) et XQL : Expressions de chemins

XML-QL : binding de variables OQL : aspect fonctionnel du langage avec expressions imbriques (*) Notation pour naviguer dans un document XML MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML XML(3/3) (3/3) 3.2 XQuery : les exigences (requirements) Non procdural Syntaxe en XML et Syntaxe human readable

Cloture du langage E/S de XQuery : instances de XQuery Data Model Combinaison doprateurs y compris des requtes comme oprandes Possibilit de combiner des donnes de sources diffrentes Agrgation et tri MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML XML(3/3) (3/3) 3.2 XQuery : les exigences (requirements) Accs aux mta-donnes (Schma, DTD) Extensibilit (types, fonctions) Applicabilit tout type de sources XML i.e. Documents stocks en mode natif ou Documents vus comme des documents XML (grce des mdiateurs ou des convertisseurs de formats)

La suite : 1. XML-QL : une des influences de XQuery 2. XQuery : des exemples MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Relationnellement complet, pour des donnes de type relationnel Principaux composants du langage:

where clauses from + where de SQL construct select where pattern ------ $D $G in www.acm.org/sigmod/dbsoftware.xml variables construct $D MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Intrt des patterns : Spcification du modle de rsultat Traitement des requtes :

Comparer le pattern aux donnes Lier les variables Retourner les variables de construct MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Spcification de la structure du rsultat : where --- $A --- $D

OO ... in www.acm.org/ construct ------ $A $D MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Prise en compte des diffrences de structure Pas le mme ensemble de balises Exemple: non prsent partout SGBD et leur release, quand elle existe

where $F in www.acm.org/, $D in $F construct $D where $R in $F construct $R MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Requtes imbriques: SGBD par gnration where construct where $G in www.acm.org/ $G

$D $G in ---- construct $D MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XML-QL XML-QL 3.2- Interrogation des attributs : SGBD sous Unix where element_as $D in www.acm.org/ construct $D Associer des variables aux balises : Dupont auteur et chef de projet en 1999 where <$Tag> $D 1999 <$A> Dupont in , construct <$Tag> $D <$A> Dupont

MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- Drafts : juin 2001, 30 avril 2002 Principaux types d'expression XQuery Expressions de chemin Expressions For Let Where Return (FLoWeR) Expressions avec oprateurs et fonctions Expressions conditionnelles Expressions avec quantificateurs Expressions testant ou modifiant les types de donnes MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML:

XML:XQuery XQuery 3.2- Expressions de Chemins: Prdicats filtrant un ensemble de nuds document(fichier.xml) : nud racine . quivaut self::node() .. quivaut parent::node() nom quivaut child::nom (/) @nom quivaut attribut::nom // quivaut /descendant-or-self::node()/ MCSEAI02, Annaba, DZ, Mai 2002 [email protected]

3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- document(personne)] (projet)"zoo.xml")//chapter[Pnom, Pers := 2]// figure[Pnom, Pers := caption = "Tree Frogs"] Nud racine : zoo.xml 2me descendant du nud racine : Recherche des lments

n'importe o dans l'lment Slectionner ceux ayant un attribut

avec la valeur "Tree Frogs.". document(personne)] (projet)"zoo.xml")//chapter[Pnom, Pers := 2 TO 5]//figure MCSEAI02, Annaba, DZ, Mai 2002 [email protected] 3.2-Langages

Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- Chemins de localisation Syntaxe : indicateur de relation::filtre[prdicat] Troisime enfant : child::*[3] Dernier descendant: descendant::[position()=last()] Films sans acteur : film[count(child::acteur)=0] Film dont l'attribut titre est gal Brazil : film[child::@titre='Brazil'] MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudj[email protected]

3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- TCP/IP Illustrated Stevens W. Addison-Wesley TCP/IP Illustrated< /title> <author> <last id=12>Stevens</last> <first>W.</first></author> <publisher> Morgan Kaufmann </publisher> < /book> </bib> MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery <!--page-separator--></p> <p>XQuery 3.2- [FOR | LET] WHERE RETURN FOR $b IN document(personne)] (projet)"bib.xml")//book WHERE $b/publisher = "Morgan Kaufmann" AND $b/year = "1998" RETURN $b/title LET $b := document(personne)] (projet)"bib.xml")//book RETURN $b/title [unordered()|distinct()] MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- Quantificateurs <items> <item_tuple> <itemno>1001</itemno> <description>Red Bicycle</description> </item_tuple> <item_tuple> <!--page-separator--></p> <p><itemno>1002</itemno> <description>Red Bicycle</description> </item_tuple> <item_tuple> <itemno>1003</itemno> <description>Red Bicycle</description> </item_tuple> </items> MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- Quantificateurs: SOME | EVERY IN SATISFIES FOR $i IN document(personne)] (projet)"data/R-items.xml")//item_tuple WHERE NOT(personne)] (projet) SOME $b IN document(personne)] (projet)"data/R-bids.xml")//bid_tuple SATISFIES $b/itemno = $i/itemno) RETURN <no_bid_item> {$i/description} </no_bid_item> MCSEAI02, Annaba, DZ, Mai 2002 <!--page-separator--></p> <p>Nacer.Boudjlida@loria.fr 3.2-Langages Langagesdinterrogation dinterrogationpour pourXML: XML:XQuery XQuery 3.2- Jointure FOR $i IN document(personne)] (projet)"catalog.xml")//item, $p IN document(personne)] (projet)"parts.xml")//part[Pnom, Pers := partno = $i/partno], $s IN document(personne)] (projet)"suppliers.xml")//supplier[Pnom, Pers := suppno = $i/suppno] RETURN --- etc. MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr 3.2- XML XML (fin) (fin) ::des des adresses adresses utiles utiles 3.2 <!--page-separator--></p> <p> Consortium W3 (tout sur XML et mme plus): http://www.w3.org/ Outils divers pour XML http://www.garshol.priv.no/dowload/xmltools Implantations de XQuery http://www.softwareag.com/developer/quip http://www.xhive.com/ MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr Conclusion::Bases Basesde dedonnes donnesvs vsWeb Web Conclusion Bases de donnes <!--page-separator--></p> <p> Distinction entre les niveaux logiques et physiques Donnes structures et fortement types (schmas) Langages de description et de manipulation Concurrence, etc. Sources Web: Donnes non ou semi-structures (typage faible) (Souvent) pas de schma (mta-donnes) Pas (encore) de langage dinterrogation MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr Conclusion::Bases Basesde dedonnes donnesvs vsWeb Web(suite) (suite) Conclusion Modles de donnes <!--page-separator--></p> <p> Objets, ODMG Stockage Fichiers texte Base relationnelle/objet Graphes/Arbres Indexation Schma de donnes cf. objets complexes Maintenance des index? Bases sans schma ? Extraire le schma des donnes (cf. DB migration)? <!--page-separator--></p> <p>Reverse engineering (HTML to XML schema) ? MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr Conclusion::Bases Basesde dedonnes donnesvs vsWeb Web(suite) (suite) Conclusion Langage de requtes SQL-Like, OQL XQuery (en cours) Comparaison des Objets Egalit profonde/de surface <!--page-separator--></p> <p> Traitement des requtes Cf. requtes distribues Avec/sans mta donnes ? Cycles donnes/hyperliens ? Une fdration de sources ? World-wide ? Site Web comme une vue ? Complexit et efficacit ? Image, son, ... Porte des requtes ? <!--page-separator--></p> <p>Htrognit MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr Conclusion::Bases Basesde dedonnes donnesvs vsWeb Web(suite) (suite) Conclusion Optimisation de requtes ? Mises jour des sources ? Transactions ? Reprise ? Data mining vs Web mining Intgration Schmas/Vues <!--page-separator--></p> <p> Intgration de donnes htrognes MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr Conclusion::Bases Basesde dedonnes donnesvs vsWeb Web(fin) (fin) Conclusion oql applet xhtml sgml corba RDB html servlet R/O HTML wap <!--page-separator--></p> <p>internet IIOP R/O sql2 omg XML orb MCSEAI02, Annaba, DZ, Mai 2002 codasyl sql3 http odmg rmi ODB rpc Nacer.Boudjlida@loria.fr DuRelationnel Relationnelau auWeb: Web:Conclusions Conclusions Du <!--page-separator--></p> <p>Noyau de la technologie BdD comme base (conceptuelle) : Besoin dadaptation et dextensions Ne pas r-inventer la roue D. Suciu (Keynote address, 7th Internl Conf. On Database Systems for Advanced Applications, Web Data and the Resurrection of Database Theory, Hong-Kong, 2001): new artefacts are not concepts but standards Nouveaux dfis : htrognit (donnes et structures), efficacit (stockage, requtes), etc. MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr DuRelationnel Relationnelau auWeb Web::Cest Cestla lafin fin Du <!--page-separator--></p> <p>Thats all Folks ! Merci de votre attention. Questions ? MCSEAI02, Annaba, DZ, Mai 2002 Nacer.Boudjlida@loria.fr </p> </div> </div> </div> </section> <section class="main-section"> <div class="container"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><!-- Responsive --><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3757518916489959" data-ad-slot="1838143700" data-ad-format="auto" data-full-width-responsive="true"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div> </section> <section class="main-section"> <div class="container"> <div class="document-others"> <h2 class="section-title text-center">Related Presentations</h2> <div class="row"> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/francais-201-ueyqgc" title="Français 201"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/francais-201-ueyqgc-thumb.jpg" alt="Français 201" title="Français 201" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/francais-201-ueyqgc" title="Français 201">Français 201</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/slide-1-mdmbtv" title="RESTRUCTURING ZONES PORTFOLIO COMMITTEE 21 FEBRUARY2017 MR. M."> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/slide-1-mdmbtv-thumb.jpg" alt="RESTRUCTURING ZONES PORTFOLIO COMMITTEE 21 FEBRUARY2017 MR. M." title="RESTRUCTURING ZONES PORTFOLIO COMMITTEE 21 FEBRUARY2017 MR. M." class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/slide-1-mdmbtv" title="RESTRUCTURING ZONES PORTFOLIO COMMITTEE 21 FEBRUARY2017 MR. M.">RESTRUCTURING ZONES PORTFOLIO COMMITTEE 21 FEBRUAR...</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/the-university-powerpoint-template-btxl0t" title="The University PowerPoint Template"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/cover/the-university-powerpoint-template-btxl0t.jpg" alt="The University PowerPoint Template" title="The University PowerPoint Template" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/the-university-powerpoint-template-btxl0t" title="The University PowerPoint Template">The University PowerPoint Template</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/16-revelation-6v9-17-1y24jp" title="16-Revelation-6v9-17"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/16-revelation-6v9-17-1y24jp-thumb.jpg" alt="16-Revelation-6v9-17" title="16-Revelation-6v9-17" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/16-revelation-6v9-17-1y24jp" title="16-Revelation-6v9-17">16-Revelation-6v9-17</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/introduction-to-simple-linear-regression-r5p4rq" title="Introduction to simple linear regression"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/introduction-to-simple-linear-regression-r5p4rq-thumb.jpg" alt="Introduction to simple linear regression" title="Introduction to simple linear regression" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/introduction-to-simple-linear-regression-r5p4rq" title="Introduction to simple linear regression">Introduction to simple linear regression</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/health-and-safety-trinity-high-school-jjy3bj" title="Health and Safety - Trinity High School"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/health-and-safety-trinity-high-school-jjy3bj-thumb.jpg" alt="Health and Safety - Trinity High School" title="Health and Safety - Trinity High School" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/health-and-safety-trinity-high-school-jjy3bj" title="Health and Safety - Trinity High School">Health and Safety - Trinity High School</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/powerpoint-3hgdzh" title="PowerPoint プレゼンテーション"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/powerpoint-3hgdzh-thumb.jpg" alt="PowerPoint プレゼンテーション" title="PowerPoint プレゼンテーション" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/powerpoint-3hgdzh" title="PowerPoint プレゼンテーション">PowerPoint プレゼンテーション</a> </div> </div> </div> <div class="col-lg-3 col-md-4 col-12 grid-margin stretch-card mb-4"> <div class="card"> <div class="card-body"> <a href="http://shakyradunn.com/slide/slide-1-rftafs" title="Training Units and Developing Leaders for Full Spectrum"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/slide-1-rftafs-thumb.jpg" alt="Training Units and Developing Leaders for Full Spectrum" title="Training Units and Developing Leaders for Full Spectrum" class="lazy img-fluid"> </a> </div> <div class="card-footer text-center"> <a class="mt-auto my-1" href="http://shakyradunn.com/slide/slide-1-rftafs" title="Training Units and Developing Leaders for Full Spectrum">Training Units and Developing Leaders for Full Spe...</a> </div> </div> </div> </div> </div> </div> </section> <section class="main-section"> <div class="container"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><!-- Responsive --><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3757518916489959" data-ad-slot="1838143700" data-ad-format="auto" data-full-width-responsive="true"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div> </section> <section class="main-section"> <div class="container"> <div class="document-others"> <h2 class="section-title text-center">Recently Viewed Presentations</h2> <div class="row justify-content-center"> <div class="col-lg-8"> <ul class="list-unstyled"> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/this-is-the-title-page-for-the-whole-presentation-in-three-4ujmt2" title="This is the title page for the whole presentation in three ..."> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/this-is-the-title-page-for-the-whole-presentation-in-three-4ujmt2-thumb.jpg" alt="This is the title page for the whole presentation in three ..." title="This is the title page for the whole presentation in three ..." class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/this-is-the-title-page-for-the-whole-presentation-in-three-4ujmt2" title="This is the title page for the whole presentation in three ..."> This is the title page for the whole presentation in three ... </a> </p> General presentation. SafeSeaNet is a European Platform for Maritime Data Exchange developed in accordance with Directive 2002/59/EC . The exchange of vessel, voyage and other information via SSN supports users at EU and MS level in the: </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/haucengland-y2ydok" title="HAUC(England)"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/haucengland-y2ydok-thumb.jpg" alt="HAUC(England)" title="HAUC(England)" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/haucengland-y2ydok" title="HAUC(England)"> HAUC(England) </a> </p> Closure of Minor Road at a junction. Is NOT an addition to the TTRO process. NCT07a - This condition is not to be applied to all permits requiring a road closure but there may be occasions where an authority may... </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/poetry-poster-activity-edl-x5fkrk" title="Poetry Poster Activity - Edl"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/poetry-poster-activity-edl-x5fkrk-thumb.jpg" alt="Poetry Poster Activity - Edl" title="Poetry Poster Activity - Edl" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/poetry-poster-activity-edl-x5fkrk" title="Poetry Poster Activity - Edl"> Poetry Poster Activity - Edl </a> </p> Poetry Slam Project You will create and present your poem to the class with an innovative poster Poetry Slam You may: Write your own poem (extra credit) Choose a poem (suggested poets on the last slide) Choose an appropriate song... </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/what-did-abraham-david-amp-isaiah-see-5brrax" title="What Did Abraham, David &amp; Isaiah See?"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/what-did-abraham-david-amp-isaiah-see-5brrax-thumb.jpg" alt="What Did Abraham, David &amp; Isaiah See?" title="What Did Abraham, David &amp; Isaiah See?" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/what-did-abraham-david-amp-isaiah-see-5brrax" title="What Did Abraham, David &amp; Isaiah See?"> What Did Abraham, David & Isaiah See? </a> </p> Though despised by the nation, even rulers will bow to him. A Light to the Gentiles. This perfectly fits Jesus! ... Should not our hearts, too, burn with joy when we realize: Jesus really is the fulfillment of OT prophecy.... </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/intelligent-systems-research-university-of-cincinnati-a2ip2p" title="Intelligent Systems Research - University of Cincinnati"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/intelligent-systems-research-university-of-cincinnati-a2ip2p-thumb.jpg" alt="Intelligent Systems Research - University of Cincinnati" title="Intelligent Systems Research - University of Cincinnati" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/intelligent-systems-research-university-of-cincinnati-a2ip2p" title="Intelligent Systems Research - University of Cincinnati"> Intelligent Systems Research - University of Cincinnati </a> </p> M.S. Students must take at least 3 and Ph.D. students at least 4 of: EECE 636 Intelligent Systems EECE 638 Nonlinear and Intelligent Systems EECE 642 Digital Image Processing EECE 716 Semantic Web EECE 728 Information Theory EECE 741 Stochastic... </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/edgar-degas-portrait-of-achille-1856-virginia-bonner-4rm4pg" title="Edgar Degas, Portrait of Achille, 1856 - Virginia Bonner"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/edgar-degas-portrait-of-achille-1856-virginia-bonner-4rm4pg-thumb.jpg" alt="Edgar Degas, Portrait of Achille, 1856 - Virginia Bonner" title="Edgar Degas, Portrait of Achille, 1856 - Virginia Bonner" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/edgar-degas-portrait-of-achille-1856-virginia-bonner-4rm4pg" title="Edgar Degas, Portrait of Achille, 1856 - Virginia Bonner"> Edgar Degas, Portrait of Achille, 1856 - Virginia Bonner </a> </p> Times New Roman Bradley Hand ITC Default Design Week 15: van Gogh Vincent van Gogh, Glass of Absinthe and Carafe, 1887 Vincent van Gogh, Planting Potatoes, 1884 Gustave Courbet, The Stone Breakers, 1849 Vincent van Gogh, Peasant Man & Woman... </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/animal-science-havelock-agricultural-education-jaxj0g" title="Animal Science - Havelock Agricultural Education"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/thumbnail/animal-science-havelock-agricultural-education-jaxj0g-thumb.jpg" alt="Animal Science - Havelock Agricultural Education" title="Animal Science - Havelock Agricultural Education" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/animal-science-havelock-agricultural-education-jaxj0g" title="Animal Science - Havelock Agricultural Education"> Animal Science - Havelock Agricultural Education </a> </p> Poultry Digestive System Poultry have monogastric digestive systems as well. But their digestive system is different enough from the other monogastric animals to discuss separately. </div> </li> <li class="media mb-4"> <a class="my-1 d-none d-sm-block" href="http://shakyradunn.com/slide/slide-1-esilbi" title="Value Added Agriculture Program Sourcing Iowa Corn for"> <img src="/assets/img/default.png" data-src="https://cdn.slideread.com/cover/slide-1-esilbi.jpg" alt="Value Added Agriculture Program Sourcing Iowa Corn for" title="Value Added Agriculture Program Sourcing Iowa Corn for" class="d-flex mr-3 lazy cover-small"> </a> <div class="media-body"> <p class="mt-0 mb-1 font-weight-bold"> <a href="http://shakyradunn.com/slide/slide-1-esilbi" title="Value Added Agriculture Program Sourcing Iowa Corn for"> Value Added Agriculture Program Sourcing Iowa Corn for </a> </p> Emerging uses: Fish food and burning as fuel for the ethanol plant. Emerging concerns: Difficulty in getting environmental permits. Local market growth is mostly due to substitution. County. Story. Crop Dist. C. Lat. Long. Factor. lbs. Wet DDG. Dry DDG.... </div> </li> </ul> </div> </div> </div> </div> </section> <footer class="main-section" id="footer"> <div class="container"> <div class="row"> <div class="logo-wrapper col-md-6"> <p class="footer-tagline"><a class="link" href="/" title="Home">Home</a></p> </div> <div class="col-md-3"> <h5>Support</h5> <ul class="footer-links list-unstyled"> <li><a class="link" href="/about/contact" title="Contact">Contact</a></li> </ul> </div> <div class="col-md-3"> <h5>About</h5> <ul class="footer-links list-unstyled"> <li><a class="link" href="/about/cookie" title="Cookie Policy">Cookie Policy</a></li> <li><a class="link" href="/about/toc" title="Terms and Conditions">Terms and Conditions</a></li> <li><a class="link" href="/about/copyright" title="Copyright">Copyright</a></li> <li><a class="link" href="/about/privacy" title="Privacy Policy">Privacy Policy</a></li> </ul> </div> </div> </div> </footer> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="/front/js/jquery-3.3.1.slim.min.js?BuEhuITJDKLJPDnZqlBw"></script> <script src="/front/js/bootstrap.bundle.min.js?FtQSJjEaZNvGtuXnxqm"></script> <!-- Modal --> <div class="modal fade" id="download-modal" tabindex="-1" role="dialog" aria-labelledby="download-modal-label" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="download-modal-label">Download Presentation</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> Ready to download the document? Go ahead and hit continue! </div> <div class="modal-footer"> <form method="POST" action="http://shakyradunn.com/slide/download" accept-charset="UTF-8"><input name="_token" type="hidden" value="QNnFBOqXLGjOwxKcz6NEivj3sY1iCkFgratVMSyB"> <input type="hidden" name="document_slug" value="databases-elements-of-their-story-loria-wlusmo"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-primary">Continue</button> </form> </div> </div> </div> </div> <script>/* lazyload.js (c) Lorenzo Giuliani * MIT License (http://www.opensource.org/licenses/mit-license.html) * * expects a list of: * `<img src="blank.gif" data-src="my_image.png" width="600" height="400" class="lazy">` */ !function(window){ var $q = function(q, res){ if (document.querySelectorAll) { res = document.querySelectorAll(q); } else { var d=document , a=d.styleSheets[0] || d.createStyleSheet(); a.addRule(q,'f:b'); for(var l=d.all,b=0,c=[],f=l.length;b<f;b++) l[b].currentStyle.f && c.push(l[b]); a.removeRule(0); res = c; } return res; } , addEventListener = function(evt, fn){ window.addEventListener ? this.addEventListener(evt, fn, false) : (window.attachEvent) ? this.attachEvent('on' + evt, fn) : this['on' + evt] = fn; } , _has = function(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key); } ; function loadImage (el, fn) { var img = new Image() , src = el.getAttribute('data-src'); img.onload = function() { if (!! el.parent) el.parent.replaceChild(img, el) else el.src = src; fn? fn() : null; } img.src = src; } function elementInViewport(el) { var rect = el.getBoundingClientRect() return ( rect.top >= 0 && rect.left >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight) ) } var images = new Array() , query = $q('img.lazy') , processScroll = function(){ for (var i = 0; i < images.length; i++) { if (elementInViewport(images[i])) { loadImage(images[i], function () { images.splice(i, i); }); } }; } ; // Array.prototype.slice.call is not callable under our lovely IE8 for (var i = 0; i < query.length; i++) { images.push(query[i]); }; processScroll(); addEventListener('scroll',processScroll); }(this); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-158183920-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-158183920-1'); </script> </body> </html> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>