﻿GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;

SET NUMERIC_ROUNDABORT OFF;



GO
EXECUTE sp_dropextendedproperty @name = N'MS_Description', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_FELHASZNALO', @level2type = N'COLUMN', @level2name = N'C_LEIRAS';



GO
ALTER TABLE [dbo].[T_CSATOLMANY] ALTER COLUMN [C_MERET] NUMERIC (10, 2) NOT NULL;


GO
ALTER TABLE [dbo].[T_FELHASZNALO] ALTER COLUMN [C_MEGJEGYZES] NVARCHAR (2000) NULL;



GO
DISABLE TRIGGER ALL ON T_FELHASZNALO

UPDATE T_FELHASZNALO
SET C_MEGJEGYZES = C_LEIRAS


;ENABLE TRIGGER ALL ON T_FELHASZNALO


GO
ALTER TABLE [dbo].[T_FELHASZNALO] DROP COLUMN [C_LEIRAS];



GO
ALTER TABLE [dbo].[T_INTEZMENYADATOK]
    ADD [C_ISSZIRINTEZMENY] CHAR (1) DEFAULT ('F') NOT NULL;




GO
ALTER TABLE [dbo].[T_MEROHELY]
    ADD [C_EGYEDIAZONOSITO] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL;



GO
ALTER TABLE [dbo].[T_OSZTALYCSOPORT] ALTER COLUMN [C_MEGJEGYZES] NVARCHAR (500) NULL;



GO
CREATE TABLE [dbo].[T_AMIJELLEMZOTIPUS] (
    [ID]                   INT      NOT NULL,
    [C_ALINTEZMENYID]      INT      NOT NULL,
    [C_ALTANEVID]          INT      NOT NULL,
    [TOROLT]               CHAR (1) NOT NULL,
    [SERIAL]               INT      NOT NULL,
    [LASTCHANGED]          DATETIME NOT NULL,
    [CREATED]              DATETIME NOT NULL,
    [MODIFIER]             INT      NULL,
    [CREATOR]              INT      NULL,
    [ELOZOTANEVIREKORDID]  INT      NULL,
    [ELOZOTANEVIREKORDIDA] INT      NULL,
    [NNID]                 INT      NULL,
    CONSTRAINT [PK_AmiJellemzoTipus] PRIMARY KEY CLUSTERED ([ID] ASC, [C_ALINTEZMENYID] ASC, [C_ALTANEVID] ASC)
);



GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS]
    ADD DEFAULT ((0)) FOR [SERIAL];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_AMIJELLEMZOTIPUS]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS]
    ADD DEFAULT (getdate()) FOR [CREATED];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_AMIJELLEMZOTIPUS]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS]
    ADD DEFAULT (getdate()) FOR [LASTCHANGED];


GO
PRINT N'Creating unnamed constraint on [dbo].[T_AMIJELLEMZOTIPUS]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS]
    ADD DEFAULT ('F') FOR [TOROLT];


GO
PRINT N'Creating [dbo].[FK_AmiJellemzoTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH NOCHECK
    ADD CONSTRAINT [FK_AmiJellemzoTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase] FOREIGN KEY ([ID], [C_ALINTEZMENYID], [C_ALTANEVID]) REFERENCES [dbo].[T_DICTIONARYITEMBASE] ([ID], [C_INTEZMENYID], [C_TANEVID]);


GO
PRINT N'Creating [dbo].[FK_AmiJellemzoTipus_AlIntezmenyId_REF_Intezmeny]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH NOCHECK
    ADD CONSTRAINT [FK_AmiJellemzoTipus_AlIntezmenyId_REF_Intezmeny] FOREIGN KEY ([C_ALINTEZMENYID]) REFERENCES [dbo].[T_INTEZMENY] ([ID]);


GO
PRINT N'Creating [dbo].[FK_AmiJellemzoTipus_AlTanevId_REF_Tanev]...';


GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH NOCHECK
    ADD CONSTRAINT [FK_AmiJellemzoTipus_AlTanevId_REF_Tanev] FOREIGN KEY ([C_ALTANEVID]) REFERENCES [dbo].[T_TANEV] ([ID]);



GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord egyedi azonosítója, generált IDENTITY(1, 1) (kivéve altáblák esetén, ahol a főtábla ID-ját kapja)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'ID';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[C_ALINTEZMENYID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Az intézmény ID-ja, amihez a rekord tartozik (altábla esetén)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'C_ALINTEZMENYID';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[C_ALTANEVID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A tanév ID-ja, amihez a rekord tartozik (altábla esetén)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'C_ALTANEVID';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[TOROLT].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord logikai töröltségét jelző flag', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'TOROLT';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[SERIAL].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'Minden C# kódból történő módosítás esetén eggyel nő az értéke. Hogy párhuzamos módosítás esetnán ne íródjanak felül az adatok', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'SERIAL';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[LASTCHANGED].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'	A rekord utolsó módosításának időpontja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'LASTCHANGED';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[CREATED].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord létrehozásának időpontja ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'CREATED';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[MODIFIER].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot utoljára módosító felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'MODIFIER';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[CREATOR].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekordot létrehozó felhasználó ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'CREATOR';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[ELOZOTANEVIREKORDID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord előző tanévben lévő ID-ja', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDID';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[ELOZOTANEVIREKORDIDA].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord előző tanévben lévő ID-ja (altábla esetén) ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'ELOZOTANEVIREKORDIDA';


GO
PRINT N'Creating [dbo].[T_AMIJELLEMZOTIPUS].[NNID].[MS_Description]...';


GO
EXECUTE dev.uspAddOrUpdateExtendedProperty @name = N'MS_Description', @value = N'A rekord régi, Neptun Naplóban lévő ID-ja. (migrációval került be)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'T_AMIJELLEMZOTIPUS', @level2type = N'COLUMN', @level2name = N'NNID';



GO
ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH CHECK CHECK CONSTRAINT [FK_AmiJellemzoTipus_Id_AlintezmenyId_AltanevId_REF_DictionaryItemBase];

ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH CHECK CHECK CONSTRAINT [FK_AmiJellemzoTipus_AlIntezmenyId_REF_Intezmeny];

ALTER TABLE [dbo].[T_AMIJELLEMZOTIPUS] WITH CHECK CHECK CONSTRAINT [FK_AmiJellemzoTipus_AlTanevId_REF_Tanev];



GO
EXEC dev.uspCreateDictionaryItems @IntezmenyId = NULL, @pTanevNev = NULL


GO
EXEC dev.uspCreateSchemaViews 'T_CSATOLMANY, T_FELHASZNALO, T_INTEZMENYADATOK, T_MEROHELY, T_OSZTALYCSOPORT, T_AMIJELLEMZOTIPUS'


GO
EXEC dev.sp_Global_GenerateAsyncAuditTriggerAll


GO

ALTER QUEUE auditLog.[AuditQueue]
WITH ACTIVATION (
  STATUS = ON,
  PROCEDURE_NAME = auditLog.usp_AuditProcessing,
  MAX_QUEUE_READERS = 10,
  EXECUTE AS 'Kreta_tech_user'
);


GO
