Implémentation du data warehouse en R

L'implémentation d'un modèle dimensionnel en base relationnelle ne diffère pas dans sa première phase de celle d'un modèle transactionnel.

On privilégiera simplement un nommage explicite des contraintes et index pour en faciliter la manipulation ultérieure (désactivation, optimisation...).

ConseilDéclaration explicite des contraintes et index

On utilisera typiquement la syntaxe ci-après pour déclarer une relation dotée d'une clé primaire dont on connaît le nom et pour laquelle on connaît l'index sur lequel elle se base. Notons qu'une déclaration classique de clé primaire aurait conduit à créer un index automatiquement, donc plus difficile à gérer (avec un nom généré par Oracle).

CTRL+C pour copier, CTRL+V pour coller
1
CREATE TABLE table1 (pknum number, ...);
2
CREATE UNIQUE INDEX idx_table1_pknum   ON table1 (pknum);
3
ALTER TABLE table1 ADD CONSTRAINT cstr_table1_pknum PRIMARY KEY (pknum) ;
CREATE TABLE table1 (pknum number, ...);
CREATE UNIQUE INDEX idx_table1_pknum   ON table1 (pknum);
ALTER TABLE table1 ADD CONSTRAINT cstr_table1_pknum PRIMARY KEY (pknum) ;

ExempleImplémentation d'un modèle dimensionnel

Modèle dimensionnel
CTRL+C pour copier, CTRL+V pour coller
1
CREATE TABLE t_produit (
2
  pk_num number,
3
  a_designation varchar(50),
4
  a_type char(3)
5
);
6
7
CREATE UNIQUE INDEX idx_produit_num 
8
  ON t_produit (pk_num);
9
ALTER TABLE t_produit 
10
  ADD CONSTRAINT cstr_produit_num PRIMARY KEY (pk_num)  
11
  ADD CONSTRAINT cstr_produit_type CHECK (a_type in ('CD', 'DVD'));
12
13
...
CREATE TABLE t_produit (
  pk_num number,
  a_designation varchar(50),
  a_type char(3)
);

CREATE UNIQUE INDEX idx_produit_num 
  ON t_produit (pk_num);
ALTER TABLE t_produit 
  ADD CONSTRAINT cstr_produit_num PRIMARY KEY (pk_num)  
  ADD CONSTRAINT cstr_produit_type CHECK (a_type in ('CD', 'DVD'));

...