La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Manipulations Multibases et Distribuées (Partie 2)

Présentations similaires


Présentation au sujet: "1 Manipulations Multibases et Distribuées (Partie 2)"— Transcription de la présentation:

1 1 Manipulations Multibases et Distribuées (Partie 2)

2 2 Manipulations Multibases et Distribuées (Kandinsky: Ligne avec Accompagnement, 1937 )

3 3 Manipulations Multibases et Distribuées

4 4 MSQL (Litwin, Abdellatif, Nicolas, Zeroual, ) u Une extension multibase de SQL –SQL est par définition dans MSQL »SQL-1, SQL-2, SQL-3… u Permet des manipulations multibases non-procédurales u Développé en »INRIA, projet B A BA, u initialement sous projet du projet-pilote SIRIUS (J. Le Bihan, puis W. Litwin) »Thèses de 3 ème Cycle de MM. Abdellatif, Nicolas, Zeroual u Compilateur implémenté à Houston University –Équipe de Prof. M. Rusinkiewicz, u Article: Information Sciences, 49, 1989, –Pdf : »Pour lire: copiez manuellement le lien dans Internet Explorer »(en attendant la correction par MS du bug de Powerpoint plug-in faussant le lien automatique)

5 5 MSQL (Propriétés fondamentales nouvelles) u Requête SQL –Est formulée en calcul de prédicats de 1 er ordre –Est traduite pour loptimisation en algèbre relationnelle –Produit une table u Requête MSQL – Peut-être formulée en calcul de dordre supérieur »Incluant celui de 1 er ordre –Peut-être traduite pour loptimisation en algèbre multirelationnelle »Incluant celle relationnelle –Produit une multitable »Un ensemble de relations (tables) »Constitué en particulier dune seule table

6 6 MSQL (Fonctions spécifiques pour l'env. MBD) u Adressage de tables dans les bases différentes –Implicitement ou par qualification par de noms de bases ou de multibases »Introduit vers 1985 par le système relationnel multibase prototype MRDSM –Développé à lINRIA dans le projet B A BA »Inconnu à lépoque de tout langage relationnel u Voir le survol des SGBD relationnels existants en 1987 (M. Brodie)

7 7 MSQL (Fonctions spécifiques pour l'env. MBD) u Manipulation de données sémantiquement hétérogènes –Requêtes multiples »Avec identificateurs multiples »Avec variables sémantiques –Unités de précision –Unités de mesure –Jointures implicites u Possibilités toujours inconnues de SQL u Connues actuellement de certains dialectes –Limitées par rapport à MSQL

8 8 MSQL (Fonctions spécifiques pour l'env. MBD) u Vues multibases u Transfert de données et de schémas entre les bases u Dépendances multibases –Déclencheurs multibases (triggers) u Transactions multibases flexibles –Généralisant le modèle ACID »Trop restrictif pour les multibases

9 9 MSQL : exemple Vue SIL = Schéma Interne Logique

10 10 Schémas conceptuels (le multischéma) DB bnp : br (br#, brname, street, street#, city, zipcode, tel) account (acc#, cl#, balance, br#) client (cl#, clname, cltel, cltype, street, street#, city, zipcode) spe-acc (acc#, br#, cl#, balance, curr) DB sg : branch (bra#, braname, street, s#, town, zip, t#, class) acc (acc#, bra#, c#, balance) client (c#, cname, ct#, ctype, street, s#, town, zip) DB cic : br (br#, brname, street, street#, city, zipcode, tel) account (ac#, br#, cl#, balance, open_date) client(cl#, clname, cltel, cltype, street, street#, city, zipcode)

11 11 Hétérogénéité sémantique dans les banques u Les mêmes noms peuvent désigner des données différentes –les banques sont autonomes et ne partagent pas les succursales (branches) u Différents noms peuvent désigner les mêmes données –un même client, une même ville ou rue.. u La valeur d'une clé n'est valable que dans une base –comment identifier un même client de deux banques ?

12 12 Commandes MSQL u CREATE TABLECREATE DATABASE u CREATE MULTIDATABASECREATE VIEW u ALTER TABLEALTER VIEW u ALTER MULTIDATABASE u DROP TABLEDROP DATABASE u DROP MULTIDATABASEDROP VIEW

13 13 MSQL CREATE DATABASE Champs de la requête

14 14 MSQL CREATE TABLE use banks ; CREATE TABLE boulogne.pret FROM bnp.pret ; CREATE TABLE ch_en_bois (Chq# INT, Montant_Euro CURRENCY [].... ); On a crée quatre tables : bnp. ch_en_bois, cic. ch_en_bois... boulogne. ch_en_bois Dans ce CREATE TABLE, ch_en_bois est un identificateur multiple. Unité de mesure

15 15 MSQL Requêtes multibases élémentaires

16 16 Requêtes multibases élémentaires Rappel historique Le concept de requêtes multibases a été proposé à lINRIA vers 1985 Sybase a été le 1èr SGBD commercial à offrir les requêtes multibases élémentaires Vers , bases Sybase uniquement Le standard SQL a pris en compte le préfixe par les noms de bases vers 1993 SQL Access Group présidé par Jim Gray Pour les requêtes multibases élémentaires seulement Ce standard est diversement suivi par les dialectes commerciaux SQL. Par exemple: MsAccess, SQL-Server, Sybase le suivent Oracle utilise le postfixage (voir plus loin) DB2 vient de l'appliquer dans V.7 (Août 2000) Ingres ??

17 17 MSQL Base par défaut Les tables de la base par défaut sont sans préfixe

18 18 MSQL Requêtes élémentaires sans noms de BDs Les noms (propres) de tables sont uniques dans le champ de la requête

19 19 Mises à jour USE (bnp b) sg ; UPDATE account SET account.balance = account.balance WHERE account.balance > acc.balance AND b.client.clname = sg.client.cname AND b.client.street = sg.client.street ; u Que veut dire cette requête ?

20 20 Requêtes multiples

21 21 Requêtes multiples (toute succursale aux Champs Elysées)

22 22 Résultat (une multitable)

23 23 Mises à Jour Multiples (change rue Etoile à Charles de Gaulle dans tout attribut street) Use Banks Update * set street = 'Charles de Gaulle" where street = 'Etoile u Quelles sont les instructions SQL générées et combien ? Use Banks vital cic Update * set street = 'Charles de Gaulle" where street = 'Etoile' u Le modèle de transaction de MSQL est celui de transactions flexibles ( pdf ) pdf Inclut le modèle ACID (vital Banks) –Ce dernier est souvent insuffisant dans le milieu multibase

24 24 Variables sémantiques dans MSQL use bnp sg let x be town city select * from b% where x = 'Paris' and street = 'r. de Rivoli'

25 25 Variables sémantiques dans MSQL use bnp sg let x be town city select * from b% where x = 'Paris' and street = 'r. de Rivoli' use bnp select * from br where town = 'Paris' and street = 'r. de Rivoli' ; use sg select * from branch where city = 'Paris' and street = 'r. de Rivoli' ;

26 26 Variables sémantiques dans MSQL use bnp sg let x be town city select * from b% where x = 'Paris' and street = 'r. de Rivoli' Alternativement: use bnp sg let x be to% city select * from b% where x = 'Paris' and street = 'r. de Rivoli'

27 27 Variables sémantiques dans MSQL use banks let x be town city let y be sg bnp select X.* from y.b% X, cic.b% Y where Y.x = 'Paris' and Y.street = X.street and X.x = 'Paris'; u Quelle est la sémantique de cette requête ? u Est-ce que sa décomposition "naturelle" en requêtes élémentaires, selon l'évaluation de variables sémantiques, est optimale ? u Sinon, quelle est celle potentiellement meilleure ?

28 28 Algèbre multirelationnelle u Non, la décomposition naturelle n'est pas optimale –la sélection dans cic est répétée inutilement u il faut la faire d'abord, puis la jointure u il faut un outil algébrique formel pour les requêtes multiples pour résoudre de tels cas d'une manière générale –l'algèbre multirelationnelle Grant, Litwin, Selis, Roussopoulos. An Algebra and Calculus for Relational Multidatabases. The VLDB Journal, Vol. 2, No. 2, April 1993, »pdf :

29 29 Multirelational Algebra u Multirelational operators –Select From M where (boolean condition) –Project M (A, B…) –Pair-wise Theta join On (M1.A M2.B AND …) –Theta Join On (M1.A M2.B AND …) u These operators are typically commutative and associative as their relational counterparts u Select can be moved through a join down the execution tree u Project (C (Project M (A, B, C))) = Project M (C) u Etc

30 30 Homogénéisation de noms Les labels USE Banks ; LET t BE tel t# SELECT %name branch_name, t tel#, s%# street# FROM br% br WHERE street = Champs Elysées ; Le résultat : la multitable: {( bnp.br.branch_name, bnp.br.tel#, bnp.br.street# ), ( sg.br.branch_name, sg.br.tel#, sg.br.street# ) ( cic.br. branch_name, cic.br.tel#, cic.br.street# )}

31 31 Vues multibases Une vue partielle de bases bnp et sg dans la base my_bank my_bank bnp sg Les vues dans my_bank peuvent-être considérées un Schéma d'Importation

32 32 Mots-clés et Fonctions Agrégats u Mots-clés et Fonctions Agrégats de SQL –par définition »DISTINCT, GROUP BY, ORDER BY »COUNT, AVG, SUM.. –opèrent sur chaque table d'une multitable u Leur extensions aux multitables »MDISTINCT, MCOUNT, MGROUP BY, MORDER BY MAVG, MSUM... –opérent sur la totalité de la multitable

33 33 Exemple USE Banks SELECT COUNT (*) FROM br% br WHERE street = 'champs elysées' ;

34 34 Exemple USE Banks SELECT COUNT (*) FROM br% br WHERE street = 'champs elysées' ; bnp.br 2 cic.br 2 sg.br 2

35 35 Exemple USE Banks SELECT MCOUNT (*) FROM br% br WHERE street = 'champs elysées' ;

36 36 Exemple USE Banks SELECT MCOUNT (*) FROM br% br WHERE street = 'champs elysées' ; br 6 Exercises in warehousing (dans mon cours en ang.): -Average balance per client in each bank Average balance per client in BANKS -Sum of client assets per bank -Sum of client assets in BANKS Exercises in warehousing (dans mon cours en ang.): -Average balance per client in each bank Average balance per client in BANKS -Sum of client assets per bank -Sum of client assets in BANKS

37 37 Aggregate Functions IMPLEMENTATION ISSUES u All-in-one (traditional computation) –Possibly in parallel –The calculus can take long time. u Successive approximations –Some kind of sampling »result1, from any 1st DB to come »(result1 + result2) / 2 »…»… »sampling within each database u several ACM-Sigmod & VLDB papers dealt with query evaluation using sampling u Precomputing –Incremental evaluation using interdatabase dependencies –Common to warehousing

38 38 Fonctions Agrégats MERGE ON u forme un tuple de tous les tuples d'un même objet dans la multitable sélectionnée –Utilise les jointures externes u Trouve les millionnaires dans Banks et forme un tuple pour chaque millionnaire trouvé USE Banks ; LET x.y BE clname.cltel cname.ct# LET z BE Banks.* SELECT * FROM z.a% WHERE z.a%.c%# = z.client.c%# AND z.a%.balance > MERGE ON x y ;

39 39 Fonctions Agrégats MERGE ON USE Banks ; LET x.y BE clname.cltel cname.ct# LET z BE Banks.* SELECT * FROM z.a% WHERE z.a%.c%# = z.client.c%# AND z.a%.balance > MERGE ON x y ; nuls

40 40 Fonctions Agrégats NAME u Transforme un nom (de table, d'attribut..) en valeur d'attribut USE Banks ; LET x.y BE br.city branch.town SELECT %name branch_name, NAME (.x) bank FROM x WHERE y = 'Nice' UNION * ; Note: L'union * réunit les tables de la multitable sélectionnée u Le résultat c'est la table avec le schéma : branch_name bank

41 41 Fonctions Agrégats CHOOSE u Choisit au plus n tuples parmi ceux trouvés par la requête –les 1èrs trouvés, comme fait la fonction TOP (défaut) –au hasard pur (RND) –ceux qui n'ont pas été choisi à la précédente exécution de la requête dans la même transaction (NEW) –de préférence dans les bases listées et en ordre –en choisissant au plus m tuples partageant les valeurs des attr. dans la liste A, supposée clé globale d'un objet. –dans la limite de t unités de temps »t est prioritaire sur n CHOOSE (n, (m, ) [ ] ) [RND | NEW] ::= ::=

42 42 Fonctions Agrégats CHOOSE u Choisis UN millionnaire d'une manière aléatoire USE Banks ; SELECT c.* FROM c% c, a% a WHERE c.c%# = a.c%# AND a.a%# > CHOOSE () RND ; u Fonction très importante dans l'environnement MBD –surcharge d'information

43 43 Fonctions Agrégats TIMEOUT u Fixe la durée maximale de la requête –la requête arrivant au time-out est considérée exécutée avec succès TIMEOUT (t [unité]) ; := ms | s | m | h | d s - secondes (défaut) USE Banks SELECT * FROM br% WHERE street = 'champs elysées' TIMEOUT (10) ;

44 44 Fonctions Agrégats POST u Rend continuelle une requête –On manipule tout tuple trouvé durant le temps de vie –Même ceux crées après le lancement de la requête –On peut limiter son temps de vie par TIMEOUT USE Immo LaCentrale Orpi ; SELECT * FROM logem% WHERE prix < 1,000,000 AND Ville = 'Paris' POST ;

45 45 Fonctions Agrégats ESTIMATE u Calcule les coûts de la requête avant son exécution et peut lancer l'exécution après l'autorisation ESTIMATE (type, price, time, count, size, report) [WITH EXEC_PROMPT] u type d'estimation: –exact (peut être long à calculer) –approximatif u prix de la requête (en $, FF...). u temps de complétion u nombre de tuples u taille du résultat, en octets. u rapport sur l'estimation elle-même –la précision...

46 46 Privilèges dans MSQL USE bnp sg cic ; GRANT SELECT ON client TO Nicolas Abdellatif ; client est une multitable : client = (bnp.client, sg.client, cic.client) GRANT ALL ON etoile.account TO Nicolas Abdellatif FROM bnp.account ; GRANT ALL ON etoile.account TO Nicolas FROM Zeroual ON bnp.account ;

47 47 Requêtes interbases u Transfèrent les données entre des BDs u La source et la cible de la requête sont des multitables u Conflits possibles entre les données transférées et celles existantes dans la cible INSERT...

48 48 Requêtes interbases u INSERT –insère les tuples sélectionnés »sauf ceux dont la clé est déjà dans la cible u STORE –insère les tuples sélectionnés »en remplaçant ceux dont la clé est déjà dans la cible u REPLACE –insère les tuples sélectionnés et delete le reste de la cible u UPDATE –met à jour les tuples sélectionnés dans la cible par les valeurs de tables sources u COPY –copie les tuples et le schéma de la source

49 49 MSQL u Il y d'autres fonctions intéressantes –On verra certaines plus tard –voir aussi l'article MSQL : A multidatabase Language. Information Science Journal : Special Issue on Database Systems, 48, 2, (July 1989).

50 50 Eléments de MSQL dans SGBDs commerciaux u La majorité de SGBDs sont des SGMB –Au mieux : les requêtes élémentaires »Sybase, Oracle, Informix, MsAccess, SQL Server, DB2.... u Il y a aussi des SGMB qui ne sont que des systèmes d'accès aux SGBDs SQL-Query (Microsoft), EDA-SQL (Inf. Builders), Oracle DB Integrator, DBJoiner (IBM), Ingres* (Comp. Associates), UniSQL/M (Cincom Corp.), Uniface, Q+E, OAdaptor (HP), Telebase... u Les systèmes dits "Data Warehouse« sont des SGMB

51 51 Manipulations MBD en MsAccess u On peut faire des opérations MBD limitées entre –Bases MsAccess –Une BD de MsAccess et »toute autre BD sous un SGBD compatible ODBC »Paradox, Btrieve, Dbase »Tout programme OLE compatible u Excel notamment

52 52 Manipulations MBD en MsAccess MsAccess Attach Paradox Excel Oracle Sybase B1 Passerelle Paradox ODBC Sybase ODBC driver ODBC Import Export Connect. réparties B3 B2 Insert INTO

53 53 MsAccess & MSQL u Open B USE B u ATTACH table Open B1 attach B2.T' as T create view B1.T as select * from B2.T' »DROP VIEW correspond à Delete dans un menu de MsAccess u Clause IN Open B1 Select a, b, c From D IN B2 select a, b c from B2.D

54 54 Exemples MsAccess u Source DB: MsAccess SELECT [Customer ID] FROM Customers IN MYDATA.MDB WHERE [Customer ID] Like "A*"; u Source DB: Paradox SELECT [CustomerID] FROM Customers IN "C:\PARADOX\DATA\SALES" "Paradox 4.x;" WHERE CustomerID Like "A*"; u Tout transfert de données d'une/vers BD non-MsAccess ou logiciel compatible OLE comporte les conversions de représentation de données –Hétérogénéité sémantique oblige

55 55 Requêtes élementaires MsAccess u On peut ouvrir une BD et faire les requêtes à d'autres BDs –il faut définir des aliases dans FROM u Base ouverte s'appelle s-p1.mdb –mais ce nom n'a pas d'importance ici u Jointure de tables dans deux bases externes à s-p1.mdb SELECT TOP 10 C.[Contact Name], C.City FROM [c:\access\nwind2.mdb].Customers AS C, [c:\access\ordentr2.mdb].customers AS O WHERE (o.Id= C.[customer Id]);

56 56 Résultat Contact NameCity Pat ParkesLondon Gladys LindsaySeattle Elizabeth LincolnTsawassen Olivia LaMontSan Francisco Terry HargreavesLondon Elizabeth BrownLondon Sylvia DunnLondon Ann DevonLondon Ronald MerrickLondon Bill LeePocatello

57 57 u Jointure d'une table locale à la base ouverte (S-P.mdb) et d'une table externe dans la base nwind2.mdb La base ouverte et [nwind2.mdb] se trouvent dans le répertoire par défaut défini dans les Options Requêtes élémentaires MsAccess Alias obligatoire, contrairement à MSQL SELECT TOP 10 S.SName, C.[Contact Name], C.City FROM S, [nwind2.mdb].Customers AS C WHERE ((S.City= C.City)) Order by [contact name];

58 58 SName Contact NameCity ClarkAnn DevonLondon ClarkArchibald LangfordLondon ClarkCornelia GilesLondon ClarkDavid BirdLondon ClarkElizabeth BrownLondon ClarkG.K.ChattergeeLondon ClarkGerald PippsLondon ClarkHari KumarLondon ClarkJane AustenLondon ClarkJeffrey JefferiesLondon Résultat

59 59 Requêtes multibases en QBE u Il est aussi possible de formuler les requêtes multibases élémentaires en QBE de MsAccess –ADD Table montre par défaut dans la fenêtre (optionnelle) "Propriétés" les tables de la base ouverte (S-P) »Source Database : (current) –Il y faut mettre le nom absolue de la base de la table à manipuler »après avoir fermé la liste visible venant de "current" DB »alors on voit la liste des table et/ou des vues de cette base »on sélectionne la ou les tables comme d'habitude (par des cliques) »on formule la requête comme celle monobase u y compris les jointures interbases

60 60 New Query

61 61

62 62

63 63

64 64 Résultat

65 65 Puis, alternativement... Et en SQL MsAccess

66 66

67 67 Requêtes multibases en QBE u On peut aussi utiliser les tables préalablement attachées –alors elles apparaissent dans la liste des tables de BD « En cours » u Puis on peut utiliser les vues multibases –elles apparaissent dans la liste des vues de BD « En cours » u Enfin, on peut tout mélanger dans une même requête QBE –et SQL

68 68 Requêtes multibases / Tables liées u Requêtes MDB offrent une meilleure portabilité de lapplication en permettant –Dutiliser le nom propre de la base source seulement –En portant les bases dans le répertoire par défaut »Indique dans les Options u Alors lapplication marche telle quelle.

69 69 Requêtes multibases / Tables liées Un lien vers une table liée est défini par contre par son nom (chemins daccès) absolu u Si le portage a lieu, lapplication ne marche que si lon refait les liens –par le gestionnaire de tables liées u Problème potentiel pour lusager

70 70 Requêtes multibases / Tables liées u Toute table liée T dans une base source [source.mdb ] peut être remplacée par la requête mbd T dans sa base cible SELECT * FROM [base.mdb ].T u Requête T peut alors être utilisée dans la base cible comme si elle était locale –sans préfixe [source.mdb ], –exactement comme on aurait usité la table liée T dans la base cible u La requête T peut aussi ne sélectionner que certains attributs de [source.mdb ].T et même les transformer par des expression de valeur ou des fonctions scalaires –potentiellement une meilleure sécurité –un outil plus flexible

71 71 Formulaire multibase u Un formulaire sur une requête multibase u Un formulaire avec un ou des sous-formulaires ayant chacun comme source une requête multibase –sous-formulaires libres ou liés u Un formulaire avec de formulaires attachés ayant chacun comme source une requête multibase –sous-formulaires libres ou liés u Enfin, un formulaire avec plusieurs requêtes multibases –simule une vue multirelationnel

72 72 MsAccess & MSQL u Clause INTO dans Select INTO ou INSERT INTO Open B1 Select a, b, c INTO T IN B2 From D Use B1 ; copy into B2.T select a, b c from D ; »D peut être une vue ou une sous-requête –INSERT de MsAccess a la (sous)sémantique de INSERT de MSQL

73 73 MsAccess & MSQL u IMPORT & EXPORT –commandes au menu –équivalentes à la requête MSQL Use B1 ; copy into T1 * from B2.T2 ;

74 74 MsAccess & MSQL Comparaison u Formulation de requêtes MBD élémentaires et des vues MBD avec des ATTACH –d'abord il faut faire des ATTACH –puis on formule une requête SQL monobase –puis, peut-être il faut deleter les ATTACH »dans Banks, il faudrait en pratique que toute BD s'attache toutes les tables de toute autre BD »Bonne chance DBA ! u Requêtes MBD élémentaires –pratiquement MSQL –aux restrictions discutées près u Requêtes multiples et autres possibilités de MSQL »(Encore) inconnues de MsAccess

75 75 SQL Server u Architecture MBD générale similaire à celle de MsAccess, en plus puissante –passerelles vers Oracle, IMS, DB2 –ODBC et donc MsAccess u Le langage Transac-SQL supporte les fonctions suivantes de MSQL et est le dialecte MBD le moins procédural de l'industrie –requêtes élémentaires »aux BDs Sybase d'un même site USE B ; select * from T where B1.T1.a = T.a ; »Une seule base par USE »quelques restrictions au niveau de requêtes interbases –CREATE VIEW multibase, et déclencheurs (triggers) multibases –les déclencheurs réalisent les dépendances MDB

76 76 Oracle, RDB, Informix u Ont une opération similaire à ATTACH dite Create link u Pour le nommage global des bases, Oracle assimile les multibases aux domaines reseau Create public database link bnp.bnp_host.banks.com connect to bnp_unix using bnp_connect_info Create public database link cic. cic_host.banks.com connect to current_user SELECT br.brname, b.braname, br.street FROM cic. cic_host.banks.com b WHERE br.street = b.street ;

77 77 Oracle, RDB, Informix u Les requêtes MBD ne sont possibles qu'après que les liens ont été défini –Donc ces SGBD sont + proceduraux que Sybase pour les manips MBD u Sous Net8 dOracle : –On peut définir un synonyme pour toute table adressée par un lien create synonym bnp for bnp.bnp_host.banks.com –Le nombre max. de liens est par défaut quatre –On peut définir des déclencheurs MDB et des requêtes interbases »COPY sous Oracle notamment

78 78 EDA-SQL, DB Integrator, DBJoiner, Ingres* & al u Les SGMB SQL d'accès aux SGBD –en théorie, sans leur BDs propres »il y a toujours une, surtout pour les catalogues MBD u dite base auxiliaire u Il faut créer des liens (links) et une ou plusieurs bases logiques –bases virtuelles »en fait presque u seul DB Integrator supporte les requêtes MBD élémentaires –dites requêtes multischéma u Pas d'autres fonctions de MSQL BD logique BD logique BD lMS BD RDB BD Ingres Passerelle ODBC

79 79 SQL-Query u Pas de schéma logique u Accès aux sources hétérogènes –Access, Foxpro, Paradox, Btrieve... u Supporte les requêtes MBD élementaires –en SQL –en QBE u Les tables manipulées dans une base peuvent être –tables de base, vues, tables attachées, vues multibases

80 80 UniSQL/M & O-Adaptor u Similaires aux précedents, sauf que pour la BD logique –UniSQL/M utilise le modèle RO –O-Adaptor utilise un modèle OO u Pas de requêtes MBD (autres que de la création de liens) BD logique BD logique BD lMS BD RDB BD Ingres Passerelle ODBC

81 81 Telebase (USA) u SGMB d'accès aux BDs documentaires –+ Que mille bases et sur plusieurs sites »Avec différents langages locaux u STAIRS, INSPEC, DIALOG... u Langage commun: Common Command Set (CCS) étendu –Prototypé par SGMB MESSIDOR »INRIA –Défini comme standard par la CEE et adopté dans le monde entier u Pas de jointures seulement les clauses booléennes u Supporte les fonctions de MSQL: –Noms de multibases –Requêtes multiples (dites SCANS) –Standardisées dans ISO BDs INSPEC BDs STAIRS BDs DIALOG Drivers CCS

82 82 Système Multibase Messidor 1 er SGMB Documentaire Démonstration par C. Moulinoux (STERIA), INRIA, 1987

83 83 Meta-moteurs de recherche u BigHub.com, AskJeewes.com, copernic… u Interrogent simultanément plusieurs moteurs de recherche au choix –Altavista, Yahoo, Excite, Goto… u Langage de manipulation booléen u Requêtes multiples –Avec les fonctions mdb Name, Mdistinct, Choose, Timeout… u A voir prochainement sur vos écrans.

84 84 Entrepôt de Données (Data Warehouse) u Nouveau concept pour les SGMBs –Data warehouse multibase ou fédération d'une entreprise –lidée (un peu) nouvelle »fonctions orientées prise de décision de gestion élaborée »au moins une BD redondante par rapport à celles existantes est créée dans ce but u Exemple: DB2 DataWarehouse Center BD Data warehouse BD lMS BD DB2 BD Oracle Passerelle ODBC BD Data mart Passerelle

85 85 International Journal of Cooperative Information Systems Special Issue on Design and Management of Data Warehouses Guest editors: Manfred A. Jeusfeld and Martin Staudt Data Warehousing embraces technology and industrial practice to systematically collect data from the enterprise and to use that data in a highly aggregated form for managing the enterprise thru decisions. Little attention is currently paid to design and manage a data warehouse (DW) in such a way that it accomplishes its purpose, i.e. to support the management of the enterprise. Existing solutions are focusing on technical aspects like efficient source data extraction. Their parameters are however incomprehensible to the stakeholders who decide on the introduction of a data warehouse. Data warehouses are important in managing large enterprises and in communicating highly aggregated information between the various departments. Interoperable tools and integrated methods to manage data warehouses in order to fulfill the enterprise goals are desperately needed. Such tools should cover all aspects of data warehousing: - selection of data sources - data cleaning - conceptual/logical/physical data warehouse design - enterprise modeling - data warehouse quality monitoring - data warehouse refreshment methods - architecture design - data mart customization, etc. Un appel aux communications récent et intéressant (Oct 1999)

86 86 Exemple : Architecture de DB2 Data Warehouse

87 87 Conclusion u Manipulations multibases - parmi les plus importantes directions de R & D dans les SGBDs u Autres mots-clés: –Interopérabilité –Intégration –Bases Fédérées –Bases Réparties Hétérogènes –Data Warehouses u MSQL est un véhicule de recherche le + avancé de l'étude de fonctions d'un langage MBD relationnel –Diverses fonctions multibases

88 88 Conclusion u Les fonctions basiques de MSQL sont dans des SGMB commerciaux –Requêtes élémentaires dans la plupart de SGBDs relationnels –Requêtes multiples dans des SGMBs –Dépendances multibases dans les Entrepôts de Données –La suite viendra naturellement u La conception multibase (fédérée) devient préférée pour une VLDB –La plus grande « VLBD « connue (UPS) est une multibase –Il y en a dautres –DB2 UDB 6.2 offre de fonction spécifiques de création multibase

89 89 Conclusion u Enfin, il y a encore beaucoup à apprendre et à faire –aussi bien dans dans l'industrie que dans la recherche »Optimisation de requêtes MSQL »Implémentation de nouvelles fonctions agrégats (CHOOSE…) »Unités de mesure et de monnaies »Manipulations de données de précision différente »Multibases relationnelles-objet »…»…

90 Fin Voir aussi les exercices qui suivent

91 91 Exercices u La multibase Banques a grossi à 100 banques. Chaque banque a ajouté une table avec « ses » cheques en bois. Ces tables sont homogènes dun commun accord pour les attributs ci-dessous et peuvent avoir dautres attributs, lautonomie locale obligeant: Chq-en-bois (ch#, c#, date, montant, ordre, banque-bénef… Formulez les requêtes: –Nombre total et moyenne totale de cheques en bois –Nombre total et montant total par banque émettrice –Nombre total et montant total par banque bénéficiaire –La personne bénéficiaire du cheque en bois le plus gros –La banque émettrice du cheque le plus gros –10 cheques les plus gros –Nom du client cic dont le cheque en bois est au même ordre quun le cheque en bois dun client de bnp –Nom du client cic dont le cheque en bois à la date 01/01/00 est au même ordre quun le cheque en bois dun autre client –Quelle serait la décomposition optimisée de cette requête en celles de SQL ? –Mettre à jour tout code postal (zip…) à dans la base cic et toute autre si possible –Rechercher pendant 20 jours les cheques en bois a lordre du « Trésor Public »

92 92 Exercices u Créer une table attachée (liée) dans MsAccess u Faire en pratique les requêtes mdb MsAccess discutées en cours, en SQL et QBE u Tester DB2, Oracle, SQL-Server… u Comment faire sous ces SGBDs pour la multibase et les requêtes MSQL ci-dessus ? Concevoir un Entrepôt de Données sous MsAccess 2000 (un projet complexe !) u Différence entre un SGBD multibase et un système daccès multibase. u Lesquels parmi les SGBDs énumérés sont des SGMBs ? –MsAccess, DB2, Informix, Ingres, Oracle, SQL Server,,, Unisql u Comment le concept dune requête multiple de MSQL est appliquées par lindustrie aujourdhui –dans BigHub and AskJeewes en particulier. u Introduisez le conception dEntrepôts de Données (quoi, pourquoi, comment) u Quelle est la différence entre un « Data Warehouse » et un « DataMart »


Télécharger ppt "1 Manipulations Multibases et Distribuées (Partie 2)"

Présentations similaires


Annonces Google