BILLING ANAlytics
BILLING ANAlytics
GO
/****** Object: Database [Billing_Analytics] Script Date: 2/13/2020 8:09:05 AM
******/
CREATE DATABASE [Billing_Analytics] ON PRIMARY
( NAME = N'Billing_Analytics', FILENAME = N'C:\Program Files (x86)\Microsoft SQL
Server\MSSQL10_50.GIB\MSSQL\DATA\Billing_Analytics.mdf' , SIZE = 26880KB , MAXSIZE
= UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Billing_Analytics_log', FILENAME = N'C:\Program Files (x86)\Microsoft
SQL Server\MSSQL10_50.GIB\MSSQL\DATA\Billing_Analytics_0.LDF' , SIZE = 24384KB ,
MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [Billing_Analytics] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Billing_Analytics].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [Billing_Analytics] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Billing_Analytics] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Billing_Analytics] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Billing_Analytics] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Billing_Analytics] SET ARITHABORT OFF
GO
ALTER DATABASE [Billing_Analytics] SET AUTO_CLOSE ON
GO
ALTER DATABASE [Billing_Analytics] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Billing_Analytics] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Billing_Analytics] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Billing_Analytics] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Billing_Analytics] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Billing_Analytics] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Billing_Analytics] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Billing_Analytics] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Billing_Analytics] SET DISABLE_BROKER
GO
ALTER DATABASE [Billing_Analytics] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Billing_Analytics] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Billing_Analytics] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Billing_Analytics] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Billing_Analytics] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Billing_Analytics] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [Billing_Analytics] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [Billing_Analytics] SET RECOVERY SIMPLE
GO
ALTER DATABASE [Billing_Analytics] SET MULTI_USER
GO
ALTER DATABASE [Billing_Analytics] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Billing_Analytics] SET DB_CHAINING OFF
GO
USE [Billing_Analytics]
GO
/****** Object: Table [dbo].[Billing_Fact] Script Date: 2/13/2020 8:09:05 AM
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Billing_Fact](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Date_Key] [int] NULL,
[Plan_Key] [int] NULL,
[Calling_Number_key] [int] NULL,
[Called_Number_Key] [int] NULL,
[Cust_Key] [int] NULL,
[Feature_key] [int] NULL,
[Termination_key] [int] NULL,
[Equipment_Key] [int] NULL,
[Roaming_Flag] [varchar](100) NULL,
[Call_Duration] [time](7) NULL,
[Number_of_Calls] [int] NULL,
[Total_Minutes] [float] NULL,
[Total_Roaming_Minutes] [int] NULL,
[Total_Long_Distance_Minutes] [int] NULL,
[Total_Call_Cost] [float] NULL,
[Total_Roaming_Cost] [float] NULL,
[Total_Long_Distance_Cost] [float] NULL,
[Service_tax] [float] NULL,
[Surcharge] [float] NULL,
PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Call_Termination_Dimension] Script Date: 2/13/2020
8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Call_Termination_Dimension](
[Termination_key] [int] NOT NULL,
[Termination_type] [varchar](100) NULL,
[Termination_Description] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[Termination_key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Customer_Details_Dimension] Script Date: 2/13/2020
8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Customer_Details_Dimension](
[Cust_Key] [int] NOT NULL,
[Cust_Name] [varchar](100) NULL,
[Cust_Age] [int] NULL,
[Cust_Sex] [char](1) NULL,
[Cust_City] [varchar](100) NULL,
[Cust_State] [varchar](100) NULL,
[Cust_Zip] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[Cust_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Date_Dimension] Script Date: 2/13/2020 8:09:05 AM
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Date_Dimension](
[Date_Key] [int] NOT NULL,
[Date_val] [date] NULL,
[Date_Description] [varchar](100) NULL,
[Calendar_Year] [int] NULL,
[Calendar_Year_Month] [int] NULL,
[Day_Num_in_Fiscal_Month] [int] NULL,
PRIMARY KEY CLUSTERED
(
[Date_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Equipment_Dimension] Script Date: 2/13/2020
8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Equipment_Dimension](
[Equipment_Key] [int] NOT NULL,
[Equipment_type] [varchar](100) NULL,
[Manufacturer] [varchar](100) NULL,
[Model_Number] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[Equipment_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Feature_Dimension] Script Date: 2/13/2020 8:09:05
AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Feature_Dimension](
[Feature_Key] [int] NOT NULL,
[Feature_type] [varchar](100) NULL,
[Feature_rate] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[Feature_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Numbering_Plan_Dimension] Script Date: 2/13/2020
8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Numbering_Plan_Dimension](
[Number_Key] [int] NOT NULL,
[Country_Code] [varchar](100) NULL,
[Area_Code] [varchar](100) NULL,
[State] [varchar](100) NULL,
[Phone_Type] [varchar](100) NULL,
PRIMARY KEY CLUSTERED
(
[Number_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Rate_Plan_Dimension] Script Date: 2/13/2020
8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Rate_Plan_Dimension](
[Plan_Key] [int] NOT NULL,
[Plan_Name] [varchar](100) NULL,
[Plan_Description] [varchar](100) NULL,
[Plan_Min_Rental] [float] NULL,
[Plan_Currency] [varchar](100) NULL,
[Plan_Pulse_Rate_sec] [int] NULL,
[Toll_rate] [float] NULL,
PRIMARY KEY CLUSTERED
(
[Plan_Key] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: View [dbo].[BILL_R] Script Date: 2/13/2020 8:09:05 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create view [dbo].[BILL_R]
as
SELECT Calendar_Year,
Calendar_Year_Month,
SUM(Total_Minutes) AS Total_Minutes
FROM Billing_Fact,
Date_Dimension
GROUP BY Calendar_Year,Calendar_Year_Month
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Customer_Details_Dimension] FOREIGN KEY([Cust_Key])
REFERENCES [dbo].[Customer_Details_Dimension] ([Cust_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT
[FK_Billing_Fact_Customer_Details_Dimension]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Date_Dimension] FOREIGN KEY([Date_Key])
REFERENCES [dbo].[Date_Dimension] ([Date_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT [FK_Billing_Fact_Date_Dimension]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Equipment_Dimension] FOREIGN KEY([Equipment_Key])
REFERENCES [dbo].[Equipment_Dimension] ([Equipment_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT
[FK_Billing_Fact_Equipment_Dimension]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Numbering_Plan_Dimension] FOREIGN KEY([Calling_Number_key])
REFERENCES [dbo].[Numbering_Plan_Dimension] ([Number_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT
[FK_Billing_Fact_Numbering_Plan_Dimension]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Numbering_Plan_Dimension1] FOREIGN KEY([Called_Number_Key])
REFERENCES [dbo].[Numbering_Plan_Dimension] ([Number_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT
[FK_Billing_Fact_Numbering_Plan_Dimension1]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT
[FK_Billing_Fact_Rate_Plan_Dimension] FOREIGN KEY([Plan_Key])
REFERENCES [dbo].[Rate_Plan_Dimension] ([Plan_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT
[FK_Billing_Fact_Rate_Plan_Dimension]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT [FK_Feature_key]
FOREIGN KEY([Feature_key])
REFERENCES [dbo].[Feature_Dimension] ([Feature_Key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT [FK_Feature_key]
GO
ALTER TABLE [dbo].[Billing_Fact] WITH CHECK ADD CONSTRAINT [FK_Termination_key]
FOREIGN KEY([Termination_key])
REFERENCES [dbo].[Call_Termination_Dimension] ([Termination_key])
GO
ALTER TABLE [dbo].[Billing_Fact] CHECK CONSTRAINT [FK_Termination_key]
GO
USE [master]
GO
ALTER DATABASE [Billing_Analytics] SET READ_WRITE
GO