Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

?CREATE TABLE dbo.CCRAAppointments
(
--authoritative source:
--A06.CDWWork.CCRA.rb_appointment

--fields
AppointmentID bigint IDENTITY(1,1) NOT NULL, --EPRS assigned (PK)
AppointmentTypeID tinyint,
WaitinglistRowNumber BIGINT,
AppointmentDate datetime2(7), --appt_datecomp in source


--primary key
CONSTRAINT PK_CCRAAppointments PRIMARY KEY NONCLUSTERED --not clustered due to clust. columnstore index
(
AppointmentID ASC
)
)
ON CoreData
--when using clustered columnstore index, can't set data compression to PAGE
--WITH (DATA_COMPRESSION = PAGE)
GO

--foreign keys
ALTER TABLE dbo.CCRAAppointments
ADD CONSTRAINT FK_Appointments_AppointmentTypeID
FOREIGN KEY (AppointmentTypeID)
REFERENCES dbo.CCRAAppointmentTypes (AppointmentTypeID)

GO

ALTER TABLE dbo.CCRAAppointments
ADD CONSTRAINT FK_Appointments_WaitListRowNumber
FOREIGN KEY (WaitinglistRowNumber)
REFERENCES dbo.CCRAWaitinglists (WaitingListRowNumber)

GO

--indexes



--TODO: Are the traditional non-clustered indexes still needed?
CREATE NONCLUSTERED INDEX IX_CCRAAppointments_AppointmentTypeID ON dbo.CCRAAppointments
(
AppointmentTypeID
) WITH (
PAD_INDEX = ON, --If want to use a Fill Factor, then PAD_INDEX must = ON
FILLFACTOR = 100, --100 = max fill; set to 90 if going to insert new values incrementally; 100 if doing bulk load
SORT_IN_TEMPDB = ON, -- sorts the index in the TempDB; default = OFF
IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
STATISTICS_INCREMENTAL = OFF,
DROP_EXISTING = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
MAXDOP = 0, --degrees of parallelism, controls how many CPUs to use; 0 = default (all available), max = 64
DATA_COMPRESSION = PAGE --use page compression; default = NONE
)
ON CoreIndex
GO

CREATE NONCLUSTERED INDEX IX_CCRAAppointments_WaitingListRowNumber ON dbo.CCRAAppointments
(
WaitingListRowNumber
) WITH (
PAD_INDEX = ON, --If want to use a Fill Factor, then PAD_INDEX must = ON
FILLFACTOR = 100, --100 = max fill; set to 90 if going to insert new values incrementally; 100 if doing bulk load
SORT_IN_TEMPDB = ON, -- sorts the index in the TempDB; default = OFF
IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
STATISTICS_INCREMENTAL = OFF,
DROP_EXISTING = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
MAXDOP = 0, --degrees of parallelism, controls how many CPUs to use; 0 = default (all available), max = 64
DATA_COMPRESSION = PAGE --use page compression; default = NONE
)
ON CoreIndex
GO

CREATE NONCLUSTERED INDEX IX_CCRAAppointments_AppointmentDate ON dbo.CCRAAppointments
(
AppointmentDate
) WITH (
PAD_INDEX = ON, --If want to use a Fill Factor, then PAD_INDEX must = ON
FILLFACTOR = 100, --100 = max fill; set to 90 if going to insert new values incrementally; 100 if doing bulk load
SORT_IN_TEMPDB = ON, -- sorts the index in the TempDB; default = OFF
IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
STATISTICS_INCREMENTAL = OFF,
DROP_EXISTING = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
MAXDOP = 0, --degrees of parallelism, controls how many CPUs to use; 0 = default (all available), max = 64
DATA_COMPRESSION = PAGE --use page compression; default = NONE
)
ON CoreIndex
GO

--constraints

--Metadata descriptions for each field
EXECUTE sp_addextendedproperty
N'MS_Description', N'Primary Key; unique to EPRS',
N'SCHEMA', N'dbo',
N'TABLE', N'CCRAAppointments',
N'COLUMN', N'AppointmentID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'FK to CCRAAppointmentTypes',
N'SCHEMA', N'dbo',
N'TABLE', N'CCRAAppointments',
N'COLUMN', N'AppointmentTypeID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'FK to CCRAWaitingLists',
N'SCHEMA', N'dbo',
N'TABLE', N'CCRAAppointments',
N'COLUMN', N'WaitingListRowNumber'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'source: appt_datecomp. Description: Date Computed / Appointment Date',
N'SCHEMA', N'dbo',
N'TABLE', N'CCRAAppointments',
N'COLUMN', N'AppointmentDate'
GO