kreta/Kreta.DataAccess.Migrations/DBScripts/Database/alter.tables.advanced.constraints.sql
2024-03-13 00:33:46 +01:00

263 lines
11 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ==================================================================================================================================
-- T_TANULOTANTARGYATLAG CLUSTERED INDEX
-- ==================================================================================================================================
ALTER TABLE T_TANULOTANTARGYATLAG
DROP CONSTRAINT IF EXISTS FK_TanuloTantargyAtlag_TanuloId_REF_Tanulo;
GO
ALTER TABLE T_TANULOTANTARGYATLAG
DROP CONSTRAINT IF EXISTS FK_TanuloTantargyAtlag_TantargyId_REF_Tantargy;
GO
ALTER TABLE T_TANULOTANTARGYATLAG
DROP CONSTRAINT IF EXISTS FK_TanuloTantargyAtlag_OktatasNevelesiFeladatId_IntezmenyId_TanevId_REF_OktatasiNevelesiFeladat;
GO
ALTER TABLE T_TANULOTANTARGYATLAG
DROP CONSTRAINT IF EXISTS PK_TanuloTantargyAtlag;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'CU_TanuloTantargyAtlag_TanuloId_TantargyId_OktatasNevelesiFeladatId') BEGIN
CREATE UNIQUE CLUSTERED INDEX CU_TanuloTantargyAtlag_TanuloId_TantargyId_OktatasNevelesiFeladatId
ON T_TANULOTANTARGYATLAG (C_TANULOID, C_TANTARGYID, C_OKTATASNEVELESIFELADATID)
WITH (FILLFACTOR = 80)
END
GO
IF OBJECT_ID('PK_TanuloTantargyAtlag') IS NULL BEGIN
ALTER TABLE T_TANULOTANTARGYATLAG
ADD CONSTRAINT PK_TanuloTantargyAtlag PRIMARY KEY (ID);
END
GO
DROP INDEX IF EXISTS NCI_TanuloTantargyAtlag_TanuloId ON T_TANULOTANTARGYATLAG
GO
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
ADD CONSTRAINT FK_TanuloTantargyAtlag_TantargyId_REF_Tantargy
FOREIGN KEY (C_TANTARGYID)
REFERENCES [DBO].T_TANTARGY (ID)
GO
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
ADD CONSTRAINT FK_TanuloTantargyAtlag_TanuloId_REF_Tanulo
FOREIGN KEY (C_TANULOID)
REFERENCES [DBO].T_TANULO (ID)
GO
ALTER TABLE [DBO].T_TANULOTANTARGYATLAG
ADD CONSTRAINT FK_TanuloTantargyAtlag_OktatasNevelesiFeladatId_IntezmenyId_TanevId_REF_OktatasiNevelesiFeladat
FOREIGN KEY (C_OKTATASNEVELESIFELADATID, C_INTEZMENYID, C_TANEVID)
REFERENCES [dbo].T_OKTATASINEVELESIFELADAT (ID, C_ALINTEZMENYID, C_ALTANEVID)
GO
-- ==================================================================================================================================
-- T_NAPTARINAP CLUSTERED INDEX
-- ==================================================================================================================================
ALTER TABLE T_TANITASIORA DROP CONSTRAINT IF EXISTS FK_TanitasiOra_NaptariNapId_REF_NaptariNap;
GO
ALTER TABLE T_NAPTARINAP DROP CONSTRAINT IF EXISTS PK_Naptarinap;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = 'CI_NaptariNap_NapDatuma_IntezmenyId_TanevId') BEGIN
CREATE CLUSTERED INDEX CI_NaptariNap_NapDatuma_IntezmenyId_TanevId
ON T_NAPTARINAP (C_NAPDATUMA, C_INTEZMENYID, C_TANEVID)
WITH (FILLFACTOR = 80)
END
GO
IF OBJECT_ID('PK_Naptarinap') IS NULL BEGIN
ALTER TABLE T_NAPTARINAP
ADD CONSTRAINT PK_Naptarinap PRIMARY KEY (ID);
END
GO
IF OBJECT_ID('FK_TanitasiOra_NaptariNapId_REF_NaptariNap', 'F') IS NULL BEGIN
ALTER TABLE [DBO].T_TANITASIORA
ADD CONSTRAINT FK_TanitasiOra_NaptariNapId_REF_NaptariNap
FOREIGN KEY (C_NAPTARINAPID)
REFERENCES [DBO].T_NAPTARINAP (ID)
END
GO
DROP INDEX IF EXISTS NCI_KKGyogypedVegzettseg_IntezmenyId ON T_KKGYOGYPEDVEGZETTSEG
-- ==================================================================================================================================
-- ORARENDIORA FK REMOVE
-- ==================================================================================================================================
ALTER TABLE T_ORARENDIORA DROP CONSTRAINT IF EXISTS FK_OrarendiOra_FoglalkozasId_REF_Foglalkozas
GO
-- ==================================================================================================================================
-- TANITASIORA FK REMOVE
-- ==================================================================================================================================
ALTER TABLE T_TANITASIORA DROP CONSTRAINT IF EXISTS FK_TanitasiOra_FoglalkozasId_REF_Foglalkozas
GO
-- ==================================================================================================================================
-- T_DICTIONARYITEMBASE & T_DICTIONARYTYPE CONSTRAINTS
-- ==================================================================================================================================
ALTER TABLE T_DICTIONARYITEMBASE
DROP CONSTRAINT FK_DictionaryItemBase_DictionaryTypeId_REF_DictionaryType
GO
ALTER TABLE T_DICTIONARYTYPE
DROP CONSTRAINT PK_DictionaryType
GO
ALTER TABLE T_DICTIONARYTYPE
ADD CONSTRAINT PK_DictionaryType PRIMARY KEY CLUSTERED (ID, C_INTEZMENYID, C_TANEVID)
GO
ALTER TABLE [dbo].[T_DICTIONARYITEMBASE] WITH NOCHECK
ADD CONSTRAINT [FK_DictionaryItemBase_DictionaryTypeId_IntezmenyId_TanevId_REF_DictionaryType] FOREIGN KEY ([C_DICTIONARYTYPEID], [C_INTEZMENYID], [C_TANEVID]) REFERENCES [dbo].[T_DICTIONARYTYPE] (ID, C_INTEZMENYID, C_TANEVID);
GO
ALTER TABLE [dbo].[T_OKTATASINEVELESIFELADAT]
ADD CONSTRAINT DF_OktatasiNevelesiFeladat_FeladatKategoriaId DEFAULT 7553 FOR [C_FELADATKATEGORIAID]
GO
-- ==================================================================================================================================
-- CHECK CONSTRAINTS
-- ==================================================================================================================================
ALTER TABLE [dbo].[T_FELHASZNALOBELEPES] DROP CONSTRAINT IF EXISTS [CK_C_GUID]
GO
ALTER TABLE [dbo].[T_FELHASZNALOBELEPES] DROP CONSTRAINT IF EXISTS [CK_SoNullValidation]
GO
ALTER TABLE [dbo].[T_FELHASZNALOBELEPES] DROP CONSTRAINT IF EXISTS [CK_FELHASZNALOBELEPES_PasswordValidation]
GO
IF OBJECT_ID('CK_FelhasznaloBelepes_SoNullValidation', 'C') IS NULL BEGIN
ALTER TABLE [dbo].[T_FELHASZNALOBELEPES]
WITH CHECK ADD CONSTRAINT CK_FelhasznaloBelepes_SoNullValidation
CHECK (NOT([C_JELSZO] IS NOT NULL AND [C_SO] IS NULL AND [C_NEPTUNNAPLOJELSZO] IS NULL))
END
GO
IF OBJECT_ID('CK_FelhasznaloBelepes_PasswordValidation', 'C') IS NULL BEGIN
ALTER TABLE [dbo].[T_FELHASZNALOBELEPES]
WITH CHECK ADD CONSTRAINT CK_FelhasznaloBelepes_PasswordValidation
CHECK (NOT(
C_JELSZO IS NOT NULL AND
LEN(C_JELSZO)!=28 AND
C_JELSZO NOT LIKE '%='
))
END
GO
IF OBJECT_ID('CK_Telefon_Alapertelemezett_Gondviselo', 'C') IS NULL BEGIN
ALTER TABLE T_TELEFON
ADD CONSTRAINT CK_Telefon_Alapertelemezett_Gondviselo
CHECK (TOROLT = 'T' OR C_GONDVISELOID IS NULL OR C_ALAPERTELMEZETT = 'T')
END
GO
IF OBJECT_ID('CK_Email_Alapertelemezett_Gondviselo', 'C') IS NULL BEGIN
ALTER TABLE T_EMAIL
ADD CONSTRAINT CK_Email_Alapertelemezett_Gondviselo
CHECK (TOROLT = 'T' OR C_GONDVISELOID IS NULL OR C_ALAPERTELMEZETT = 'T')
END
GO
IF OBJECT_ID('CK_Telefon_Alapertelemezett_IsPublic', 'C') IS NULL BEGIN
ALTER TABLE T_TELEFON
ADD CONSTRAINT CK_Telefon_Alapertelemezett_IsPublic
CHECK (TOROLT = 'T' OR C_ISPUBLIC = 'F' OR (C_ISPUBLIC = 'T' AND C_ALAPERTELMEZETT = 'F'))
END
GO
IF OBJECT_ID('CK_Email_Alapertelemezett_IsPublic', 'C') IS NULL BEGIN
ALTER TABLE T_EMAIL
ADD CONSTRAINT CK_Email_Alapertelemezett_IsPublic
CHECK (TOROLT = 'T' OR C_ISPUBLIC = 'F' OR (C_ISPUBLIC = 'T' AND C_ALAPERTELMEZETT = 'F'))
END
GO
IF OBJECT_ID('CK_ErtekelesTantargyi_Szoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESTANTARGYI
ADD CONSTRAINT CK_ErtekelesTantargyi_Szoveg
CHECK (C_SZOVEG IS NOT NULL OR (C_SZOVEGFORMAZOTT IS NULL AND C_SZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('CK_ErtekelesTantargyi_OsztalyzatTipus', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESTANTARGYI
ADD CONSTRAINT CK_ErtekelesTantargyi_OsztalyzatTipus
CHECK (
(C_OSZTALYZATTIPUSID IS NOT NULL AND C_SZOVEG IS NULL AND C_SZAZALEK IS NULL)
OR (C_OSZTALYZATTIPUSID IS NULL AND C_SZOVEG IS NOT NULL AND C_SZAZALEK IS NULL)
OR (C_OSZTALYZATTIPUSID IS NULL AND C_SZOVEG IS NULL AND C_SZAZALEK IS NOT NULL)
)
END
GO
IF OBJECT_ID('CK_ErtekelesTantargyiNyelv_Szoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESTANTARGYINYELV
ADD CONSTRAINT CK_ErtekelesTantargyiNyelv_Szoveg
CHECK (C_SZOVEG IS NOT NULL OR (C_SZOVEGFORMAZOTT IS NULL AND C_SZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzor_MagatartasSzoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZOR
ADD CONSTRAINT CK_ErtekelesMagSzor_MagatartasSzoveg
CHECK (C_MAGATARTASSZOVEG IS NOT NULL OR (C_MAGATARTASSZOVEGFORMAZOTT IS NULL AND C_MAGATARTASSZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzor_MagatartasOsztalyzatTipus', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZOR
ADD CONSTRAINT CK_ErtekelesMagSzor_MagatartasOsztalyzatTipus
CHECK (
(C_MAGATARTASOSZTALYZATTIPUSID IS NOT NULL AND C_MAGATARTASSZOVEG IS NULL AND C_MAGATARTASERTEKELESTIPUSID IS NULL)
OR (C_MAGATARTASOSZTALYZATTIPUSID IS NULL AND C_MAGATARTASSZOVEG IS NOT NULL AND C_MAGATARTASERTEKELESTIPUSID IS NULL)
OR (C_MAGATARTASOSZTALYZATTIPUSID IS NULL AND C_MAGATARTASSZOVEG IS NULL AND C_MAGATARTASERTEKELESTIPUSID IS NOT NULL)
OR (C_MAGATARTASOSZTALYZATTIPUSID IS NULL AND C_MAGATARTASSZOVEG IS NULL AND C_MAGATARTASERTEKELESTIPUSID IS NULL
AND (C_SZORGALOMOSZTALYZATTIPUSID IS NOT NULL OR C_SZORGALOMSZOVEG IS NOT NULL OR C_SZORGALOMERTEKELESTIPUSID IS NOT NULL))
)
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzorNyelv_MagatartasSzoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZORNYELV
ADD CONSTRAINT CK_ErtekelesMagSzorNyelv_MagatartasSzoveg
CHECK (C_MAGATARTASSZOVEG IS NOT NULL OR (C_MAGATARTASSZOVEGFORMAZOTT IS NULL AND C_MAGATARTASSZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzor_SzorgalomSzoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZOR
ADD CONSTRAINT CK_ErtekelesMagSzor_SzorgalomSzoveg
CHECK (C_SZORGALOMSZOVEG IS NOT NULL OR (C_SZORGALOMSZOVEGFORMAZOTT IS NULL AND C_SZORGALOMSZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzor_SzorgalomOsztalyzatTipus', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZOR
ADD CONSTRAINT CK_ErtekelesMagSzor_SzorgalomOsztalyzatTipus
CHECK (
(C_SZORGALOMOSZTALYZATTIPUSID IS NOT NULL AND C_SZORGALOMSZOVEG IS NULL AND C_SZORGALOMERTEKELESTIPUSID IS NULL)
OR (C_SZORGALOMOSZTALYZATTIPUSID IS NULL AND C_SZORGALOMSZOVEG IS NOT NULL AND C_SZORGALOMERTEKELESTIPUSID IS NULL)
OR (C_SZORGALOMOSZTALYZATTIPUSID IS NULL AND C_SZORGALOMSZOVEG IS NULL AND C_SZORGALOMERTEKELESTIPUSID IS NOT NULL)
OR (C_SZORGALOMOSZTALYZATTIPUSID IS NULL AND C_SZORGALOMSZOVEG IS NULL AND C_SZORGALOMERTEKELESTIPUSID IS NULL
AND (C_MAGATARTASOSZTALYZATTIPUSID IS NOT NULL OR C_MAGATARTASSZOVEG IS NOT NULL OR C_MAGATARTASERTEKELESTIPUSID IS NOT NULL))
)
END
GO
IF OBJECT_ID('CK_ErtekelesMagSzorNyelv_SzorgalomSzoveg', 'C') IS NULL BEGIN
ALTER TABLE T_ERTEKELESMAGSZORNYELV
ADD CONSTRAINT CK_ErtekelesMagSzorNyelv_SzorgalomSzoveg
CHECK (C_SZORGALOMSZOVEG IS NOT NULL OR (C_SZORGALOMSZOVEGFORMAZOTT IS NULL AND C_SZORGALOMSZOVEGROVIDNEV IS NULL))
END
GO
IF OBJECT_ID('FK_Fenntarto_LegmagasabbSzintuFenntartoId_REF_LegmagasabbSzintuFennntartoId', 'F') IS NULL BEGIN
ALTER TABLE [DBO].T_FENNTARTO
ADD CONSTRAINT FK_Fenntarto_LegmagasabbSzintuFenntartoId_REF_LegmagasabbSzintuFenntartoId
FOREIGN KEY (C_LEGMAGASABBSZINTUFENNTARTOID)
REFERENCES [DBO].T_LEGMAGASABBSZINTUFENNTARTO (ID)
END
GO