/* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ /* Created On : 14-Mar-2016 11:53:27 AM */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ /* Drop Tables */ DROP TABLE IF EXISTS 'DikeAssessmentSectionEntity' ; DROP TABLE IF EXISTS 'FailureMechanismEntity' ; DROP TABLE IF EXISTS 'ProjectEntity' ; DROP TABLE IF EXISTS 'Version' ; /* Create Tables with Primary and Foreign Keys, Check and Unique Constraints */ CREATE TABLE 'DikeAssessmentSectionEntity' ( 'DikeAssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'ProjectEntityId' INTEGER NOT NULL, 'Name' VARCHAR NOT NULL, 'Norm' INT(4) NOT NULL, 'Order' INT(4) NOT NULL, CONSTRAINT 'FK_AssessmentSection_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; CREATE TABLE 'FailureMechanismEntity' ( 'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'DikeAssessmentSectionEntityId' INTEGER NOT NULL, 'FailureMechanismType' SMALLINT NOT NULL, -- Enumerator for different failure mechanism types (piping, macrostability, dunes, etc) CONSTRAINT 'FK_FailureMechanismEntity_AssessmentSectionEntity' FOREIGN KEY ('DikeAssessmentSectionEntityId') REFERENCES 'DikeAssessmentSectionEntity' ('DikeAssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade, CONSTRAINT 'UI_AS_FMT' UNIQUE ('FailureMechanismType','DikeAssessmentSectionEntityId') ) ; CREATE TABLE 'ProjectEntity' ( 'ProjectEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'Description' TEXT, 'LastUpdated' NUMERIC DEFAULT CURRENT_TIMESTAMP ) ; CREATE TABLE 'Version' ( 'VersionId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'FromVersion' TEXT, 'ToVersion' TEXT, 'Timestamp' NUMERIC ) ; /* Create Indexes and Triggers */ CREATE INDEX 'IXFK_AssessmentSection_ProjectEntity' ON 'DikeAssessmentSectionEntity' ('ProjectEntityId' ASC) ; CREATE INDEX 'IXFK_FailureMechanismEntity_AssessmentSectionEntity' ON 'FailureMechanismEntity' ('DikeAssessmentSectionEntityId' ASC) ;