2018-06-17 16:52:23 +02:00
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Entity Designer DDL Script for SQL Server 2005, 2008, 2012 and Azure
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Date Created: 06/09/2018 13:24:19
|
|
|
|
|
-- Generated from Cadaroski Ismail
|
2018-06-18 22:05:23 +02:00
|
|
|
|
-----------------------------------------------------
|
|
|
|
|
-- CHANGE LOG:
|
|
|
|
|
-- 180618 Ivan, Add Create DB
|
2018-06-17 16:52:23 +02:00
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
|
2018-06-18 22:05:23 +02:00
|
|
|
|
-- Auskommentieren f<>r L<>schung der Datenbank
|
|
|
|
|
IF db_id('EHEC_DB') is not null
|
|
|
|
|
BEGIN;
|
|
|
|
|
PRINT 'EHEC_DB existiert bereits, sie wird nun geloescht und neu Gebaut'
|
|
|
|
|
USE [master];
|
|
|
|
|
DROP DATABASE EHEC_DB;
|
|
|
|
|
END;
|
|
|
|
|
ELSE
|
|
|
|
|
BEGIN;
|
|
|
|
|
PRINT 'EHEC_DB existiert noch nicht, die Datenbank wird nun neu Gebaut';
|
|
|
|
|
END;
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Datenbank erstellen:
|
|
|
|
|
IF db_id('EHEC_DB') is null
|
|
|
|
|
BEGIN;
|
|
|
|
|
CREATE DATABASE EHEC_DB;
|
|
|
|
|
END;
|
|
|
|
|
ELSE
|
|
|
|
|
BEGIN;
|
|
|
|
|
PRINT 'EHEC_DB existiert bereits, Tabellen werden nun gel<65>scht...';
|
|
|
|
|
END;
|
|
|
|
|
GO
|
|
|
|
|
|
2018-06-17 16:52:23 +02:00
|
|
|
|
SET QUOTED_IDENTIFIER OFF;
|
|
|
|
|
GO
|
|
|
|
|
USE [EHEC_DB];
|
|
|
|
|
GO
|
|
|
|
|
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Dropping existing FOREIGN KEY constraints
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[FK_ResultExam]', 'F') IS NOT NULL
|
|
|
|
|
ALTER TABLE [dbo].[Exam] DROP CONSTRAINT [FK_ResultExam];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[FK_PatientExam]', 'F') IS NOT NULL
|
|
|
|
|
ALTER TABLE [dbo].[Exam] DROP CONSTRAINT [FK_PatientExam];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[FK_DoctorExam]', 'F') IS NOT NULL
|
|
|
|
|
ALTER TABLE [dbo].[Exam] DROP CONSTRAINT [FK_DoctorExam];
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[FK_OriginExam]', 'F') IS NOT NULL
|
|
|
|
|
ALTER TABLE [dbo].[Exam] DROP CONSTRAINT [FK_OriginExam];
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Dropping existing tables
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[Patient]', 'U') IS NOT NULL
|
|
|
|
|
DROP TABLE [dbo].[Patient];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[Doctor]', 'U') IS NOT NULL
|
|
|
|
|
DROP TABLE [dbo].[Doctor];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[Origin]', 'U') IS NOT NULL
|
|
|
|
|
DROP TABLE [dbo].[Origin];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[Exam]', 'U') IS NOT NULL
|
|
|
|
|
DROP TABLE [dbo].[Exam];
|
|
|
|
|
GO
|
|
|
|
|
IF OBJECT_ID(N'[dbo].[Result]', 'U') IS NOT NULL
|
|
|
|
|
DROP TABLE [dbo].[Result];
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Creating all tables
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Patient'
|
|
|
|
|
CREATE TABLE [dbo].[Patient] (
|
|
|
|
|
[PatientId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[FirstName] nvarchar(max) NOT NULL,
|
|
|
|
|
[LastName] nvarchar(max) NOT NULL,
|
|
|
|
|
[BirthDate] datetime NOT NULL,
|
|
|
|
|
[Street] nvarchar(max) NOT NULL,
|
2018-06-22 16:29:27 +02:00
|
|
|
|
[City] nvarchar(max) NOT NULL,
|
|
|
|
|
[Region] nvarchar(max) NOT NULL
|
2018-06-17 16:52:23 +02:00
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Doctor'
|
|
|
|
|
CREATE TABLE [dbo].[Doctor] (
|
|
|
|
|
[DoctorId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[FirstName] nvarchar(max) NOT NULL,
|
|
|
|
|
[LastName] nvarchar(max) NOT NULL,
|
2018-06-22 16:29:27 +02:00
|
|
|
|
[DoctorOrigin] nvarchar(max) NOT NULL,
|
|
|
|
|
[Region] nvarchar(max) NOT NULL
|
2018-06-17 16:52:23 +02:00
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Origin'
|
|
|
|
|
CREATE TABLE [dbo].[Origin] (
|
|
|
|
|
[OriginId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[Name] nvarchar(max) NOT NULL,
|
2018-06-22 16:29:27 +02:00
|
|
|
|
[Food] nvarchar(max) NOT NULL,
|
2018-06-17 16:52:23 +02:00
|
|
|
|
[Street] nvarchar(max) NOT NULL,
|
|
|
|
|
[City] nvarchar(max) NOT NULL
|
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Exam'
|
|
|
|
|
CREATE TABLE [dbo].[Exam] (
|
|
|
|
|
[ExamId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[DoctorId] int NOT NULL,
|
|
|
|
|
[PatientId] int NOT NULL,
|
|
|
|
|
[OriginOriginId] int NOT NULL,
|
|
|
|
|
[Result_ResultId] int NOT NULL
|
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Result'
|
|
|
|
|
CREATE TABLE [dbo].[Result] (
|
|
|
|
|
[ResultId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[Name] nvarchar(max) NOT NULL,
|
2018-06-22 16:29:27 +02:00
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating table 'Origin_Exam'
|
|
|
|
|
CREATE TABLE [dbo].[Origin_Exam] (
|
|
|
|
|
[Origin_ExamId] int IDENTITY(1,1) NOT NULL,
|
|
|
|
|
[OriginOriginId] int NOT NULL,
|
|
|
|
|
[ExamExamId] int NOT NULL
|
2018-06-17 16:52:23 +02:00
|
|
|
|
);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Creating all PRIMARY KEY constraints
|
|
|
|
|
-- --------------------------------------------------
|
2018-06-22 16:29:27 +02:00
|
|
|
|
-- 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
|
2018-06-17 16:52:23 +02:00
|
|
|
|
|
|
|
|
|
-- Creating primary key on [PatientId] in table 'Patient'
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
-- Creating primary key on [OriginId] in table 'Origin'
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
-- Creating primary key on [ResultId] in table 'Result'
|
|
|
|
|
ALTER TABLE [dbo].[Result]
|
|
|
|
|
ADD CONSTRAINT [PK_Result]
|
|
|
|
|
PRIMARY KEY CLUSTERED ([ResultId] ASC);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
-- Creating all FOREIGN KEY constraints
|
|
|
|
|
-- --------------------------------------------------
|
|
|
|
|
|
2018-06-22 16:29:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-17 16:52:23 +02:00
|
|
|
|
-- Creating foreign key on [Result_ResultId] in table 'Exam'
|
|
|
|
|
ALTER TABLE [dbo].[Exam]
|
|
|
|
|
ADD CONSTRAINT [FK_ResultExam]
|
|
|
|
|
FOREIGN KEY ([Result_ResultId])
|
|
|
|
|
REFERENCES [dbo].[Result]
|
|
|
|
|
([ResultId])
|
|
|
|
|
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating non-clustered index for FOREIGN KEY 'FK_ResultExam'
|
|
|
|
|
CREATE INDEX [IX_FK_ResultExam]
|
|
|
|
|
ON [dbo].[Exam]
|
|
|
|
|
([Result_ResultId]);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
-- Creating non-clustered index for FOREIGN KEY 'FK_DoctorExam'
|
|
|
|
|
CREATE INDEX [IX_FK_DoctorExam]
|
|
|
|
|
ON [dbo].[Exam]
|
|
|
|
|
([DoctorId]);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
-- Creating non-clustered index for FOREIGN KEY 'FK_DoctorExam'
|
|
|
|
|
CREATE INDEX [IX_FK_PatientExam]
|
|
|
|
|
ON [dbo].[Exam]
|
|
|
|
|
([PatientId]);
|
|
|
|
|
GO
|
|
|
|
|
|
2018-06-22 16:29:27 +02:00
|
|
|
|
-- Creating foreign key on [OriginOriginId] in table 'Origin_Exam'
|
|
|
|
|
ALTER TABLE [dbo].[Origin_Exam]
|
|
|
|
|
ADD CONSTRAINT [FK_Origin]
|
2018-06-17 16:52:23 +02:00
|
|
|
|
FOREIGN KEY ([OriginOriginId])
|
|
|
|
|
REFERENCES [dbo].[Origin]
|
|
|
|
|
([OriginId])
|
|
|
|
|
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
|
GO
|
|
|
|
|
|
2018-06-22 16:29:27 +02:00
|
|
|
|
-- Creating non-clustered index for FOREIGN KEY 'FK_Origin_Exam'
|
|
|
|
|
CREATE INDEX [IX_FK_Origin_Exam]
|
|
|
|
|
ON [dbo].[Origin_Exam]
|
2018-06-17 16:52:23 +02:00
|
|
|
|
([OriginOriginId]);
|
|
|
|
|
GO
|
|
|
|
|
|
2018-06-22 16:29:27 +02:00
|
|
|
|
-- Creating foreign key on [ExamId] in table 'Origin_Exam'
|
|
|
|
|
ALTER TABLE [dbo].[Origin_Exam]
|
|
|
|
|
ADD CONSTRAINT [FK_Exam]
|
|
|
|
|
FOREIGN KEY ([ExamExamId])
|
|
|
|
|
REFERENCES [dbo].[Exam]
|
|
|
|
|
([ExamId])
|
|
|
|
|
ON DELETE NO ACTION ON UPDATE NO ACTION;
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- Creating non-clustered index for FOREIGN KEY 'FK_Origin_Exam'
|
|
|
|
|
CREATE INDEX [IZ_FK_Origin_Exam]
|
|
|
|
|
ON [dbo].[Origin_Exam]
|
|
|
|
|
([ExamExamId]);
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
2018-06-17 16:52:23 +02:00
|
|
|
|
-- --------------------------------------------------
|
2018-06-18 22:05:23 +02:00
|
|
|
|
PRINT 'Erfolgreich erstellt..!';
|
2018-06-17 16:52:23 +02:00
|
|
|
|
-- Script has ended
|
|
|
|
|
-- --------------------------------------------------
|