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