From 3130d0a666d7adfc9b0490ca4e79a19ebe9118a3 Mon Sep 17 00:00:00 2001 From: eruizsqldbm Date: Wed, 22 Jan 2025 10:09:22 -0700 Subject: [PATCH] Generated by SqlDBM: Snowflake Demo - v16 by "eric.ruiz+yew@sqldbm.com" --- migrations/SqlDBM/V16__Snowflake_Demo_V16.sql | 737 ++++++++++++++++++ 1 file changed, 737 insertions(+) create mode 100644 migrations/SqlDBM/V16__Snowflake_Demo_V16.sql diff --git a/migrations/SqlDBM/V16__Snowflake_Demo_V16.sql b/migrations/SqlDBM/V16__Snowflake_Demo_V16.sql new file mode 100644 index 0000000..672a1b2 --- /dev/null +++ b/migrations/SqlDBM/V16__Snowflake_Demo_V16.sql @@ -0,0 +1,737 @@ +-- ************************** SqlDBM: Snowflake ************************* +-- *** Generated by SqlDBM: Snowflake Demo by eric.ruiz+yew@sqldbm.com ** + + +-- ************************************** SUPPLYCHAIN.ACCESS_LEVEL +CREATE TAG SUPPLYCHAIN.ACCESS_LEVEL ALLOWED_VALUES 'RESTRICTED'; + +-- ************************************** SUPPLYCHAIN.DATA_OWNER +CREATE TAG SUPPLYCHAIN.DATA_OWNER ALLOWED_VALUES 'SUPPLYCHAINTEAM'; + +-- ************************************** SUPPLYCHAIN.PII +CREATE TAG SUPPLYCHAIN.PII ALLOWED_VALUES 'NO', 'YES'; + +-- ************************************** SUPPLYCHAIN.RETENTION_PERIOD +CREATE TAG SUPPLYCHAIN.RETENTION_PERIOD ALLOWED_VALUES '7 YEARS'; + +-- ************************************** SUPPLYCHAIN.WAREHOUSEZONEDIM_T +CREATE TABLE SUPPLYCHAIN.WAREHOUSEZONEDIM_T +( + ZONEKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ZoneKey'' column contains data related to ''zonekey''.', + WAREHOUSEKEY number(38,0) COMMENT 'The ''WarehouseKey'' column contains data related to ''warehousekey''.', + ZONENAME varchar(100) COMMENT 'The ''ZoneName'' column contains data related to ''zonename''. This column holds name-related data.', + ZONEFUNCTION varchar(100) COMMENT 'The ''ZoneFunction'' column contains data related to ''zonefunction''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( ZONEKEY ) +); + +-- ************************************** SUPPLYCHAIN.WAREHOUSEMAINTENANCEFACT_T +CREATE TABLE SUPPLYCHAIN.WAREHOUSEMAINTENANCEFACT_T +( + MAINTENANCEID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''MaintenanceID'' column contains data related to ''maintenanceid''. This column likely represents an identifier.', + WAREHOUSEKEY number(38,0) COMMENT 'The ''WarehouseKey'' column contains data related to ''warehousekey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + MAINTENANCETYPE varchar(50) COMMENT 'The ''MaintenanceType'' column contains data related to ''maintenancetype''.', + MAINTENANCECOST number(10,2) COMMENT 'The ''MaintenanceCost'' column contains data related to ''maintenancecost''.', + MAINTENANCEDURATIONHOURS number(5,2) COMMENT 'The ''MaintenanceDurationHours'' column contains data related to ''maintenancedurationhours''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( MAINTENANCEID ) +); + +-- ************************************** SUPPLYCHAIN.WAREHOUSE_T +CREATE TABLE SUPPLYCHAIN.WAREHOUSE_T +( + WAREHOUSEID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''WarehouseID'' column contains data related to ''warehouseid''. This column likely represents an identifier.', + WAREHOUSENAME varchar(255) NOT NULL COMMENT 'The ''WarehouseName'' column contains data related to ''warehousename''. This column holds name-related data.', + Address string NOT NULL, -- From template: "Template" + CITY varchar(100) COMMENT 'The ''City'' column contains data related to ''city''.', + STATE varchar(100) COMMENT 'The ''State'' column contains data related to ''state''.', + ZIPCODE varchar(20) COMMENT 'The ''ZipCode'' column contains data related to ''zipcode''.', + COUNTRY varchar(100) COMMENT 'The ''Country'' column contains data related to ''country''.', + MANAGERNAME varchar(255) COMMENT 'The ''ManagerName'' column contains data related to ''managername''. This column holds name-related data.', + CAPACITY number(38,0) COMMENT 'The ''Capacity'' column contains data related to ''capacity''.', + + CONSTRAINT PK_1 PRIMARY KEY ( WAREHOUSEID ) +) WITH TAG (SUPPLYCHAIN.RETENTION_PERIOD = '7 YEARS'); + +-- ************************************** SUPPLYCHAIN.USERDIM_T +CREATE TABLE SUPPLYCHAIN.USERDIM_T +( + USERID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''UserID'' column contains data related to ''userid''. This column likely represents an identifier.', + FIRSTNAME varchar(100) COMMENT 'The ''FirstName'' column contains data related to ''firstname''. This column holds name-related data.', + LASTNAME varchar(100) COMMENT 'The ''LastName'' column contains data related to ''lastname''. This column holds name-related data.', + EMAIL varchar(255) COMMENT 'The ''Email'' column contains data related to ''email''.', + ROLE varchar(50) COMMENT 'The ''Role'' column contains data related to ''role''.', + HIREDATE date COMMENT 'The ''HireDate'' column contains data related to ''hiredate''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( USERID ) +); + +-- ************************************** SUPPLYCHAIN.TRANSPORTVEHICLEDIM_T +CREATE TABLE SUPPLYCHAIN.TRANSPORTVEHICLEDIM_T +( + VEHICLEKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''VehicleKey'' column contains data related to ''vehiclekey''.', + VEHICLEID varchar(100) COMMENT 'The ''VehicleID'' column contains data related to ''vehicleid''. This column likely represents an identifier.', + VEHICLETYPE varchar(100) COMMENT 'The ''VehicleType'' column contains data related to ''vehicletype''.', + CAPACITY number(38,0) COMMENT 'The ''Capacity'' column contains data related to ''capacity''.', + LICENSEPLATE varchar(20) COMMENT 'The ''LicensePlate'' column contains data related to ''licenseplate''.', + OPERATORNAME varchar(100) COMMENT 'The ''OperatorName'' column contains data related to ''operatorname''. This column holds name-related data.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( VEHICLEKEY ) +); + +-- ************************************** TRANSACTION_T +CREATE TABLE TRANSACTION_T +( + TRANS_ID integer NOT NULL, + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( TRANS_ID ) +) WITH TAG (SUPPLYCHAIN.ACCESS_LEVEL = 'RESTRICTED'); + +-- ************************************** SUPPLYCHAIN.SUPPLIERRISKASSESSMENTFACT_T +CREATE TABLE SUPPLYCHAIN.SUPPLIERRISKASSESSMENTFACT_T +( + ASSESSMENTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''AssessmentID'' column contains data related to ''assessmentid''. This column likely represents an identifier.', + SUPPLIERKEY number(38,0) COMMENT 'The ''SupplierKey'' column contains data related to ''supplierkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + RISKLEVEL varchar(50) COMMENT 'The ''RiskLevel'' column contains data related to ''risklevel''.', + ASSESSMENTNOTES varchar(500) COMMENT 'The ''AssessmentNotes'' column contains data related to ''assessmentnotes''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( ASSESSMENTID ) +); + +-- ************************************** SUPPLYCHAIN.SUPPLIERRELATIONSHIPDIM_T +CREATE TABLE SUPPLYCHAIN.SUPPLIERRELATIONSHIPDIM_T +( + SUPPLIERRELATIONSHIPKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''SupplierRelationshipKey'' column contains data related to ''supplierrelationshipkey''.', + SUPPLIERKEY number(38,0) COMMENT 'The ''SupplierKey'' column contains data related to ''supplierkey''.', + RELATIONSHIPTYPE varchar(50) COMMENT 'The ''RelationshipType'' column contains data related to ''relationshiptype''.', + AGREEMENTDETAILS varchar(500) COMMENT 'The ''AgreementDetails'' column contains data related to ''agreementdetails''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( SUPPLIERRELATIONSHIPKEY ) +); + +-- ************************************** SUPPLYCHAIN.SUPPLIERPERFORMANCEFACT_T +CREATE TABLE SUPPLYCHAIN.SUPPLIERPERFORMANCEFACT_T +( + SUPPLIERPERFORMANCEFACTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''SupplierPerformanceFactID'' column contains data related to ''supplierperformancefactid''. This column likely represents an identifier.', + SUPPLIERKEY number(38,0) COMMENT 'The ''SupplierKey'' column contains data related to ''supplierkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + LEADTIME number(38,0) COMMENT 'The ''LeadTime'' column contains data related to ''leadtime''. This column stores information related to dates or times.', + DEFECTRATE number(5,2) COMMENT 'The ''DefectRate'' column contains data related to ''defectrate''.', + ONTIMEDELIVERYRATE number(5,2) COMMENT 'The ''OnTimeDeliveryRate'' column contains data related to ''ontimedeliveryrate''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( SUPPLIERPERFORMANCEFACTID ) +); + +-- ************************************** SUPPLYCHAIN.SUPPLIERPAYMENTTERMSDIM_T +CREATE TABLE SUPPLYCHAIN.SUPPLIERPAYMENTTERMSDIM_T +( + PAYMENTTERMSKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''PaymentTermsKey'' column contains data related to ''paymenttermskey''.', + SUPPLIERKEY number(38,0) COMMENT 'The ''SupplierKey'' column contains data related to ''supplierkey''.', + PAYMENTTERMDESCRIPTION varchar(255) COMMENT 'The ''PaymentTermDescription'' column contains data related to ''paymenttermdescription''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PAYMENTTERMSKEY ) +); + +-- ************************************** SUPPLYCHAIN.SUPPLIER_T +CREATE TABLE SUPPLYCHAIN.SUPPLIER_T +( + SUPPLIERID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''SupplierID'' column contains data related to ''supplierid''. This column likely represents an identifier.', + SUPPLIERNAME varchar(255) NOT NULL COMMENT 'The ''SupplierName'' column contains data related to ''suppliername''. This column holds name-related data.', + CONTACTNAME varchar(255) COMMENT 'The ''ContactName'' column contains data related to ''contactname''. This column holds name-related data.', + CONTACTTITLE varchar(255) COMMENT 'The ''ContactTitle'' column contains data related to ''contacttitle''.', + Address string NOT NULL, -- From template: "Template" + CITY varchar(100) COMMENT 'The ''City'' column contains data related to ''city''.', + STATE varchar(100) COMMENT 'The ''State'' column contains data related to ''state''.', + ZIPCODE varchar(20) COMMENT 'The ''ZipCode'' column contains data related to ''zipcode''.', + COUNTRY varchar(100) COMMENT 'The ''Country'' column contains data related to ''country''.', + PHONE varchar(20) COMMENT 'The ''Phone'' column contains data related to ''phone''.', + EMAIL varchar(100) COMMENT 'The ''Email'' column contains data related to ''email''.', + WEBSITE varchar(100) COMMENT 'The ''Website'' column contains data related to ''website''.', + + CONSTRAINT PK_1 PRIMARY KEY ( SUPPLIERID ) +) WITH TAG (SUPPLYCHAIN.PII = 'YES'); + +-- ************************************** SUPPLYCHAIN.SHIPPINGMETHODDIM_T +CREATE TABLE SUPPLYCHAIN.SHIPPINGMETHODDIM_T +( + SHIPPINGMETHODKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ShippingMethodKey'' column contains data related to ''shippingmethodkey''.', + METHODNAME varchar(255) NOT NULL COMMENT 'The ''MethodName'' column contains data related to ''methodname''. This column holds name-related data.', + CARRIER varchar(255) COMMENT 'The ''Carrier'' column contains data related to ''carrier''.', + ESTIMATEDDELIVERYTIME number(38,0) COMMENT 'The ''EstimatedDeliveryTime'' column contains data related to ''estimateddeliverytime''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( SHIPPINGMETHODKEY ) +); + +-- ************************************** SUPPLYCHAIN.QUALITYCONTROLFACT_T +CREATE TABLE SUPPLYCHAIN.QUALITYCONTROLFACT_T +( + QCID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''QCID'' column contains data related to ''qcid''. This column likely represents an identifier.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + SUPPLIERKEY number(38,0) COMMENT 'The ''SupplierKey'' column contains data related to ''supplierkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + QUANTITYCHECKED number(38,0) COMMENT 'The ''QuantityChecked'' column contains data related to ''quantitychecked''.', + QUANTITYREJECTED number(38,0) COMMENT 'The ''QuantityRejected'' column contains data related to ''quantityrejected''.', + QCNOTES varchar(500) COMMENT 'The ''QCNotes'' column contains data related to ''qcnotes''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( QCID ) +); + +-- ************************************** SUPPLYCHAIN.PRODUCTLIFECYCLEDIM_T +CREATE TABLE SUPPLYCHAIN.PRODUCTLIFECYCLEDIM_T +( + LIFECYCLEKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''LifecycleKey'' column contains data related to ''lifecyclekey''.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + LIFECYCLESTAGE varchar(50) COMMENT 'The ''LifecycleStage'' column contains data related to ''lifecyclestage''.', + EFFECTIVESTARTDATE date COMMENT 'The ''EffectiveStartDate'' column contains data related to ''effectivestartdate''. This column stores information related to dates or times.', + EFFECTIVEENDDATE date COMMENT 'The ''EffectiveEndDate'' column contains data related to ''effectiveenddate''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( LIFECYCLEKEY ) +); + +-- ************************************** SUPPLYCHAIN.PRICINGDIM_T +CREATE TABLE SUPPLYCHAIN.PRICINGDIM_T +( + PRICINGKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''PricingKey'' column contains data related to ''pricingkey''.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + CUSTOMERKEY number(38,0) COMMENT 'The ''CustomerKey'' column contains data related to ''customerkey''.', + PRICETIER varchar(50) COMMENT 'The ''PriceTier'' column contains data related to ''pricetier''. This column represents a numeric value, likely related to amounts or prices.', + UNITPRICE number(10,2) COMMENT 'The ''UnitPrice'' column contains data related to ''unitprice''. This column represents a numeric value, likely related to amounts or prices.', + EFFECTIVESTARTDATE date COMMENT 'The ''EffectiveStartDate'' column contains data related to ''effectivestartdate''. This column stores information related to dates or times.', + EFFECTIVEENDDATE date COMMENT 'The ''EffectiveEndDate'' column contains data related to ''effectiveenddate''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PRICINGKEY ) +); + +-- ************************************** SUPPLYCHAIN.ORDERSTATUSDIM_T +CREATE TABLE SUPPLYCHAIN.ORDERSTATUSDIM_T +( + ORDERSTATUSKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''OrderStatusKey'' column contains data related to ''orderstatuskey''. This column contains status information.', + STATUSDESCRIPTION varchar(255) NOT NULL COMMENT 'The ''StatusDescription'' column contains data related to ''statusdescription''. This column contains status information.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( ORDERSTATUSKEY ) +); + +-- ************************************** SUPPLYCHAIN.ORDERRETURNSPOLICYDIM_T +CREATE TABLE SUPPLYCHAIN.ORDERRETURNSPOLICYDIM_T +( + RETURNSPOLICYKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ReturnsPolicyKey'' column contains data related to ''returnspolicykey''.', + POLICYDESCRIPTION varchar(255) COMMENT 'The ''PolicyDescription'' column contains data related to ''policydescription''.', + RETURNWINDOWDAYS number(38,0) COMMENT 'The ''ReturnWindowDays'' column contains data related to ''returnwindowdays''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( RETURNSPOLICYKEY ) +); + +-- ************************************** SUPPLYCHAIN.ORDERCANCELLATIONREASONDIM_T +CREATE TABLE SUPPLYCHAIN.ORDERCANCELLATIONREASONDIM_T +( + CANCELLATIONREASONKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''CancellationReasonKey'' column contains data related to ''cancellationreasonkey''.', + REASONDESCRIPTION varchar(255) NOT NULL COMMENT 'The ''ReasonDescription'' column contains data related to ''reasondescription''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( CANCELLATIONREASONKEY ) +); + +-- ************************************** SUPPLYCHAIN.INVENTORYSHRINKAGEFACT_T +CREATE TABLE SUPPLYCHAIN.INVENTORYSHRINKAGEFACT_T +( + SHRINKAGEID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ShrinkageID'' column contains data related to ''shrinkageid''. This column likely represents an identifier.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + WAREHOUSEKEY number(38,0) COMMENT 'The ''WarehouseKey'' column contains data related to ''warehousekey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + SHRINKAGEQUANTITY number(38,0) COMMENT 'The ''ShrinkageQuantity'' column contains data related to ''shrinkagequantity''.', + SHRINKAGEREASON varchar(255) COMMENT 'The ''ShrinkageReason'' column contains data related to ''shrinkagereason''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( SHRINKAGEID ) +); + +-- ************************************** SUPPLYCHAIN.INVENTORY_T +CREATE TABLE SUPPLYCHAIN.INVENTORY_T +( + INVENTORYID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''InventoryID'' column contains data related to ''inventoryid''. This column likely represents an identifier.', + QUANTITY number(38,0) NOT NULL COMMENT 'The ''Quantity'' column contains data related to ''quantity''.', + LASTUPDATED date DEFAULT CURRENT_DATE() COMMENT 'The ''LastUpdated'' column contains data related to ''lastupdated''. This column stores information related to dates or times.', + PRODUCTID number(38,0) NOT NULL, + WAREHOUSEID number(38,0) NOT NULL, + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( INVENTORYID ) +) WITH TAG (SUPPLYCHAIN.DATA_OWNER = 'SUPPLYCHAINTEAM'); + +-- ************************************** SUPPLYCHAIN.ENERGYCONSUMPTIONFACT_T +CREATE TABLE SUPPLYCHAIN.ENERGYCONSUMPTIONFACT_T +( + ENERGYID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''EnergyID'' column contains data related to ''energyid''. This column likely represents an identifier.', + WAREHOUSEKEY number(38,0) COMMENT 'The ''WarehouseKey'' column contains data related to ''warehousekey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + ENERGYCONSUMEDKWH number(10,2) COMMENT 'The ''EnergyConsumedKWh'' column contains data related to ''energyconsumedkwh''.', + ENERGYCOST number(10,2) COMMENT 'The ''EnergyCost'' column contains data related to ''energycost''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( ENERGYID ) +); + +-- ************************************** SUPPLYCHAIN.EMPLOYEEPERFORMANCEFACT_T +CREATE TABLE SUPPLYCHAIN.EMPLOYEEPERFORMANCEFACT_T +( + PERFORMANCEID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''PerformanceID'' column contains data related to ''performanceid''. This column likely represents an identifier.', + EMPLOYEEKEY number(38,0) COMMENT 'The ''EmployeeKey'' column contains data related to ''employeekey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + TASKSCOMPLETED number(38,0) COMMENT 'The ''TasksCompleted'' column contains data related to ''taskscompleted''.', + ERRORSMADE number(38,0) COMMENT 'The ''ErrorsMade'' column contains data related to ''errorsmade''.', + PERFORMANCESCORE number(5,2) COMMENT 'The ''PerformanceScore'' column contains data related to ''performancescore''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PERFORMANCEID ) +); + +-- ************************************** SUPPLYCHAIN.EMPLOYEEDIM_T +CREATE TABLE SUPPLYCHAIN.EMPLOYEEDIM_T +( + EMPLOYEEKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''EmployeeKey'' column contains data related to ''employeekey''.', + EMPLOYEEID number(38,0) COMMENT 'The ''EmployeeID'' column contains data related to ''employeeid''. This column likely represents an identifier.', + FIRSTNAME varchar(100) COMMENT 'The ''FirstName'' column contains data related to ''firstname''. This column holds name-related data.', + LASTNAME varchar(100) COMMENT 'The ''LastName'' column contains data related to ''lastname''. This column holds name-related data.', + JOBTITLE varchar(100) COMMENT 'The ''JobTitle'' column contains data related to ''jobtitle''.', + DEPARTMENT varchar(100) COMMENT 'The ''Department'' column contains data related to ''department''.', + HIREDATE date COMMENT 'The ''HireDate'' column contains data related to ''hiredate''. This column stores information related to dates or times.', + TERMINATIONDATE date COMMENT 'The ''TerminationDate'' column contains data related to ''terminationdate''. This column stores information related to dates or times.', + SUPERVISORID number(38,0) COMMENT 'The ''SupervisorID'' column contains data related to ''supervisorid''. This column likely represents an identifier.', + Address string NOT NULL -- From template: "Template" + +); + +-- ************************************** dim_TRANSACTION_T +CREATE TABLE dim_TRANSACTION_T +( + TRANS_ID integer NOT NULL, + from_dts timestamp_ntz(9) NOT NULL, + to_dts timestamp_ntz(9) NOT NULL, + Address string NOT NULL, -- From template: "Template" + load_dts timestamp_ntz(9) NOT NULL, + + CONSTRAINT PK_1 PRIMARY KEY ( TRANS_ID, from_dts ) +); + +-- ************************************** SUPPLYCHAIN.DATEDIM_T +CREATE TABLE SUPPLYCHAIN.DATEDIM_T +( + DATEKEY date NOT NULL COMMENT 'Primary key for the date dimension, usually in YYYY-MM-DD format.', + FULLDATE date COMMENT 'The full date value.', + DAY number(38,0) COMMENT 'Day of the month (1-31).', + DAYSUFFIX varchar(4) COMMENT 'Suffix for the day (st, nd, rd, th).', + DAYNAME varchar(10) COMMENT 'Name of the day (Monday, Tuesday, etc.).', + WEEKDAYWEEKENDFLAG varchar(10) COMMENT 'Indicates whether the date is a weekday or weekend.', + ISHOLIDAY boolean COMMENT 'Indicates if the date is a holiday (true/false).', + WEEKNUMBEROFYEAR number(38,0) COMMENT 'The week number of the year.', + MONTH number(38,0) COMMENT 'Month number (1-12).', + MONTHNAME varchar(20) COMMENT 'Full name of the month (January, February, etc.).', + QUARTER number(38,0) COMMENT 'Quarter of the year (1-4).', + QUARTERNAME varchar(20) COMMENT 'Full name of the quarter (Q1, Q2, Q3, Q4).', + YEAR number(38,0) COMMENT 'The full year (e.g., 2023).', + FISCALYEAR number(38,0) COMMENT 'Fiscal year associated with the date.', + FISCALQUARTER number(38,0) COMMENT 'Fiscal quarter (1-4).', + FISCALMONTH number(38,0) COMMENT 'Fiscal month (1-12).', + ISWEEKEND boolean COMMENT 'Indicates if the date is on a weekend (true/false).', + ISWORKDAY boolean COMMENT 'Indicates if the date is a working day (true/false).', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT DATEKEY PRIMARY KEY ( DATEKEY ) +) +COMMENT = 'Date dimension table for time-related analysis'; + +-- ************************************** SUPPLYCHAIN.CUSTOMERLOYALTYPROGRAMDIM_T +CREATE TABLE SUPPLYCHAIN.CUSTOMERLOYALTYPROGRAMDIM_T +( + LOYALTYPROGRAMKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''LoyaltyProgramKey'' column contains data related to ''loyaltyprogramkey''.', + CUSTOMERKEY number(38,0) COMMENT 'The ''CustomerKey'' column contains data related to ''customerkey''.', + PROGRAMNAME varchar(100) COMMENT 'The ''ProgramName'' column contains data related to ''programname''. This column holds name-related data.', + REWARDPOINTS number(38,0) COMMENT 'The ''RewardPoints'' column contains data related to ''rewardpoints''.', + PROGRAMSTARTDATE date COMMENT 'The ''ProgramStartDate'' column contains data related to ''programstartdate''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( LOYALTYPROGRAMKEY ) +); + +-- ************************************** SUPPLYCHAIN.CUSTOMERFEEDBACKFACT_T +CREATE TABLE SUPPLYCHAIN.CUSTOMERFEEDBACKFACT_T +( + FEEDBACKID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''FeedbackID'' column contains data related to ''feedbackid''. This column likely represents an identifier.', + CUSTOMERKEY number(38,0) COMMENT 'The ''CustomerKey'' column contains data related to ''customerkey''.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + FEEDBACKRATING number(38,0) COMMENT 'The ''FeedbackRating'' column contains data related to ''feedbackrating''.', + FEEDBACKCOMMENTS varchar(500) COMMENT 'The ''FeedbackComments'' column contains data related to ''feedbackcomments''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( FEEDBACKID ) +); + +-- ************************************** SUPPLYCHAIN.CUSTOMER_T +CREATE TABLE SUPPLYCHAIN.CUSTOMER_T +( + CUSTOMERID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''CustomerID'' column contains data related to ''customerid''. This column likely represents an identifier.', + CUSTOMERNAME varchar(255) NOT NULL WITH TAG (SUPPLYCHAIN.PII = 'YES') COMMENT 'The ''CustomerName'' column contains data related to ''customername''. This column holds name-related data.', + CONTACTNAME varchar(255) COMMENT 'The ''ContactName'' column contains data related to ''contactname''. This column holds name-related data.', + CONTACTTITLE varchar(255) COMMENT 'The ''ContactTitle'' column contains data related to ''contacttitle''.', + Address string NOT NULL, -- From template: "Template" + CITY varchar(100) COMMENT 'The ''City'' column contains data related to ''city''.', + STATE varchar(100) COMMENT 'The ''State'' column contains data related to ''state''.', + ZIPCODE varchar(20) COMMENT 'The ''ZipCode'' column contains data related to ''zipcode''.', + COUNTRY varchar(100) COMMENT 'The ''Country'' column contains data related to ''country''.', + PHONE varchar(20) COMMENT 'The ''Phone'' column contains data related to ''phone''.', + EMAIL varchar(100) COMMENT 'The ''Email'' column contains data related to ''email''.', + CUSTOMERTYPE varchar(100) COMMENT 'The ''CustomerType'' column contains data related to ''customertype''.', + + CONSTRAINT PK_1 PRIMARY KEY ( CUSTOMERID ) +) WITH TAG (SUPPLYCHAIN.PII = 'YES'); + +-- ************************************** SUPPLYCHAIN.CATEGORYDIM_T +CREATE TABLE SUPPLYCHAIN.CATEGORYDIM_T +( + CATEGORYKEY number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''CategoryKey'' column contains data related to ''categorykey''.', + CATEGORYNAME varchar(255) NOT NULL COMMENT 'The ''CategoryName'' column contains data related to ''categoryname''. This column holds name-related data.', + DESCRIPTION varchar(500) COMMENT 'The ''Description'' column contains data related to ''description''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( CATEGORYKEY ) +); + +-- ************************************** "43_T" +CREATE TABLE "43_T" +( + +); + +-- ************************************** SUPPLYCHAIN.WAREHOUSEOPERATIONSFACT_T +CREATE TABLE SUPPLYCHAIN.WAREHOUSEOPERATIONSFACT_T +( + WAREHOUSEOPERATIONID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The unique identifier for warehouse operation.', + WAREHOUSEKEY number(38,0) COMMENT 'References the warehouse in the WarehouseDim table.', + ZONEKEY number(38,0) COMMENT 'References the zone in the WarehouseZoneDim table.', + VEHICLEKEY number(38,0) COMMENT 'References the vehicle in the TransportVehicleDim table.', + DATEKEY date COMMENT 'Date of the operation.', + TOTALMAINTENANCECOST number(10,2) COMMENT 'Total maintenance cost for the warehouse on a given day.', + ENERGYCONSUMEDKWH number(10,2) COMMENT 'Total energy consumption for the warehouse on a given day.', + VEHICLEUSAGEHOURS number(5,2) COMMENT 'Total vehicle usage hours for the warehouse on a given day.', + TOTALEMPLOYEESINVOLVED number(38,0) COMMENT 'Number of employees involved in warehouse operations on a given day.', + TASKSCOMPLETED number(38,0) COMMENT 'Total number of tasks completed in the warehouse on a given day.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_WAREHOUSEOPERATIONSFACT PRIMARY KEY ( WAREHOUSEOPERATIONID ), + CONSTRAINT FK_DATEKEY FOREIGN KEY ( DATEKEY ) REFERENCES SUPPLYCHAIN.DATEDIM_T ( DATEKEY ), + CONSTRAINT FK_VEHICLEKEY FOREIGN KEY ( VEHICLEKEY ) REFERENCES SUPPLYCHAIN.TRANSPORTVEHICLEDIM_T ( VEHICLEKEY ), + CONSTRAINT FK_WAREHOUSEKEY FOREIGN KEY ( WAREHOUSEKEY ) REFERENCES SUPPLYCHAIN.WAREHOUSE_T ( WAREHOUSEID ), + CONSTRAINT FK_ZONEKEY FOREIGN KEY ( ZONEKEY ) REFERENCES SUPPLYCHAIN.WAREHOUSEZONEDIM_T ( ZONEKEY ) +) +COMMENT = 'This table is designed to provide detailed information about each date, including breakdowns of years, months, weeks, and more. This is commonly used in data warehouses for time-based analysis.'; + +-- ************************************** SUPPLYCHAIN.SUPPLIERPAYMENTS_T +CREATE TABLE SUPPLYCHAIN.SUPPLIERPAYMENTS_T +( + PAYMENTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''PaymentID'' column contains data related to ''paymentid''. This column likely represents an identifier.', + PAYMENTDATE date NOT NULL COMMENT 'The ''PaymentDate'' column contains data related to ''paymentdate''. This column stores information related to dates or times.', + AMOUNT number(15,2) NOT NULL COMMENT 'The ''Amount'' column contains data related to ''amount''. This column represents a numeric value, likely related to amounts or prices.', + PAYMENTMETHOD varchar(50) COMMENT 'The ''PaymentMethod'' column contains data related to ''paymentmethod''.', + PAYMENTREFERENCE varchar(100) COMMENT 'The ''PaymentReference'' column contains data related to ''paymentreference''.', + SUPPLIERID number(38,0) NOT NULL COMMENT 'The ''SupplierID'' column contains data related to ''supplierid''. This column likely represents an identifier.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PAYMENTID ), + CONSTRAINT FK_15 FOREIGN KEY ( SUPPLIERID ) REFERENCES SUPPLYCHAIN.SUPPLIER_T ( SUPPLIERID ) +) WITH TAG (SUPPLYCHAIN.ACCESS_LEVEL = 'RESTRICTED'); + +-- ************************************** SUPPLYCHAIN.SHIPMENT_T +CREATE TABLE SUPPLYCHAIN.SHIPMENT_T +( + SHIPMENTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ShipmentID'' column contains data related to ''shipmentid''. This column likely represents an identifier.', + WAREHOUSEID number(38,0) NOT NULL COMMENT 'The ''WarehouseID'' column contains data related to ''warehouseid''. This column likely represents an identifier.', + SHIPMENTDATE date NOT NULL COMMENT 'The ''ShipmentDate'' column contains data related to ''shipmentdate''. This column stores information related to dates or times.', + EXPECTEDARRIVALDATE date COMMENT 'The ''ExpectedArrivalDate'' column contains data related to ''expectedarrivaldate''. This column stores information related to dates or times.', + SHIPMENTSTATUS varchar(50) COMMENT 'The ''ShipmentStatus'' column contains data related to ''shipmentstatus''. This column contains status information.', + SHIPPINGCARRIER varchar(100) COMMENT 'The ''ShippingCarrier'' column contains data related to ''shippingcarrier''.', + TRACKINGNUMBER varchar(50) COMMENT 'The ''TrackingNumber'' column contains data related to ''trackingnumber''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( SHIPMENTID ), + CONSTRAINT FK_9 FOREIGN KEY ( WAREHOUSEID ) REFERENCES SUPPLYCHAIN.WAREHOUSE_T ( WAREHOUSEID ) +); + +-- ************************************** SUPPLYCHAIN.PURCHASEORDER_T +CREATE TABLE SUPPLYCHAIN.PURCHASEORDER_T +( + PURCHASEORDERID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''PurchaseOrderID'' column contains data related to ''purchaseorderid''. This column likely represents an identifier.', + ORDERDATE date NOT NULL COMMENT 'The ''OrderDate'' column contains data related to ''orderdate''. This column stores information related to dates or times.', + DELIVERYDATE date COMMENT 'The ''DeliveryDate'' column contains data related to ''deliverydate''. This column stores information related to dates or times.', + STATUS varchar(50) NOT NULL COMMENT 'The ''Status'' column contains data related to ''status''. This column contains status information.', + TOTALAMOUNT number(15,2) COMMENT 'The ''TotalAmount'' column contains data related to ''totalamount''. This column represents a numeric value, likely related to amounts or prices.', + SUPPLIERID number(38,0) NOT NULL COMMENT 'The ''SupplierID'' column contains data related to ''supplierid''. This column likely represents an identifier.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PURCHASEORDERID ), + CONSTRAINT FK_16 FOREIGN KEY ( SUPPLIERID ) REFERENCES SUPPLYCHAIN.SUPPLIER_T ( SUPPLIERID ) +); + +-- ************************************** SUPPLYCHAIN.PRODUCT_T +CREATE TABLE SUPPLYCHAIN.PRODUCT_T +( + PRODUCTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ProductID'' column contains data related to ''productid''. This column likely represents an identifier.', + SUPPLIERID number(38,0) NOT NULL COMMENT 'The ''SupplierID'' column contains data related to ''supplierid''. This column likely represents an identifier.', + PRODUCTNAME varchar(255) NOT NULL COMMENT 'The ''ProductName'' column contains data related to ''productname''. This column holds name-related data.', + CATEGORY varchar(100) COMMENT 'The ''Category'' column contains data related to ''category''.', + UNITPRICE number(10,2) COMMENT 'The ''UnitPrice'' column contains data related to ''unitprice''. This column represents a numeric value, likely related to amounts or prices.', + UNITSINSTOCK number(38,0) COMMENT 'The ''UnitsInStock'' column contains data related to ''unitsinstock''.', + UNITSONORDER number(38,0) COMMENT 'The ''UnitsOnOrder'' column contains data related to ''unitsonorder''.', + REORDERLEVEL number(38,0) COMMENT 'The ''ReorderLevel'' column contains data related to ''reorderlevel''.', + DISCONTINUED boolean DEFAULT FALSE COMMENT 'The ''Discontinued'' column contains data related to ''discontinued''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( PRODUCTID ), + CONSTRAINT FK_12 FOREIGN KEY ( SUPPLIERID ) REFERENCES SUPPLYCHAIN.SUPPLIER_T ( SUPPLIERID ) +); + +-- ************************************** SUPPLYCHAIN.FORECASTINGFACT_T +CREATE TABLE SUPPLYCHAIN.FORECASTINGFACT_T +( + FORECASTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ForecastID'' column contains data related to ''forecastid''. This column likely represents an identifier.', + SHRINKAGEID number(38,0) NOT NULL COMMENT 'The ''ShrinkageID'' column contains data related to ''shrinkageid''. This column likely represents an identifier.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + WAREHOUSEKEY number(38,0) COMMENT 'The ''WarehouseKey'' column contains data related to ''warehousekey''.', + FORECASTEDDEMAND number(38,0) COMMENT 'The ''ForecastedDemand'' column contains data related to ''forecasteddemand''.', + ACTUALDEMAND number(38,0) COMMENT 'The ''ActualDemand'' column contains data related to ''actualdemand''.', + FORECASTACCURACY number(5,2) COMMENT 'The ''ForecastAccuracy'' column contains data related to ''forecastaccuracy''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( FORECASTID, SHRINKAGEID ), + CONSTRAINT FK_1 FOREIGN KEY ( SHRINKAGEID ) REFERENCES SUPPLYCHAIN.INVENTORYSHRINKAGEFACT_T ( SHRINKAGEID ) +); + +-- ************************************** SUPPLYCHAIN.AUDITLOGFACT_T +CREATE TABLE SUPPLYCHAIN.AUDITLOGFACT_T +( + USERID number(38,0) NOT NULL COMMENT 'The ''UserID'' column contains data related to ''userid''. This column likely represents an identifier.', + AUDITID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''AuditID'' column contains data related to ''auditid''. This column likely represents an identifier.', + ACTION varchar(255) COMMENT 'The ''Action'' column contains data related to ''action''.', + ACTIONDATE date COMMENT 'The ''ActionDate'' column contains data related to ''actiondate''. This column stores information related to dates or times.', + ACTIONTIME timestamp_ntz(9) COMMENT 'The ''ActionTime'' column contains data related to ''actiontime''. This column stores information related to dates or times.', + ENTITYAFFECTED varchar(100) COMMENT 'The ''EntityAffected'' column contains data related to ''entityaffected''.', + ENTITYID number(38,0) COMMENT 'The ''EntityID'' column contains data related to ''entityid''. This column likely represents an identifier.', + NOTES varchar(500) COMMENT 'The ''Notes'' column contains data related to ''notes''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT FK_18 FOREIGN KEY ( USERID ) REFERENCES SUPPLYCHAIN.USERDIM_T ( USERID ) +) WITH TAG (SUPPLYCHAIN.ACCESS_LEVEL = 'RESTRICTED'); + +-- ************************************** SUPPLYCHAIN.SHIPPINGINCIDENTFACT_T +CREATE TABLE SUPPLYCHAIN.SHIPPINGINCIDENTFACT_T +( + INCIDENTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''IncidentID'' column contains data related to ''incidentid''. This column likely represents an identifier.', + ZONEKEY number(38,0) NOT NULL COMMENT 'The ''ZoneKey'' column contains data related to ''zonekey''.', + ORDERSTATUSKEY number(38,0) NOT NULL COMMENT 'The ''OrderStatusKey'' column contains data related to ''orderstatuskey''. This column contains status information.', + SHIPMENTID number(38,0) NOT NULL COMMENT 'The ''ShipmentID'' column contains data related to ''shipmentid''. This column likely represents an identifier.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + INCIDENTTYPE varchar(50) COMMENT 'The ''IncidentType'' column contains data related to ''incidenttype''. This column likely represents an identifier.', + RESOLUTION varchar(255) COMMENT 'The ''Resolution'' column contains data related to ''resolution''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( INCIDENTID, ZONEKEY, ORDERSTATUSKEY ), + CONSTRAINT FK_2 FOREIGN KEY ( ZONEKEY ) REFERENCES SUPPLYCHAIN.WAREHOUSEZONEDIM_T ( ZONEKEY ), + CONSTRAINT FK_3 FOREIGN KEY ( ORDERSTATUSKEY ) REFERENCES SUPPLYCHAIN.ORDERSTATUSDIM_T ( ORDERSTATUSKEY ), + CONSTRAINT FK_8 FOREIGN KEY ( SHIPMENTID ) REFERENCES SUPPLYCHAIN.SHIPMENT_T ( SHIPMENTID ) +); + +-- ************************************** SUPPLYCHAIN.ORDERS_T +CREATE TABLE SUPPLYCHAIN.ORDERS_T +( + ORDERID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''OrderID'' column contains data related to ''orderid''. This column likely represents an identifier.', + SHIPMENTID number(38,0) NOT NULL COMMENT 'The ''ShipmentID'' column contains data related to ''shipmentid''. This column likely represents an identifier.', + CUSTOMERID number(38,0) NOT NULL COMMENT 'The ''CustomerID'' column contains data related to ''customerid''. This column likely represents an identifier.', + ORDERDATE date NOT NULL COMMENT 'The ''OrderDate'' column contains data related to ''orderdate''. This column stores information related to dates or times.', + REQUIREDDATE date NOT NULL COMMENT 'The ''RequiredDate'' column contains data related to ''requireddate''. This column stores information related to dates or times.', + SHIPPEDDATE date COMMENT 'The ''ShippedDate'' column contains data related to ''shippeddate''. This column stores information related to dates or times.', + STATUS varchar(50) NOT NULL COMMENT 'The ''Status'' column contains data related to ''status''. This column contains status information.', + TOTALAMOUNT number(15,2) COMMENT 'The ''TotalAmount'' column contains data related to ''totalamount''. This column represents a numeric value, likely related to amounts or prices.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( ORDERID ), + CONSTRAINT FK_19 FOREIGN KEY ( SHIPMENTID ) REFERENCES SUPPLYCHAIN.SHIPMENT_T ( SHIPMENTID ), + CONSTRAINT FK_6 FOREIGN KEY ( CUSTOMERID ) REFERENCES SUPPLYCHAIN.CUSTOMER_T ( CUSTOMERID ) +) WITH TAG (SUPPLYCHAIN.ACCESS_LEVEL = 'RESTRICTED', SUPPLYCHAIN.DATA_OWNER = 'SUPPLYCHAINTEAM'); + +-- ************************************** SUPPLYCHAIN.ENVIRONMENTALIMPACTFACT_T +CREATE TABLE SUPPLYCHAIN.ENVIRONMENTALIMPACTFACT_T +( + IMPACTID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ImpactID'' column contains data related to ''impactid''. This column likely represents an identifier.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + EMISSIONSCO_2_KG number(10,2) COMMENT 'The ''EmissionsCO2Kg'' column contains data related to ''emissionsco2kg''.', + SHIPMENTID number(38,0) NOT NULL COMMENT 'The ''ShipmentID'' column contains data related to ''shipmentid''. This column likely represents an identifier.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( IMPACTID ), + CONSTRAINT FK_13 FOREIGN KEY ( SHIPMENTID ) REFERENCES SUPPLYCHAIN.SHIPMENT_T ( SHIPMENTID ) +); + +-- ************************************** SUPPLYCHAIN.CUSTOMERPAYMENTS_T +CREATE TABLE SUPPLYCHAIN.CUSTOMERPAYMENTS_T +( + PAYMENTDATE date NOT NULL COMMENT 'The ''PaymentDate'' column contains data related to ''paymentdate''. This column stores information related to dates or times.', + AMOUNT number(15,2) NOT NULL COMMENT 'The ''Amount'' column contains data related to ''amount''. This column represents a numeric value, likely related to amounts or prices.', + PAYMENTMETHOD varchar(50) COMMENT 'The ''PaymentMethod'' column contains data related to ''paymentmethod''.', + PAYMENTREFERENCE varchar(100) COMMENT 'The ''PaymentReference'' column contains data related to ''paymentreference''.', + CUSTOMERID number(38,0) NOT NULL COMMENT 'The ''CustomerID'' column contains data related to ''customerid''. This column likely represents an identifier.', + PAYMENTID number(38,0) NOT NULL COMMENT 'The ''PaymentID'' column contains data related to ''paymentid''. This column likely represents an identifier.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT FK_17 FOREIGN KEY ( PAYMENTID ) REFERENCES SUPPLYCHAIN.SUPPLIERPAYMENTS_T ( PAYMENTID ), + CONSTRAINT FK_7 FOREIGN KEY ( CUSTOMERID ) REFERENCES SUPPLYCHAIN.CUSTOMER_T ( CUSTOMERID ) +); + +-- ************************************** SUPPLYCHAIN.PRODUCTRETURNFACT_T +CREATE TABLE SUPPLYCHAIN.PRODUCTRETURNFACT_T +( + RETURNID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''ReturnID'' column contains data related to ''returnid''. This column likely represents an identifier.', + ORDERID number(38,0) NOT NULL COMMENT 'The ''OrderID'' column contains data related to ''orderid''. This column likely represents an identifier.', + PRODUCTKEY number(38,0) COMMENT 'The ''ProductKey'' column contains data related to ''productkey''.', + DATEKEY date COMMENT 'The ''DateKey'' column contains data related to ''datekey''. This column stores information related to dates or times.', + QUANTITYRETURNED number(38,0) COMMENT 'The ''QuantityReturned'' column contains data related to ''quantityreturned''.', + RETURNREASON varchar(255) COMMENT 'The ''ReturnReason'' column contains data related to ''returnreason''.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( RETURNID ), + CONSTRAINT FK_14 FOREIGN KEY ( ORDERID ) REFERENCES SUPPLYCHAIN.ORDERS_T ( ORDERID ) +); + +-- ************************************** SUPPLYCHAIN.ORDERSTATUSTRANSITIONFACT_T +CREATE TABLE SUPPLYCHAIN.ORDERSTATUSTRANSITIONFACT_T +( + TRANSITIONID number(38,0) NOT NULL AUTOINCREMENT START 1 INCREMENT 1 COMMENT 'The ''TransitionID'' column contains data related to ''transitionid''. This column likely represents an identifier.', + CANCELLATIONREASONKEY number(38,0) NOT NULL COMMENT 'The ''CancellationReasonKey'' column contains data related to ''cancellationreasonkey''.', + ORDERID number(38,0) NOT NULL COMMENT 'The ''OrderID'' column contains data related to ''orderid''. This column likely represents an identifier.', + OLDSTATUSKEY number(38,0) COMMENT 'The ''OldStatusKey'' column contains data related to ''oldstatuskey''. This column contains status information.', + NEWSTATUSKEY number(38,0) COMMENT 'The ''NewStatusKey'' column contains data related to ''newstatuskey''. This column contains status information.', + TRANSITIONDATE date COMMENT 'The ''TransitionDate'' column contains data related to ''transitiondate''. This column stores information related to dates or times.', + TRANSITIONTIME timestamp_ntz(9) COMMENT 'The ''TransitionTime'' column contains data related to ''transitiontime''. This column stores information related to dates or times.', + Address string NOT NULL, -- From template: "Template" + + CONSTRAINT PK_1 PRIMARY KEY ( TRANSITIONID, CANCELLATIONREASONKEY ), + CONSTRAINT FK_4 FOREIGN KEY ( CANCELLATIONREASONKEY ) REFERENCES SUPPLYCHAIN.ORDERCANCELLATIONREASONDIM_T ( CANCELLATIONREASONKEY ), + CONSTRAINT FK_5 FOREIGN KEY ( ORDERID ) REFERENCES SUPPLYCHAIN.ORDERS_T ( ORDERID ) +) WITH TAG (SUPPLYCHAIN.RETENTION_PERIOD = '7 YEARS'); + +-- ************************************** SUPPLYCHAIN.VIEW_1 +CREATE VIEW ACMECORP.SUPPLYCHAIN.VIEW_1( + MAINTENANCEID, + MAINTENANCEDATE, + MAINTENANCETYPE, + MAINTENANCECOST, + MAINTENANCEDURATIONHOURS, + WAREHOUSEZONE, + ZONEFUNCTION, + WAREHOUSENAME, + ADDRESS, + CITY, + STATE, + COUNTRY +) COMMENT='View showing warehouse maintenance costs by zone and warehouse' + as +( + SELECT + wm.MaintenanceID, + wm.DateKey AS MaintenanceDate, + wm.MaintenanceType, + wm.MaintenanceCost, + wm.MaintenanceDurationHours, + wz.ZoneName AS WarehouseZone, + wz.ZoneFunction, + w.WarehouseName, + w.Address, + w.City, + w.State, + w.Country + FROM + WarehouseMaintenanceFact wm + INNER JOIN Warehouse w + ON wm.WarehouseKey = w.WarehouseID + INNER JOIN WarehouseZoneDim wz + ON w.WarehouseID = wz.WarehouseKey +); + +-- ************************************** SUPPLYCHAIN.CALCULATE_TOTAL_MAINTENANCE_COST +CREATE FUNCTION ACMECORP.SUPPLYCHAIN.CALCULATE_TOTAL_MAINTENANCE_COST("WAREHOUSE_ID" NUMBER(38,0)) +RETURNS NUMBER(10,2) +LANGUAGE SQL +AS ' + ( + SELECT COALESCE(SUM(MaintenanceCost), 0) + FROM WarehouseMaintenanceFact + WHERE WarehouseKey = warehouse_id + ) +'; + +-- ************************************** SUPPLYCHAIN.CALCULATE_AND_LOG_MAINTENANCE_COST +CREATE PROCEDURE ACMECORP.SUPPLYCHAIN.CALCULATE_AND_LOG_MAINTENANCE_COST("START_DATE" DATE, "END_DATE" DATE) +RETURNS VARCHAR(16777216) +LANGUAGE JAVASCRIPT +EXECUTE AS CALLER +AS ' +try { + // Define a SQL query to calculate the total maintenance cost by warehouse within the date range + var query = ` + SELECT + wm.WarehouseKey, + SUM(wm.MaintenanceCost) AS total_maintenance_cost + FROM + WarehouseMaintenanceFact wm + WHERE + wm.DateKey BETWEEN :start_date AND :end_date + GROUP BY + wm.WarehouseKey; + `; + + // Execute the SQL query + var result = snowflake.execute({ + sqlText: query, + binds: [start_date, end_date] + }); + + // Loop through the result set and insert the log into a separate logging table + while (result.next()) { + var warehouseKey = result.getColumnValue("WarehouseKey"); + var totalCost = result.getColumnValue("total_maintenance_cost"); + + // Insert the result into a log table for maintenance cost tracking + var insertLogQuery = ` + INSERT INTO MaintenanceCostLog (WarehouseKey, TotalMaintenanceCost, LogDate) + VALUES (?, ?, CURRENT_DATE); + `; + snowflake.execute({ + sqlText: insertLogQuery, + binds: [warehouseKey, totalCost] + }); + } + + return "Maintenance costs calculated and logged successfully."; + +} catch (err) { + return "Failed: " + err; +} +'; +