Manipulations Multibases et Distribues Partie 2 - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Manipulations Multibases et Distribues Partie 2

Description:

Manipulations Multibases et Distribu es (Kandinsky: Ligne avec Accompagnement, ... adresser des relations dans les bases diff rentes. manipuler les ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 81
Provided by: lit105
Category:

less

Transcript and Presenter's Notes

Title: Manipulations Multibases et Distribues Partie 2


1
Manipulations Multibases et Distribuées (Partie 2)
  • Witold.Litwin_at_dauphine.fr

2
Manipulations Multibases et Distribuées
(Kandinsky Ligne avec Accompagnement, 1937 )
3
Manipulations Multibases et Distribuées
4
MSQL(Litwin, Abdellatif, Nicolas, Zeroual, 1989)
  • Une extension multibase de SQL
  • Permet des manipulations multibases
    non-procédurales
  • ? requêtes MSQL impossibles à formuler en SQL
  • Une requête MSQL peut remplacer plusieurs
    requêtes SQL
  • Offre des fonctions spécifiques pour l'env. MBD
  • adresser des relations dans les bases différentes
  • manipuler les données hétérogènes
  • créer vues multibases
  • transférer les données (et les schémas) entre
    les bases
  • définir les dépendances multibases (triggers)

5
MSQL exemple
Vue
SIL Schéma Interne Logique
6
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)

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

8
Commandes MSQL
  • CREATE TABLE CREATE DATABASE
  • CREATE MULTIDATABASE CREATE VIEW
  • ALTER TABLE ALTER VIEW
  • ALTER MULTIDATABASE
  • DROP TABLE DROP DATABASE
  • DROP MULTIDATABASE DROP VIEW

9
MSQL CREATE DATABASE
Champs de la requête
10
MSQLCREATE 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
  • ALTER BanksINCLUDE Vernes REMOVE cic

Unité de mesure
11
MSQL Requêtes élémentaires
12
Requêtes élémentaires Note historique
  • Préfixage par les noms de bases était inconnu de
    SQL jusquà 1989.
  • La 1ère implémentation à été faite à lINRIA vers
    1985
  • Prototype MRDSM
  • Sybase a été le 1èr SGBD commercial à loffrir
  • Vers 1988
  • DB2 ne la toujours pas
  • Le standard SQL la pris en compte vers 1993
  • SQL Access Group présidé par Jim Gray
  • La syntaxe de requêtes élémentaires continue de
    varier néanmoins avec les dialectes
  • Oracle par exemple utilise le postfixage (voir
    plus loin)

13
MSQL Base par défaut
Les tables de la base par défaut sont sans préfixe
14
MSQL Requêtes élémentaires sans noms de BDs
Les noms (propres) de tables sont uniques dans
le champ de la requête
15
Mises à jour
  • USE (bnp b) sg
  • UPDATE account
  • SET account.balance account.balance 500
  • WHERE account.balance gt acc.balance
  • AND b.client.clname sg.client.cname AND
    b.client.street sg.client.street
  • Que veut dire cette requête ?

16
Requêtes multiples
17
Requêtes multiples
18
Résultat (une multitable)
19
Mises à Jour Multiples
  • Use BanksUpdate clset street 'Charles de
    Gaulle"where street 'Etoile'
  • Use Banks vital cicUpdate clset street
    'Charles de Gaulle"where street 'Etoile'
  • MSQL transaction semantics is gt ACID
  • peut inclure COMP (compensation)

20
Variables sémantiques dans MSQL
  • use bnp sglet x be town cityselect from
    bwhere x 'Paris' and street 'r. de Rivoli'

21
Variables sémantiques dans MSQL
  • use bnp sglet x be town cityselect from
    bwhere 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'

22
Variables sémantiques dans MSQL
  • use bnp sglet x be town cityselect from
    bwhere x 'Paris' and street 'r. de Rivoli'
  • Alternativement

use bnp sglet x be to cityselect from
bwhere x 'Paris' and street 'r. de
Rivoli'
23
Variables sémantiques dans MSQL
  • use banks
  • let x be town city
  • let y be sg bnpselect X. from y.b X, cic.b
    Ywhere Y.x 'Paris' and
  • Y.street X.street and X.x 'Paris'
  • Quelle est la sémantique de cette requête ?
  • Est-ce que sa décomposition "naturelle" en
    requêtes élémentaires, selon l'évaluation de
    variables sémantiques, est optimale ?
  • Sinon, quelle est celle potentiellement meilleure
    ?

24
Algèbre multirelationnelle
  • Non, la décomposition naturelle n'est pas
    optimale
  • la sélection dans cic est répétée inutilement
  • il faut la faire d'abord, puis la jointure
  • 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, 153-171.

25
Homogénéisation de nomsLes labels
  • USE Banks LET t BE tel tSELECT name
    branch_name, t tel, s streetFROM br
    brWHERE 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 )

26
Vues multibases
bnp
my_bank
sg
Une vue partielle de bases bnp et sg dans la base
my_bank
Les vues dans my_bank peuvent-être considérées
un Schéma d'Importation
27
Mots-clés et Fonctions Agrégats
  • 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
  • Leur extensions aux multitables
  • MDISTINCT, MCOUNT, MGROUP BY, MORDER BYMAVG,
    MSUM...
  • opérent sur la totalité de la multitable

28
Exemple
  • USE BanksSELECT COUNT ()FROM br brWHERE
    street 'champs elysées'

29
Exemple
  • USE BanksSELECT COUNT ()FROM br brWHERE
    street 'champs elysées'
  • bnp.br2
  • cic.br2
  • sg.br2

30
Exemple
  • USE BanksSELECT MCOUNT ()FROM br brWHERE
    street 'champs elysées'

31
Exemple
  • USE BanksSELECT MCOUNT ()FROM br brWHERE
    street 'champs elysées'
  • br6

32
Fonctions Agrégats MERGE ON
  • forme un tuple de tous les tuples d'un même objet
    dans la multitable sélectionnée
  • Utilise les jointures externes
  • Trouve les millionnaires dans Banks et forme un
    tuple pour chaque millionnaire trouvé
  • USE Banks LET x.y BE clname.cltel
    cname.ctLET z BE Banks.SELECT FROM z.a
    WHERE z.a.c z.client.cAND z.a.balance gt
    1 000 000MERGE ON x y

33
Fonctions Agrégats MERGE ON
nuls
nuls
nuls
USE Banks LET x.y BE clname.cltel
cname.ctLET z BE Banks.SELECT FROM z.a
WHERE z.a.c z.client.cAND z.a.balance gt
1 000 000MERGE ON x y
34
Fonctions Agrégats NAME
  • Transforme un nom (de table, d'attribut..) en
    valeur d'attribut
  • USE Banks LET x.y BE br.city branch.townSELECT
    name branch_name, NAME (.x) bankFROM xWHERE
    y 'Nice' UNION
  • Note L'union réunit les tables de la
    multitable sélectionnée
  • Le résultat c'est la table avec le schéma
    branch_name bank

35
Fonctions Agrégats CHOOSE
  • 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 B, supposée clé
    globale d'un objet.
  • dans la limite de t unités de temps
  • t est prioritaire sur n
  • CHOOSE (n, (m, ltAgt) ltBgt ) RND NEW
  • ltAgt ltliste d'attr.ltBgt ltliste de BDsgt

36
Fonctions Agrégats CHOOSE
  • Choisis UN millionnaire d'une manière aléatoire
  • USE Banks SELECT c.FROM c c, a aWHERE
    c.c a.c AND a.a gt 1.000.000CHOOSE ()
    RND
  • Fonction très importante dans l'environnement MBD
  • surcharge d'information

37
Fonctions Agrégats TIMEOUT
  • 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é)
    ltunitégt ms s m h d s - secondes
    (défaut)
  • USE BanksSELECT FROM brWHERE street
    'champs elysées' TIMEOUT (10)

38
Fonctions Agrégats POST
  • 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
    logemWHERE prix lt 1,000,000 AND Ville 'Paris'
    POST

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

40
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

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

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

43
MSQL
  • 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).

44
Eléments de MSQL dans SGBDs commerciaux
  • La majorité de SGBDs sont des SGMB
  • Au mieux les requêtes élémentaires
  • Sybase, Oracle, Informix, MsAccess, SQL
    Server,....
  • Exception majeure DB2
  • Il y a aussi des SGMB qui ne sont que des
    systèmes d'accès aux SGBDs
  • SQL-Query, EDA-SQL, Oracle DB Integrator,
    DBJoiner (IBM), Ingres, UniSQL/M, Uniface, QE,
    OAdaptor (HP), Telebase...
  • Les systèmes dits "Data Warehouse  sont des SGMB

45
Manipulations MBD en MsAccess
  • 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
  • Excel notamment

46
Manipulations MBD en MsAccess
Passerelle Paradox
MsAccess
Sybase ODBC driver
B1
B2
Attach
Insert INTO
Export
Connect. réparties
ODBC
Import
ODBC
B3
Paradox
Excel
Oracle
Sybase
47
MsAccess MSQL
  • Open B ltgt USE B
  • 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
  • Clause IN ltexternalDBgt
  • Open B1Select a, b, c From D IN B2 ?? select
    a, b c from B2.D

48
Exemples MsAccess
  • Source DB MsAccess SELECT Customer IDFROM
    Customers IN MYDATA.MDBWHERE Customer ID Like
    "A"
  • Source DB Paradox SELECT CustomerIDFROM
    CustomersIN "C\PARADOX\DATA\SALES" "Paradox
    4.x"WHERE CustomerID Like "A"
  • 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

49
Requêtes élementaires MsAccess
  • On peut ouvrir une BD et faire les requêtes à
    d'autres BDs
  • il faut définir des aliases dans FROM
  • Base ouverte s'appelle s-p1.mdb
  • mais ce nom n'a pas d'importance ici
  • Jointure de tables dans d'autres bases
  • 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)

50
Résultat
Contact Name City Pat Parkes London Gladys
Lindsay Seattle Elizabeth Lincoln Tsawassen Olivia
LaMont San Francisco Terry Hargreaves London Eliz
abeth Brown London Sylvia Dunn London Ann
Devon London Ronald Merrick London Bill
Lee Pocatello
51
Requêtes élémentaires MsAccess
  • Jointure d'une table locale à la base ouverte
    (S-P.mdb) et d'une table externe de la base
    mwind2.mdb
  • 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

Obligatoire, contrairement à MSQL
52
Résultat
SName Contact Name City Clark Ann
Devon London Clark Archibald Langford London Clar
k Cornelia Giles London Clark David
Bird London Clark Elizabeth Brown London Clark G
.K.Chattergee London Clark Gerald
Pipps London Clark Hari Kumar London Clark Jane
Austen London Clark Jeffrey Jefferies London
53
Requêtes multibases en QBE
  • 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
  • y compris les jointures interbases

54
New Query
55
(No Transcript)
56
(No Transcript)
57
(No Transcript)
58
Résultat
59
Et en SQL MsAccess
Puis, alternativement ...
60
(No Transcript)
61
Requêtes multibases en QBE
  • On peut aussi utiliser les tables préalablement
    attachées
  • alors elles apparaissent dans la liste des tables
    de "current" BD
  • Puis on peut utiliser les vues multibases
  • elles apparaissent dans la liste des vues de
    "current" BD
  • Enfin, on peut tout mélanger dans une même
    requête QBE
  • et SQL

62
MsAccess MSQL
  • Clause INTO ltexternalDBgt dans Select INTO ou
    INSERT INTO
  • Open B1Select 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
  • On ne peut pas combiner les clauses IN et INTO
  • INSERT de MsAccess a la (sous)sémantique de
    INSERT de MSQL

63
MsAccess MSQL
  • IMPORT EXPORT
  • commandes au menu
  • équivalent à la requête MSQL
  • Use B1 copy into T1 from B2.T2

64
MsAccess MSQLComparaison
  • 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 !
  • Requêtes MBD élémentaires
  • pratiquement MSQL
  • aux restrictions discutées près
  • Requêtes multiples et autres possibilités de MSQL
  • (Encore) inconnues de MsAccess

65
SQL Server
  • Architecture MBD générale similaire à celle de
    MsAccess, en plus puissante
  • passerelles vers Oracle, IMS, DB2
  • ODBC et donc MsAccess
  • 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 siteUSE 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

66
Oracle, RDB, Informix
  • Ont une operation similaire à ATTACH diteCreate
    link
  • Create public database link bnp connect to
    bnp_unix
  • Create public database link cic connect to
    cic_vms
  • SELECT br.brname, b.braname, br.street
  • FROM br_at_bnp, br_at_ cic b
  • WHERE br.street b.street

67
Oracle, RDB, Informix
  • 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
  • Il est possible néanmoins que Oracle 7 supporte
    les requêtes MBDs sans liens
  • en postfixage par le nom de base
  • comme sur le diapo précédent

68
EDA-SQL, DB Integrator, DBJoiner, Ingres al
  • 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
  • dite base auxiliaire
  • Il faut créer des liens (links) et une ou
    plusieurs bases logiques
  • bases virtuelles
  • en fait presque
  • seul DB Integrator supporte les requêtes MBD
    élémentaires
  • dites requêtes multischéma
  • Pas d'autres fonctions de MSQL

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

70
UniSQL/M O-Adaptor
  • Similaires aux précedents, sauf que pour la BD
    logique
  • UniSQL/M utilise le modèle RO
  • O-Adaptor utilise un modèle OO
  • Pas de requêtes MBD (autres que de la création de
    liens)

ODBC
BD logique
BD logique
Passerelle
BD Ingres
BD lMS
BD RDB
71
Telebase (USA)
  • SGMB d'accès aux BDs documentaires
  • Que mille et sur plusieurs sites
  • Avec différents langages locaux
  • STAIRS, INSPEC, DIALOG...
  • Langage commun Common Command Set (CCS) étendu
  • Défini comme standard par la CEE et adopté dans
    le monde entier
  • Pas de jointures seulement les clauses booléennes
  • Supporte les fonctions de MSQL
  • Noms de multibases
  • Requêtes multiples (dites SCANS)
  • Standardisées dans ISO 39-50

CCS
Drivers
BDs DIALOG
BDs INSPEC
BDs STAIRS
72
Meta-moteurs de recherche
  • www.BigHub.com, www.AskJeewes
  • Interrogent simultanément plusieurs moteurs de
    recherche au choix
  • Altavista, Yahoo, Excite, Goto
  • Langage de manipulation booleen
  • Requêtes multiples
  • Avec les fonctions mdb Name, Mdistinct, Choose,
    Timeout
  • A voir prochainement sur vos écrans.

73
Entrepôt de Données (Data Warehouse)
  • Nouveau concept pour les SGMBs
  • essentiellement gimmick de marketing made in USA
  • Data warehouse ltgt multibase ou fédération d'une
    entreprise
  • mais il y a une idé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
  • L'avenir à voir

ODBC
Data warehouse
Data mart
Passerelle
BD Ingres
BD lMS
BD RDB
74
Un appel aux communications récent et intéressant
(Oct 1999)
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.
75
Conclusion
  • Manipulations multibases - parmi les plus
    importantes directions de R D dans les SGBDs
  • Autres mots-clés
  • Interopérabilité
  • Intégration
  • Bases Fédérées
  • Bases Réparties Hétérogènes
  • Data Warehouses
  • MSQL est un véhicule de recherche le avancé de
    l'étude de fonctions d'un langage MBD relationnel
  • Diverses fonctions multibases

76
Conclusion
  • 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
  • La conception multibase (fédérée) devient
    préferentielle 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

77
Conclusion
  • 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

78
  • Fin

Voir aussi les exercices qui suivent
79
Exercices
  • 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) 60250 à
    60520 dans la base cic et toute autre si possible
  • Rechercher pendant 20 jours les cheques en bois a
    lordre du  Trésor Public 

80
Exercices
  • Créer une table attachée (liée) dans MsAccess
  • Faire en pratique les requêtes mdb MsAccess
    discutées en cours, en SQL et QBE
  • Tester DB2, Oracle, SQL-Server
  • 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 !)
  • Différence entre un SGBD multibase et un système
    daccès multibase.
  • Lesquels parmi les SGBDs énumérés sont des SGMBs
    ?
  • MsAccess, DB2, Informix, Ingres, Oracle, SQL
    Server,,, Unisql
  • Comment le concept dune requête multiple de MSQL
    est appliquées par lindustrie aujourdhui
  • dans BigHub and AskJeewes en particulier.
  • Introduisez le conception dEntrepôts de Données
    (quoi, pourquoi, comment)
  • Quelle est la différence entre un  Data
    Warehouse  et un  DataMart 
Write a Comment
User Comments (0)
About PowerShow.com