refactor SQL DB CREATE for better maintainance

This commit is contained in:
Ivan Hörler 2018-07-29 09:15:11 +02:00
parent 3d37c7a678
commit 0a4674d9fe
1 changed files with 106 additions and 78 deletions

View File

@ -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';
-- --------------------------------------------------