Title: Manipulations Multibases et Distribues Partie 2
1Manipulations Multibases et Distribuées (Partie 2)
- Witold.Litwin_at_dauphine.fr
2Manipulations Multibases et Distribuées
(Kandinsky Ligne avec Accompagnement, 1937 )
3Manipulations Multibases et Distribuées
4MSQL(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)
5MSQL exemple
Vue
SIL Schéma Interne Logique
6Sché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)
7Hé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 ?
8Commandes MSQL
- CREATE TABLE CREATE DATABASE
- CREATE MULTIDATABASE CREATE VIEW
- ALTER TABLE ALTER VIEW
- ALTER MULTIDATABASE
- DROP TABLE DROP DATABASE
- DROP MULTIDATABASE DROP VIEW
9MSQL CREATE DATABASE
Champs de la requête
10MSQLCREATE 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
11MSQL Requêtes élémentaires
12Requê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)
13MSQL Base par défaut
Les tables de la base par défaut sont sans préfixe
14MSQL Requêtes élémentaires sans noms de BDs
Les noms (propres) de tables sont uniques dans
le champ de la requête
15Mises à 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 ?
16Requêtes multiples
17Requêtes multiples
18Résultat (une multitable)
19Mises à 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)
20Variables sémantiques dans MSQL
- use bnp sglet x be town cityselect from
bwhere x 'Paris' and street 'r. de Rivoli'
21Variables 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'
22Variables 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'
23Variables 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
?
24Algè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.
25Homogé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 )
26Vues 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
27Mots-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
28Exemple
- USE BanksSELECT COUNT ()FROM br brWHERE
street 'champs elysées'
29Exemple
- USE BanksSELECT COUNT ()FROM br brWHERE
street 'champs elysées' - bnp.br2
- cic.br2
- sg.br2
30Exemple
- USE BanksSELECT MCOUNT ()FROM br brWHERE
street 'champs elysées'
31Exemple
- USE BanksSELECT MCOUNT ()FROM br brWHERE
street 'champs elysées' - br6
32Fonctions 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
33Fonctions 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
34Fonctions 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
35Fonctions 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
36Fonctions 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
37Fonctions 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)
38Fonctions 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
39Fonctions 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...
40Privilè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
41Requê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...
42Requê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
43MSQL
- 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).
44Elé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
45Manipulations 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
46Manipulations 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
47MsAccess 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
48Exemples 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
49Requê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)
50Ré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
51Requê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
52Ré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
53Requê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
54New Query
55(No Transcript)
56(No Transcript)
57(No Transcript)
58Résultat
59Et en SQL MsAccess
Puis, alternativement ...
60(No Transcript)
61Requê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
62MsAccess 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
63MsAccess MSQL
- IMPORT EXPORT
- commandes au menu
- équivalent à la requête MSQL
- Use B1 copy into T1 from B2.T2
64MsAccess 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
65SQL 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
66Oracle, 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
67Oracle, 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
68EDA-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
69SQL-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
70UniSQL/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
71Telebase (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
72Meta-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.
73Entrepô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
74Un 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.
75Conclusion
- 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
76Conclusion
- 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
77Conclusion
- 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
78Voir aussi les exercices qui suivent
79Exercices
- 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
80Exercices
- 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