CREATE TABLE [Skole].[DimKlasse](
  [DimKlasseID] [bigint] identity(1,1) NOT NULL,
  [Klassespor] [varchar](100) COLLATE Norwegian_100_CI_AS NULL,
  [KommunenummerSkoleejer] [int] NULL,
  [StandardElevAntal] [int] NULL,
  [StandardElevAntalTekst] [varchar](30) COLLATE Norwegian_100_CI_AS NULL,
  [FuldÅrgangsdeling] [int] NULL,
  [FuldÅrgangsdelingTekst] [varchar](30) COLLATE Norwegian_100_CI_AS NULL,
  [KlasseIdent] [bigint] NULL,
  [EDW_KlasseID] [bigint] NULL,
  [Startdato] [datetime2](3) NULL,
  [Slutdato] [datetime2](3) NULL,
  [SYS_KommuneId] [int] NULL,
  [SYS_BatchDate] [datetime2](3) NULL,
  [SYS_RowID] AS ([DimKlasseID]) ,
  [SYS_ExtractDate] [datetime2](3) NULL,
  [SYS_ExecutionId] [bigint] NULL,
  CONSTRAINT PK_DimKlasse PRIMARY KEY CLUSTERED (DimKlasseID)
) 
ON [PRIMARY]
--with (data_compression = page)
GO

CREATE INDEX [IDX_Kommune_Skole_DimKlasse]
On [Skole].[DimKlasse] ([SYS_KommuneId], [SYS_ExecutionId])
--with (data_compression = page)
ON [PRIMARY]
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Indeholder oplysninger om en klasse i en skole (join fra Klasse, Klassetrin, Klassetype og Skole)', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Surrogatnøgle', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'DimKlasseID';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Property-felt (fri tekst) fra kildesystemet. Kan være alt muligt', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'Klassespor';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Kommunenummer for skoleejerkommunen', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'KommunenummerSkoleejer';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Flag (0/1) som fortæller hvorvidt klassen indeholder 5-35 elever eller ej. Dette bruges som filter i nøgletal', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'StandardElevAntal';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Flag (Nej/Ja) som fortæller hvorvidt klassen indeholder 5-35 elever eller ej. Dette bruges som filter i nøgletal', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'StandardElevAntalTekst';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Flag (1/0/-1) som fortæller om klasse er fuldt årgangsdelt eller ej', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'FuldÅrgangsdeling';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Flag (Ja/Nej/Ukendt) som fortæller om klasse er fuldt årgangsdelt eller ej', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'FuldÅrgangsdelingTekst';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'KlasseIdent fra kildesystemet. Brugbar til debug på tværs af DSA, EDW og DM.', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'KlasseIdent';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'KlasseID fra primærnøglen i EDW-tabellen SK_Klasse. Brugbar til debug.', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'EDW_KlasseID';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'FLIS_Startdato', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'Startdato';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'FLIS_Slutdato', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'Slutdato';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Dette er en teknisk Kolonne i FLIS. Indeholder nummeret på den kommune, som rækken tilhører', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'SYS_KommuneId';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Dette er en teknisk Kolonne i FLIS. Indeholder information om, hvilken batch rækken er indlæst i', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'SYS_BatchDate';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Dette er en teknisk Kolonne i FLIS. Indeholder et fortløbende nummer, så alle rækker i tabellen har et unikt nummer', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'SYS_RowID';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'Dette er en teknisk Kolonne i FLIS. Indeholder det dato stempel, som kildefilen er markeret med', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'SYS_ExtractDate';
GO

EXEC sys.sp_addextendedproperty 
@name = N'MS_Description', 
@value = N'SysExecutionId', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse', 
@level2type = N'COLUMN', @level2name = N'SYS_ExecutionId';
GO

EXEC sys.sp_addextendedproperty 
@name = N'DataArea', 
@value = N'skole', 
@level0type = N'SCHEMA', @level0name = N'Skole', 
@level1type = N'TABLE',  @level1name = N'DimKlasse';
GO

