Advertisement
redandwhite

Untitled

May 1st, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.26 KB | None | 0 0
  1. CREATE DATABASE `munchies_dw`;
  2.  
  3. USE `munchies_dw`;
  4.  
  5. CREATE TABLE `client` (
  6.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  7.   `name` VARCHAR(45) NOT NULL,
  8.   `location` VARCHAR(45) DEFAULT NULL,
  9.   PRIMARY KEY (`id`),
  10.   UNIQUE KEY `id_UNIQUE` (`id`)
  11. )
  12.  
  13. CREATE TABLE `damaged_goods` (
  14.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  15.   `damage_type` VARCHAR(45) NOT NULL,
  16.   PRIMARY KEY (`id`),
  17.   UNIQUE KEY `id_UNIQUE` (`id`)
  18. )
  19.  
  20. CREATE TABLE `employee` (
  21.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  22.   `employee_type` VARCHAR(45) NOT NULL,
  23.   `name` VARCHAR(45) NOT NULL,
  24.   `surname` VARCHAR(45) NOT NULL,
  25.   PRIMARY KEY (`id`),
  26.   UNIQUE KEY `id_UNIQUE` (`id`)
  27. )
  28.  
  29. CREATE TABLE `fact_expenses` (
  30.   `date_timestamp` datetime NOT NULL,
  31.   `employee_id` INT(11) DEFAULT NULL,
  32.   `van_id` INT(11) DEFAULT NULL,
  33.   `fuel_allowance` DECIMAL(7,2) DEFAULT NULL,
  34.   `van_maintenance` DECIMAL(7,2) DEFAULT NULL,
  35.   `company_car_lease` DECIMAL(7,2) DEFAULT NULL,
  36.   `total_depreciation_to_date` DECIMAL(7,2) DEFAULT NULL,
  37.   `total_sales` DECIMAL(10,2) DEFAULT NULL,
  38.   `telephone_expenses` DECIMAL(7,2) DEFAULT NULL,
  39.   `utility_expenses` DECIMAL(7,2) DEFAULT NULL,
  40.   `marketing_expense` DECIMAL(7,2) DEFAULT NULL,
  41.   `employee_commission` DECIMAL(7,2) DEFAULT NULL,
  42.   `employee_wage` DECIMAL(7,2) DEFAULT NULL,
  43.   PRIMARY KEY (`date_timestamp`),
  44.   KEY `fact_expenses_date_timestamp` (`date_timestamp`),
  45.   KEY `fact_expenses_employee_id` (`employee_id`),
  46.   KEY `fact_expenses_van_id` (`van_id`),
  47.   CONSTRAINT `fact_expenses_date_timestamp` FOREIGN KEY (`date_timestamp`) REFERENCES `transaction_date` (`date_timestamp`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  48.   CONSTRAINT `fact_expenses_employee_id` FOREIGN KEY (`employee_id`) REFERENCES `employee` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  49.   CONSTRAINT `fact_expenses_van_id` FOREIGN KEY (`van_id`) REFERENCES `van` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
  50. )
  51.  
  52. CREATE TABLE `fact_inventory` (
  53.   `date_timestamp` datetime NOT NULL,
  54.   `product_id` INT(11) DEFAULT NULL,
  55.   `damaged_goods_id` INT(11) DEFAULT NULL,
  56.   `client_id` INT(11) DEFAULT NULL,
  57.   `damaged_quantity` INT(11) DEFAULT NULL,
  58.   `standard_purchase_price` DECIMAL(6,2) DEFAULT NULL,
  59.   `average_purchase_price` DECIMAL(6,2) DEFAULT NULL,
  60.   PRIMARY KEY (`date_timestamp`),
  61.   KEY `fact_inventory_date_timestamp` (`date_timestamp`),
  62.   KEY `fact_inventory_product_id` (`product_id`),
  63.   KEY `fact_inventory_damaged_goods_id` (`damaged_goods_id`),
  64.   KEY `fact_inventory_client_id` (`client_id`),
  65.   CONSTRAINT `fact_inventory_date_timestamp` FOREIGN KEY (`date_timestamp`) REFERENCES `transaction_date` (`date_timestamp`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  66.   CONSTRAINT `fact_inventory_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  67.   CONSTRAINT `fact_inventory_damaged_goods_id` FOREIGN KEY (`damaged_goods_id`) REFERENCES `damaged_goods` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  68.   CONSTRAINT `fact_inventory_client_id` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
  69. )
  70.  
  71. CREATE TABLE `fact_promotion` (
  72.   `date_timestamp` datetime NOT NULL,
  73.   `promotion_id` INT(11) DEFAULT NULL,
  74.   `product_id` INT(11) DEFAULT NULL,
  75.   `total_profit` DECIMAL(10,2) DEFAULT NULL,
  76.   `marketing_cost` DECIMAL(7,2) DEFAULT NULL,
  77.   `total_sales` DECIMAL(10,2) DEFAULT NULL,
  78.   PRIMARY KEY (`date_timestamp`),
  79.   KEY `fact_promotion_date_timestamp` (`date_timestamp`),
  80.   KEY `fact_promotion_promotion_id` (`promotion_id`),
  81.   KEY `fact_promotion_product_id` (`product_id`),
  82.   CONSTRAINT `fact_promotion_date_timestamp` FOREIGN KEY (`date_timestamp`) REFERENCES `transaction_date` (`date_timestamp`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  83.   CONSTRAINT `fact_promotion_promotion_id` FOREIGN KEY (`promotion_id`) REFERENCES `promotion` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  84.   CONSTRAINT `fact_promotion_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
  85. )
  86.  
  87. CREATE TABLE `fact_sales` (
  88.   `date_timestamp` datetime NOT NULL,
  89.   `product_id` INT(11) DEFAULT NULL,
  90.   `client_id` INT(11) DEFAULT NULL,
  91.   `sales_id` INT(11) DEFAULT NULL,
  92.   `sales_total` DECIMAL(8,2) DEFAULT NULL,
  93.   `quantity` INT(11) DEFAULT NULL,
  94.   `purchases_total` DECIMAL(8,2) DEFAULT NULL,
  95.   `standard_purchase_price` DECIMAL(6,2) DEFAULT NULL,
  96.   `standard_selling_price` DECIMAL(6,2) DEFAULT NULL,
  97.   `average_purchase_price` DECIMAL(6,2) DEFAULT NULL,
  98.   `average_selling_price` DECIMAL(6,2) DEFAULT NULL,
  99.   KEY `fact_sales_date_timestamp` (`date_timestamp`),
  100.   KEY `fact_sales_product_id` (`product_id`),
  101.   KEY `fact_sales_client_id` (`client_id`),
  102.   KEY `fact_sales_sales_id` (`sales_id`),
  103.   CONSTRAINT `fact_sales_date_timestamp` FOREIGN KEY (`date_timestamp`) REFERENCES `transaction_date` (`date_timestamp`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  104.   CONSTRAINT `fact_sales_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  105.   CONSTRAINT `fact_sales_client_id` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  106.   CONSTRAINT `fact_sales_sales_id` FOREIGN KEY (`sales_id`) REFERENCES `sales` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
  107. )
  108.  
  109. CREATE TABLE `product` (
  110.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  111.   `name` VARCHAR(45) NOT NULL,
  112.   `brand` VARCHAR(45) NOT NULL,
  113.   PRIMARY KEY (`id`),
  114.   UNIQUE KEY `id_UNIQUE` (`id`)
  115. )
  116.  
  117. CREATE TABLE `promotion` (
  118.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  119.   `name` VARCHAR(45) NOT NULL,
  120.   `promotion_month` INT(11) NOT NULL,
  121.   `promotion_year` INT(11) NOT NULL,
  122.   `clients_offered` VARCHAR(45) NOT NULL,
  123.   PRIMARY KEY (`id`),
  124.   UNIQUE KEY `id_UNIQUE` (`id`)
  125. )
  126.  
  127. CREATE TABLE `sales` (
  128.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  129.   `employee_id` INT(11) NOT NULL,
  130.   PRIMARY KEY (`id`),
  131.   UNIQUE KEY `id_UNIQUE` (`id`)
  132. )
  133.  
  134. CREATE TABLE `transaction_date` (
  135.   `date_timestamp` datetime NOT NULL,
  136.   `date_year` INT(11) NOT NULL,
  137.   `date_quarter` INT(11) NOT NULL,
  138.   `date_month` INT(11) NOT NULL,
  139.   `date_week` INT(11) NOT NULL,
  140.   `date_day` INT(11) NOT NULL,
  141.   PRIMARY KEY (`date_timestamp`),
  142.   UNIQUE KEY `date_timestamp_UNIQUE` (`date_timestamp`)
  143. )
  144.  
  145. CREATE TABLE `van` (
  146.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  147.   `plate` VARCHAR(6) NOT NULL,
  148.   `description` VARCHAR(45) DEFAULT NULL,
  149.   PRIMARY KEY (`id`),
  150.   UNIQUE KEY `id_UNIQUE` (`id`),
  151.   UNIQUE KEY `plate_UNIQUE` (`plate`)
  152. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement