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.RoleMenuItems
(
--fields
RoleMenuItemID SMALLINT IDENTITY(1,1) NOT NULL,
RoleID TINYINT,
MenuItemID SMALLINT,

--primary key
CONSTRAINT PK_RoleMenuItems PRIMARY KEY CLUSTERED
(
RoleMenuItemID ASC
)

--primary key

)
ON DefinitionData
--when using clustered columnstore index, can't set data compression to PAGE
--WITH (DATA_COMPRESSION = PAGE) --less than 10,000 rows, don't need compression
GO

--foreign keys
ALTER TABLE dbo.RoleMenuItems
ADD CONSTRAINT FK_RoleMenuItems_Roles
FOREIGN KEY (RoleID)
REFERENCES seclyr.Roles (RoleID)
GO

ALTER TABLE dbo.RoleMenuItems
ADD CONSTRAINT FK_RoleMenuItems_MenuItems
FOREIGN KEY (MenuItemID)
REFERENCES dbo.MenuItems (MenuItemID)
GO

--indexes
CREATE NONCLUSTERED INDEX IX_RoleMenuItems_RoleID ON dbo.RoleMenuItems
(
RoleID ASC
) WITH (
PAD_INDEX = ON, --If want to use a Fill Factor, then PAD_INDEX must = ON
FILLFACTOR = 90, --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 = NONE --don't need, less than 10,000 rows
)
ON DefinitionIndex
GO

CREATE NONCLUSTERED INDEX IX_RoleMenuItems_MenuItemID ON dbo.RoleMenuItems
(
MenuItemID ASC
) WITH (
PAD_INDEX = ON, --If want to use a Fill Factor, then PAD_INDEX must = ON
FILLFACTOR = 90, --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 = NONE --don't need, less than 10,000 rows
)
ON DefinitionIndex
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'RoleMenuItems',
N'COLUMN', N'RoleMenuItemID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Foreign Key, unique to EPRS, relates to Roles table',
N'SCHEMA', N'dbo',
N'TABLE', N'RoleMenuItems',
N'COLUMN', N'RoleID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Foreign Key, unique to EPRS, relates to MenuItems table',
N'SCHEMA', N'dbo',
N'TABLE', N'RoleMenuItems',
N'COLUMN', N'MenuItemID'
GO