Ecole Supérieure de Technologie - Fès Ecole Supérieure de Technologie - Fès Ecole Supérieure de Technologie - Fès
Nom de la colonne Type de donnée Nullability Remarques Nom de la colonne Type de donnée Nullability
Création du Datawarehouse LightAdventureWorksDW
CustomerKey INT NOT NULL IDENTITY(1,1) ProductKey INT NOT NULL
Création d’une base de donnée DW CustomerAlternateKey INT NOT NULL ProductName NVARCHAR(50) NULL
Dans ce TP, vous allez mettre en place un datawarehouse. Pour cela, vous allez créer un datawarehouse
FullName NVARCHAR(150) NULL Color NVARCHAR(15) NULL
allégé LightAdventureWorksDW qui constitue une version réduite et simplifiée du datawarehouse
exemple AdventureWorksDW. Size NVARCHAR(50) NULL
Address NVARCHAR(150) NULL
1. Lancer SSMS et se connecter à votre instance de SQL Server. Ouvrir une nouvelle fenêtre de
EmailAddress NVARCHAR(50) NULL SubcategoryName NVARCHAR(50) NULL
requête en cliquant sur le bouton Nouvelle requête.
2. Créer le dossier C:\ESTFDW\ BirthDate DATE NULL CategoryName NVARCHAR(50) NULL
3. D'après le contexte de la base de données master, créer une nouvelle base de données appelée
LightAdventureWorksDW. MaritalStatus NCHAR(1) NULL 4. Le code pour créer la dimension « Products» devrait être similaire au code suivant.
4. La base de données doit avoir les propriétés suivantes :
· Il devrait y avoir un fichier de données unique et un seul fichier journal dans le dossier Gender NCHAR(1) NULL CREATE TABLE dbo.Products
(
de LightAdventureWorksDW. Vous pouvez créer ce dossier dans n'importe quel lecteur. ProductKey INT NOT NULL,
Education NVARCHAR(40) NULL
· Le fichier de données doit avoir une taille initiale de 300 Mo et avoir l’autogrowth ProductName NVARCHAR(50) NULL,
permis en morceaux de 10 Mo. Color NVARCHAR(15) NULL,
Occupation NVARCHAR(100) NULL Size NVARCHAR(50) NULL,
· La taille du fichier journal doit être de 50 Mo, avec 10% des morceaux de croissance SubcategoryName NVARCHAR(50) NULL,
automatique. City NVARCHAR(30) NULL CategoryName NVARCHAR(50) NULL,
5. Après avoir créé la base de données, modifier le modèle de récupération à simple. Voici le code CONSTRAINT PK_Products PRIMARY KEY (ProductKey)
de création de base de données complète. StateProvince NVARCHAR(50) NULL );
GO
USE master;
CountryRegion NVARCHAR(50) NULL
IF DB_ID('LightAdventureWorksDW') IS NOT NULL 5. Créer la dimension « Dates ». Utilisez le tableau suivant pour les informations nécessaires pour
DROP DATABASE LightAdventureWorksDW;
définir les colonnes de la table et remplir la table.
GO
CREATE DATABASE LightAdventureWorksDW 2. Le code pour créer la dimension « Customers» devrait être similaire au code suivant.
ON PRIMARY
Nom de la colonne Type de donnée Nullability Remarques
(NAME = N'LightAdventureWorksDW', FILENAME =
CREATE TABLE dbo.Customers DateKey INT NOT NULL IDENTITY(1,1)
N'C:\ESTFDW\LightAdventureWorksDW.mdf',SIZE = 307200KB , FILEGROWTH = 10240KB )
(
LOG ON
CustomerKey INT NOT NULL IDENTITY(1,1),
(NAME = N'LightAdventureWorksDW_log', FILENAME = FullDate DATE NOT NULL
CustomerAlternateKey INT NOT NULL,
N'C:\ESTFDW\LightAdventureWorksDW_log.ldf',SIZE = 51200KB , FILEGROWTH = 10%);
FullName NVARCHAR(150) NULL,
GO MonthNumberName NVARCHAR(15) NULL
Address NVARCHAR(150) NULL,
ALTER DATABASE LightAdventureWorksDW SET RECOVERY SIMPLE WITH NO_WAIT;
EmailAddress NVARCHAR(50) NULL,
GO
BirthDate DATE NULL, CalendarQuarter TINYINT NULL
MaritalStatus NCHAR(1) NULL,
Gender NCHAR(1) NULL, CalendarYear SMALLINT NULL
Education NVARCHAR(40) NULL,
Création des dimensions
Occupation NVARCHAR(100) NULL,
1. Créer la dimension « Customers ». Ajouter une colonne clé de substitution appelé CustomerKey, City
6. Le code pour créer la dimension « dates » devrait être similaire au code suivant.
NVARCHAR(30) NULL,
et de créer une contrainte de clé primaire sur cette colonne. Utilisez le tableau suivant pour les StateProvince NVARCHAR(50) NULL,
CountryRegion NVARCHAR(50) NULL,
informations nécessaires pour définir les colonnes de la table et remplir la table.
CONSTRAINT PK_Customers PRIMARY KEY (CustomerKey)
);
GO
3. Créer la dimension « Produits ». Utilisez le tableau suivant pour les informations nécessaires
pour définir les colonnes de la table et remplir la table.
Datawarehouse Datawarehouse Datawarehouse
Ecole Supérieure de Technologie - Fès Ecole Supérieure de Technologie - Fès
CREATE TABLE dbo.Dates CREATE TABLE dbo.InternetSales
( (
DateKey INT NOT NULL IDENTITY(1,1), InternetSalesKey INT NOT NULL IDENTITY(1,1),
FullDate DATE NOT NULL, CustomerKey INT NOT NULL,
MonthNumberName NVARCHAR(15) NULL, ProductKey INT NOT NULL,
CalendarQuarter TINYINT NULL, DateKey INT NOT NULL,
CalendarYear SMALLINT NULL, OrderQuantity SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_Dates PRIMARY KEY (DateKey) SalesAmount MONEY NOT NULL DEFAULT 0,
); UnitPrice MONEY NOT NULL DEFAULT 0,
GO DiscountAmount FLOAT NOT NULL DEFAULT 0,
CONSTRAINT PK_InternetSales
PRIMARY KEY (InternetSalesKey)
);
Création de la table de faits GO
Dans cet exemple simplifié d'un véritable entrepôt de données, vous allez créer une seule table de
faits. 3. Modifier la table de faits InternetSales pour ajouter des contraintes de clés étrangères des
relations avec les trois dimensions.
1. Créer la table de faits InternetSales. Ajouter les clés étrangères des trois dimensions créées dans
les étapes précédentes. Ajouter une colonne integer en utilisant la propriété IDENTITY, et ALTER TABLE dbo.InternetSales ADD CONSTRAINT
l'utiliser comme clé primaire. Utilisez le tableau suivant pour les informations nécessaires pour FK_InternetSales_Customers FOREIGN KEY(CustomerKey)
REFERENCES dbo.Customers (CustomerKey);
définir les colonnes de la table et remplir la table.
ALTER TABLE dbo.InternetSales ADD CONSTRAINT
FK_InternetSales_Products FOREIGN KEY(ProductKey)
Nom de la colonne Type de donnée Nullability Remarques REFERENCES dbo.Products (ProductKey);
ALTER TABLE dbo.InternetSales ADD CONSTRAINT
InternetSalesKey INT NOT NULL IDENTITY(1,1)
FK_InternetSales_Dates FOREIGN KEY(DateKey)
REFERENCES dbo.Dates (DateKey);
CustomerKey INT NOT NULL GO
ProductKey INT NOT NULL 4. Créer un schéma de base de données, comme le montre la figure suivante. Le nommer
InternetSalesDW et l'enregistrer.
DateKey INT NOT NULL
OrderQuantity SMALLINT NOT NULL Default 0
SalesAmount MONEY NOT NULL Default 0
UnitPrice MONEY NOT NULL Default 0
DiscountAmount FLOAT NOT NULL Default 0
2. Le code pour créer la table de faits « InternetSales» devrait être similaire au code suivant.
Datawarehouse Datawarehouse