帮我写一份DW代码
当然可以!以下是一个简单的DW(Data Warehouse)代码示例,用于创建和加载一个简单的维度表和事实表:
-- 创建维度表
CREATE TABLE dim_product (
product_id INT,
product_name VARCHAR(100),
category VARCHAR(50),
price DECIMAL(10,2),
PRIMARY KEY (product_id)
);
CREATE TABLE dim_date (
date_id INT,
date DATE,
year INT,
month INT,
day INT,
PRIMARY KEY (date_id)
);
-- 创建事实表
CREATE TABLE fact_sales (
sales_id INT,
product_id INT,
date_id INT,
quantity INT,
amount DECIMAL(10,2),
PRIMARY KEY (sales_id),
FOREIGN KEY (product_id) REFERENCES dim_product(product_id),
FOREIGN KEY (date_id) REFERENCES dim_date(date_id)
);
-- 加载维度表数据
INSERT INTO dim_product (product_id, product_name, category, price)
VALUES
(1, 'Product A', 'Category 1', 10.50),
(2, 'Product B', 'Category 2', 20.25),
(3, 'Product C', 'Category 1', 15.75);
INSERT INTO dim_date (date_id, date, year, month, day)
VALUES
(1, '2022-01-01', 2022, 1, 1),
(2, '2022-01-02', 2022, 1, 2),
(3, '2022-01-03', 2022, 1, 3);
-- 加载事实表数据
INSERT INTO fact_sales (sales_id, product_id, date_id, quantity, amount)
VALUES
(1, 1, 1, 5, 52.50),
(2, 2, 1, 3, 60.75),
(3, 1, 2, 2, 21.00);
上述代码示例中,首先创建了两个维度表:dim_product(产品维度表)和dim_date(日期维度表),并定义了它们的列和主键。然后,创建了一个事实表fact_sales(销售事实表),并定义了它与维度表之间的外键关系。
接下来,使用INSERT INTO语句向维度表和事实表中插入示例数据。
这只是一个简单的示例,实际的DW代码可能更加复杂,涉及到更多的表和关系。希望对你有所帮助!如有更多问题,请随时提问
原文地址: https://www.cveoy.top/t/topic/hJdR 著作权归作者所有。请勿转载和采集!