From 0a4674d9fe8d1b7c56101f464160738439fddfb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Ho=CC=88rler?= Date: Sun, 29 Jul 2018 09:15:11 +0200 Subject: [PATCH] refactor SQL DB CREATE for better maintainance --- SQL/EHEC_DB_Query.sql | 184 ++++++++++++++++++++++++------------------ 1 file changed, 106 insertions(+), 78 deletions(-) diff --git a/SQL/EHEC_DB_Query.sql b/SQL/EHEC_DB_Query.sql index 67f8a4b..dbf17cc 100644 --- a/SQL/EHEC_DB_Query.sql +++ b/SQL/EHEC_DB_Query.sql @@ -107,7 +107,9 @@ CREATE TABLE [dbo].[Patient] ( [BirthDate] datetime NOT NULL, [Street] nvarchar(max) NOT NULL, [City] nvarchar(max) NOT NULL, - [Region] nvarchar(max) NOT NULL + [Region] nvarchar(max) NOT NULL, + CONSTRAINT [PK_Patient] + PRIMARY KEY CLUSTERED ([PatientId] ASC) ); GO @@ -118,7 +120,9 @@ CREATE TABLE [dbo].[Doctor] ( [FirstName] nvarchar(max) NOT NULL, [LastName] nvarchar(max) NOT NULL, [DoctorOrigin] nvarchar(max) NOT NULL, - [Region] nvarchar(max) NOT NULL + [Region] nvarchar(max) NOT NULL, + CONSTRAINT [PK_Doctor] + PRIMARY KEY CLUSTERED ([DoctorId] ASC) ); GO @@ -129,7 +133,19 @@ CREATE TABLE [dbo].[Origin] ( [Name] nvarchar(max) NOT NULL, [Food] nvarchar(max) NOT NULL, [Street] nvarchar(max) NOT NULL, - [City] nvarchar(max) NOT NULL + [City] nvarchar(max) NOT NULL, + CONSTRAINT [PK_Origin] + PRIMARY KEY CLUSTERED ([OriginId] ASC) +); +GO + +-- Creating table 'Result' +CREATE TABLE [dbo].[Result] ( + [ResultId] int IDENTITY(1,1) NOT NULL, + [ResultUid] nvarchar(max) , + [Name] nvarchar(max) NOT NULL, + CONSTRAINT [PK_Result] + PRIMARY KEY CLUSTERED ([ResultId] ASC) ); GO @@ -139,15 +155,21 @@ CREATE TABLE [dbo].[Exam] ( [ExamUid] nvarchar(max) , [DoctorId] int NOT NULL, [PatientId] int NOT NULL, - [ResultId] int NOT NULL -); -GO - --- Creating table 'Result' -CREATE TABLE [dbo].[Result] ( - [ResultId] int IDENTITY(1,1) NOT NULL, - [ResultUid] nvarchar(max) , - [Name] nvarchar(max) NOT NULL, + [ResultId] int NOT NULL, + CONSTRAINT [PK_Exam] + PRIMARY KEY CLUSTERED ([ExamId] ASC), + CONSTRAINT [FK_ResultExam] + FOREIGN KEY ([ResultId]) + REFERENCES [dbo].[Result]([ResultId]) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT [FK_DoctorExam] + FOREIGN KEY ([DoctorId]) + REFERENCES [dbo].[Doctor]([DoctorId]) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT [FK_PatientExam] + FOREIGN KEY ([PatientId]) + REFERENCES [dbo].[Patient]([PatientId]) + ON DELETE NO ACTION ON UPDATE NO ACTION ); GO @@ -156,97 +178,103 @@ CREATE TABLE [dbo].[Origin_Exam] ( [Origin_ExamId] int IDENTITY(1,1) NOT NULL, [Origin_ExamUid] nvarchar(max) , [OriginId] int NOT NULL, - [ExamId] int NOT NULL + [ExamId] int NOT NULL, + CONSTRAINT [PK_Origin_Exam] + PRIMARY KEY CLUSTERED ([Origin_ExamId] ASC), + CONSTRAINT [FK_Origin] + FOREIGN KEY ([OriginId]) + REFERENCES [dbo].[Origin] ([OriginId]) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT [FK_Exam] + FOREIGN KEY ([ExamId]) + REFERENCES [dbo].[Exam]([ExamId]) + ON DELETE NO ACTION ON UPDATE NO ACTION ); GO --- -------------------------------------------------- -PRINT 'Creating all PRIMARY KEY constraints'; --- -------------------------------------------------- + +---- -------------------------------------------------- +--PRINT 'Creating all PRIMARY KEY constraints'; +---- -------------------------------------------------- -- Creating primary key on [Origin_ExamId] in table 'Origin_Exam' -ALTER TABLE [dbo].[Origin_Exam] -ADD CONSTRAINT [PK_Origin_Exam] - PRIMARY KEY CLUSTERED ([Origin_ExamId] ASC); -GO +--ALTER TABLE [dbo].[Origin_Exam] +--ADD CONSTRAINT [PK_Origin_Exam] +-- PRIMARY KEY CLUSTERED ([Origin_ExamId] ASC); +--GO -- Creating primary key on [PatientId] in table 'Patient' -ALTER TABLE [dbo].[Patient] -ADD CONSTRAINT [PK_Patient] - PRIMARY KEY CLUSTERED ([PatientId] ASC); -GO +--ALTER TABLE [dbo].[Patient] +--ADD CONSTRAINT [PK_Patient] +-- PRIMARY KEY CLUSTERED ([PatientId] ASC); +--GO -- Creating primary key on [DoctorId] in table 'Doctor' -ALTER TABLE [dbo].[Doctor] -ADD CONSTRAINT [PK_Doctor] - PRIMARY KEY CLUSTERED ([DoctorId] ASC); -GO +--ALTER TABLE [dbo].[Doctor] +--ADD CONSTRAINT [PK_Doctor] +-- PRIMARY KEY CLUSTERED ([DoctorId] ASC); +--GO -- Creating primary key on [OriginId] in table 'Origin' -ALTER TABLE [dbo].[Origin] -ADD CONSTRAINT [PK_Origin] - PRIMARY KEY CLUSTERED ([OriginId] ASC); -GO +--ALTER TABLE [dbo].[Origin] +--ADD CONSTRAINT [PK_Origin] +-- PRIMARY KEY CLUSTERED ([OriginId] ASC); +--GO -- Creating primary key on [ExamId] in table 'Exam' -ALTER TABLE [dbo].[Exam] -ADD CONSTRAINT [PK_Exam] - PRIMARY KEY CLUSTERED ([ExamId] ASC); -GO +--ALTER TABLE [dbo].[Exam] +--ADD CONSTRAINT [PK_Exam] +-- PRIMARY KEY CLUSTERED ([ExamId] ASC); +--GO -- Creating primary key on [ResultId] in table 'Result' -ALTER TABLE [dbo].[Result] -ADD CONSTRAINT [PK_Result] - PRIMARY KEY CLUSTERED ([ResultId] ASC); -GO +--ALTER TABLE [dbo].[Result] +--ADD CONSTRAINT [PK_Result] +-- PRIMARY KEY CLUSTERED ([ResultId] ASC); +--GO --- -------------------------------------------------- -PRINT 'Creating all FOREIGN KEY constraints'; --- -------------------------------------------------- +---- -------------------------------------------------- +--PRINT 'Creating all FOREIGN KEY constraints'; +---- -------------------------------------------------- -- Creating foreign key on [ResultId] in table 'Exam' -ALTER TABLE [dbo].[Exam] -ADD CONSTRAINT [FK_ResultExam] - FOREIGN KEY ([ResultId]) - REFERENCES [dbo].[Result] - ([ResultId]) - ON DELETE NO ACTION ON UPDATE NO ACTION; -GO +--ALTER TABLE [dbo].[Exam] +--ADD CONSTRAINT [FK_ResultExam] +-- FOREIGN KEY ([ResultId]) +-- REFERENCES [dbo].[Result]([ResultId]) +-- ON DELETE NO ACTION ON UPDATE NO ACTION; +--GO -- Creating foreign key on [DoctorId] in table 'Exam' -ALTER TABLE [dbo].[Exam] -ADD CONSTRAINT [FK_DoctorExam] - FOREIGN KEY ([DoctorId]) - REFERENCES [dbo].[Doctor] - ([DoctorId]) - ON DELETE NO ACTION ON UPDATE NO ACTION; -GO +--ALTER TABLE [dbo].[Exam] +--ADD CONSTRAINT [FK_DoctorExam] +-- FOREIGN KEY ([DoctorId]) +-- REFERENCES [dbo].[Doctor]([DoctorId]) +-- ON DELETE NO ACTION ON UPDATE NO ACTION; +--GO -- Creating foreign key on [PatientId] in table 'Exam' -ALTER TABLE [dbo].[Exam] -ADD CONSTRAINT [FK_PatientExam] - FOREIGN KEY ([PatientId]) - REFERENCES [dbo].[Patient] - ([PatientId]) - ON DELETE NO ACTION ON UPDATE NO ACTION; -GO +--ALTER TABLE [dbo].[Exam] +--ADD CONSTRAINT [FK_PatientExam] +-- FOREIGN KEY ([PatientId]) +-- REFERENCES [dbo].[Patient]([PatientId]) +-- ON DELETE NO ACTION ON UPDATE NO ACTION; +--GO -- Creating foreign key on [OriginId] in table 'Origin_Exam' -ALTER TABLE [dbo].[Origin_Exam] -ADD CONSTRAINT [FK_Origin] - FOREIGN KEY ([OriginId]) - REFERENCES [dbo].[Origin] - ([OriginId]) - ON DELETE NO ACTION ON UPDATE NO ACTION; -GO +--ALTER TABLE [dbo].[Origin_Exam] +--ADD CONSTRAINT [FK_Origin] +-- FOREIGN KEY ([OriginId]) +-- REFERENCES [dbo].[Origin] ([OriginId]) +-- ON DELETE NO ACTION ON UPDATE NO ACTION; +--GO -- Creating foreign key on [ExamId] in table 'Origin_Exam' -ALTER TABLE [dbo].[Origin_Exam] -ADD CONSTRAINT [FK_Exam] - FOREIGN KEY ([ExamId]) - REFERENCES [dbo].[Exam] - ([ExamId]) - ON DELETE NO ACTION ON UPDATE NO ACTION; -GO +--ALTER TABLE [dbo].[Origin_Exam] +--ADD CONSTRAINT [FK_Exam] +-- FOREIGN KEY ([ExamId]) +-- REFERENCES [dbo].[Exam]([ExamId]) +-- ON DELETE NO ACTION ON UPDATE NO ACTION; +--GO -- -------------------------------------------------- PRINT 'Creating all INDEXES'; -- --------------------------------------------------