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.Institutions
(
--fields
InstitutionID [tinyint] NOT NULL, --set to non-identity seeding so we can set pre-populate the ID with the same value as the Institution code
StationID [smallint] NULL,
RegionID [tinyint],
AltRegionID [tinyint],
InstitutionCode [varchar](10),
InstitutionName [varchar](100) NOT NULL,
OfficialVAName [varchar](200),
Inactive [bit] NOT NULL,

--primary key
CONSTRAINT PK_Institutions PRIMARY KEY CLUSTERED
(
InstitutionID ASC
)
)
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.Institutions
ADD CONSTRAINT FK_Institutions_StationID
FOREIGN KEY (StationID)
REFERENCES dbo.Stations (StationID)
GO

ALTER TABLE dbo.Institutions
ADD CONSTRAINT FK_Institutions_RegionID
FOREIGN KEY (RegionID)
REFERENCES dbo.Regions (RegionID)
GO

ALTER TABLE dbo.Institutions
ADD CONSTRAINT FK_Institutions_AltRegionID
FOREIGN KEY (AltRegionID)
REFERENCES dbo.Regions (RegionID)
GO

--indexes
CREATE NONCLUSTERED INDEX IX_Institutions_StationID ON dbo.Institutions
(
StationID
) 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 = NONE --don't need, less than 10,000 rows
)
ON DefinitionIndex

GO

CREATE NONCLUSTERED INDEX IX_Institutions_RegionID ON dbo.Institutions
(
RegionID
) 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 = 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'Institutions',
N'COLUMN', N'InstitutionID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Foreign Key, unique to EPRS, relates to Regions table',
N'SCHEMA', N'dbo',
N'TABLE', N'Institutions',
N'COLUMN', N'RegionID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Foreign Key, unique to EPRS, relates to Regions table, alternate region',
N'SCHEMA', N'dbo',
N'TABLE', N'Institutions',
N'COLUMN', N'AltRegionID'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Abbreviation for the Institution',
N'SCHEMA', N'dbo',
N'TABLE', N'Institutions',
N'COLUMN', N'InstitutionCode'
GO

EXECUTE sp_addextendedproperty
N'MS_Description', N'Name of the Institution',
N'SCHEMA', N'dbo',
N'TABLE', N'Institutions',
N'COLUMN', N'InstitutionName'
GO



EXECUTE sp_addextendedproperty
N'MS_Description', N'Identifies if the record is inactive',
N'SCHEMA', N'dbo',
N'TABLE', N'Institutions',
N'COLUMN', N'Inactive'
GO