mysql script functional
This commit is contained in:
parent
4216d85648
commit
1493425938
|
@ -1,4 +1,5 @@
|
|||
#Entities and IDs are listed here
|
||||
# source to simplifying work: https://wtools.io/generate-sql-create-table
|
||||
News(NID,)
|
||||
Event(EID,)
|
||||
Organisation(OID)
|
||||
|
|
|
@ -1,148 +1,177 @@
|
|||
#basiccharts
|
||||
CREATE TABLE `News` (
|
||||
`NID` INT NOT NULL AUTO_INCREMENT,
|
||||
`Content` VARCHAR CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`Teaser` VARCHAR CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
|
||||
`StartDate` DATE NOT NULL,
|
||||
`EndDate` DATE,
|
||||
FULLTEXT `Index_Content` (`Content`) USING BTREE,
|
||||
KEY `Index_EndDate` (`EndDate`) USING BTREE,
|
||||
PRIMARY KEY (`NID`)
|
||||
CREATE TABLE News (
|
||||
NID INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (NID),
|
||||
Content VARCHAR(255) NOT NULL,
|
||||
Teaser VARCHAR(255) NOT NULL,
|
||||
StartDate DATE NOT NULL,
|
||||
EndDate DATE,
|
||||
INDEX (Content,EndDate)
|
||||
);
|
||||
CREATE TABLE `Event` (
|
||||
`EID` INT NOT NULL AUTO_INCREMENT,
|
||||
`ETitle` VARCHAR NOT NULL,
|
||||
`EDate` DATE NOT NULL,
|
||||
`EUrl` VARCHAR,
|
||||
FULLTEXT `Index_ETitle` (`ETitle`,`EUrl`) USING BTREE,
|
||||
KEY `Index_EDate` (`EDate`) USING BTREE,
|
||||
PRIMARY KEY (`EID`)
|
||||
CREATE TABLE Events (
|
||||
EID INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (EID),
|
||||
ETitle VARCHAR(255) NOT NULL,
|
||||
EDate DATE NOT NULL,
|
||||
EUrl VARCHAR(255),
|
||||
INDEX (ETitle,EUrl,EDate)
|
||||
);
|
||||
CREATE TABLE `Organisation` (
|
||||
`OID` INT NOT NULL AUTO_INCREMENT,
|
||||
`OName` VARCHAR NOT NULL,
|
||||
`ODescription` VARCHAR,
|
||||
`OUrl` VARCHAR,
|
||||
`OContact` INT,
|
||||
KEY `Organisation` (`OName`,`ODescription`,`OUrl`,`OContact`) USING BTREE,
|
||||
PRIMARY KEY (`OID`)
|
||||
CREATE TABLE Organisation (
|
||||
OID INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (OID),
|
||||
OName VARCHAR(255) NOT NULL,
|
||||
ODescription VARCHAR(255),
|
||||
OUrl VARCHAR(255),
|
||||
OContact INT,
|
||||
INDEX (OName,ODescription,OUrl,OContact)
|
||||
);
|
||||
CREATE TABLE `Location` (
|
||||
`LID` INT NOT NULL AUTO_INCREMENT,
|
||||
`LTitle` VARCHAR,
|
||||
`LStreetNr` VARCHAR,
|
||||
`LPostalCode1` VARCHAR,
|
||||
`LCity1` VARCHAR,
|
||||
`POBox` VARCHAR,
|
||||
`LPostalCode2` VARCHAR,
|
||||
`LCity2` VARCHAR,
|
||||
`LCountry` VARCHAR,
|
||||
`LLon` VARCHAR,
|
||||
`LLat` VARCHAR,
|
||||
KEY `Index_Location` (`LTitle`,`LStreetNr`,`LPostalCode`,`LCity`,`LCountry`) USING BTREE,
|
||||
PRIMARY KEY (`LID`)
|
||||
CREATE TABLE Location (
|
||||
LID INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (LID),
|
||||
LTitle VARCHAR(64),
|
||||
LStreetNr VARCHAR(128),
|
||||
LPostalCode1 VARCHAR(16),
|
||||
LPostalCode2 VARCHAR(16),
|
||||
LCity1 VARCHAR(32),
|
||||
LCity2 VARCHAR(32),
|
||||
POBox VARCHAR(16),
|
||||
LCountry VARCHAR(64),
|
||||
LLon VARCHAR(8),
|
||||
LLat VARCHAR(8),
|
||||
INDEX (LTitle,LStreetNr,LPostalCode1,LPostalCode2,LCity1,LCity2,LCountry)
|
||||
);
|
||||
CREATE TABLE `Know_How_Background` (
|
||||
`KNID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`KNID`)
|
||||
CREATE TABLE Tag (
|
||||
TID INT NOT NULL AUTO_INCREMENT,
|
||||
TagName VARCHAR(64) NOT NULL,
|
||||
TagDescription VARCHAR(255),
|
||||
PRIMARY KEY (TID)
|
||||
);
|
||||
CREATE TABLE `Event_Kategorie` (
|
||||
`EKID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`EKID`)
|
||||
CREATE TABLE KnowHowBackground (
|
||||
KNID INT NOT NULL AUTO_INCREMENT,
|
||||
KNTitle VARCHAR(64) NOT NULL,
|
||||
KNContent VARCHAR(255),
|
||||
KNAbstract VARCHAR(255) NOT NULL,
|
||||
KNUrl VARCHAR(255),
|
||||
PRIMARY KEY (KNID)
|
||||
);
|
||||
CREATE TABLE `Tag` (
|
||||
`TID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`TID`)
|
||||
CREATE TABLE EventsKategorie (
|
||||
EKID INT NOT NULL AUTO_INCREMENT,
|
||||
EKName VARCHAR(64) NOT NULL,
|
||||
EKDescription VARCHAR(255),
|
||||
PRIMARY KEY (EKID)
|
||||
);
|
||||
CREATE TABLE `News_Kategorie` (
|
||||
`NKID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKID`)
|
||||
CREATE TABLE NewsKategorie (
|
||||
NKID INT NOT NULL AUTO_INCREMENT,
|
||||
NKName VARCHAR(64) NOT NULL,
|
||||
NKDescription VARCHAR(255),
|
||||
PRIMARY KEY (NKID)
|
||||
);
|
||||
CREATE TABLE `Channel_Kategorie` (
|
||||
`CKID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`CKID`)
|
||||
CREATE TABLE ChannelKategorie (
|
||||
CKID INT NOT NULL AUTO_INCREMENT,
|
||||
CKName VARCHAR(64) NOT NULL,
|
||||
CKDescription VARCHAR(255),
|
||||
PRIMARY KEY (CKID)
|
||||
);
|
||||
|
||||
#Relationcharts
|
||||
CREATE TABLE `News-News_Kategorie` (
|
||||
`NNKID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NNKID`)
|
||||
FOREIGN KEY (`NID`) REFERENCES News(`NID`)
|
||||
FOREIGN KEY (`NKID`) REFERENCES News_Kategorie(`NKID`)
|
||||
CREATE TABLE News_NewsKategorie (
|
||||
NNKID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NID INT NOT NULL,
|
||||
FK_NKID INT NOT NULL,
|
||||
PRIMARY KEY (NNKID),
|
||||
CONSTRAINT FK_NID1 FOREIGN KEY (FK_NID) REFERENCES News(NID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT FK_NKID1 FOREIGN KEY (FK_NKID) REFERENCES NewsKategorie(NKID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News-Channel_Kategorie` (
|
||||
`NCKID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NCKID`)
|
||||
FOREIGN KEY (`NID`) REFERENCES News(`NID`)
|
||||
FOREIGN KEY (`CKID`) REFERENCES Channel_Kategorie(`CKID`)
|
||||
CREATE TABLE News_ChannelKategorie (
|
||||
NCKID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NID INT NOT NULL,
|
||||
FK_CKID INT NOT NULL,
|
||||
PRIMARY KEY (NCKID),
|
||||
FOREIGN KEY (FK_NID) REFERENCES News(NID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_CKID) REFERENCES ChannelKategorie(CKID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News-Tag` (
|
||||
`TNID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`TNID`)
|
||||
FOREIGN KEY (`NID`) REFERENCES News(`NID`)
|
||||
FOREIGN KEY (`TID`) REFERENCES Tag(`TID`)
|
||||
CREATE TABLE News_Tag (
|
||||
TNID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NID INT NOT NULL,
|
||||
FK_TID INT NOT NULL,
|
||||
PRIMARY KEY (TNID),
|
||||
FOREIGN KEY (FK_NID) REFERENCES News(NID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_TID) REFERENCES Tag(TID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (`NKID`) REFERENCES News_Kategorie(`NKID`)
|
||||
FOREIGN KEY (`OID`) REFERENCES Organisation(`OID`)
|
||||
CREATE TABLE News_Events (
|
||||
NEID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NID INT NOT NULL,
|
||||
FK_EID INT NOT NULL,
|
||||
PRIMARY KEY (NEID),
|
||||
FOREIGN KEY (FK_NID) REFERENCES News(NID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_EID) REFERENCES Events(EID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE News_Organisation (
|
||||
NOID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (NOID),
|
||||
FOREIGN KEY (FK_NID) REFERENCES News(NID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE Organisation_NewsKategorie (
|
||||
ONKID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_NKID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (ONKID),
|
||||
FOREIGN KEY (FK_NKID) REFERENCES NewsKategorie(NKID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (`NKID`) REFERENCES News_Kategorie(`NKID`)
|
||||
FOREIGN KEY (`OID`) REFERENCES Organisation(`OID`)
|
||||
);
|
||||
CREATE TABLE `News-Event` (
|
||||
`NEID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NEID`)
|
||||
FOREIGN KEY (`NID`) REFERENCES News(`NID`)
|
||||
FOREIGN KEY (`EID`) REFERENCES Event(`EID`)
|
||||
);
|
||||
CREATE TABLE `News-Organisation` (
|
||||
`NOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NOID`)
|
||||
FOREIGN KEY (`NID`) REFS News(`NID`)
|
||||
FOREIGN KEY (`OID`) REFERENCES Organisation(`OID`)
|
||||
CREATE TABLE Organisation_Location (
|
||||
OLID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_LID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (OLID),
|
||||
FOREIGN KEY (FK_LID) REFERENCES Location(LID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (`NKID`) REFERENCES News_Kategorie(`NKID`)
|
||||
FOREIGN KEY (`OID`) REFERENCES Organisation(`OID`)
|
||||
CREATE TABLE Organisation_KnowHowBackground (
|
||||
OKNID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_KNID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (OKNID),
|
||||
FOREIGN KEY (FK_KNID) REFERENCES KnowHowBackground(KNID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News_KategoCREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
|
||||
FOREIGN KEY (OID) REFERENCES Organisation(OID)
|
||||
);ganisation` (
|
||||
`NKOID` INT NOT NULL CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
|
||||
FOREIGN KEY (OID) REFERENCES Organisation(OID)
|
||||
|
||||
|
||||
)
|
||||
PRIMARY KEY (`NKOID`)CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
|
||||
FOREIGN KEY (OID) REFERENCES Organisation(OID)
|
||||
CREATE TABLE Organisation_Tag (
|
||||
OTID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_TID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (OTID),
|
||||
FOREIGN KEY (FK_TID) REFERENCES Tag(TID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE Organisation_Events (
|
||||
OEID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_EID INT NOT NULL,
|
||||
FK_OID INT NOT NULL,
|
||||
PRIMARY KEY (OEID),
|
||||
FOREIGN KEY (FK_EID) REFERENCES Events(EID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_OID) REFERENCES Organisation(OID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
|
||||
FOREIGN KEY (OID) REFERENCES Organisation(OID)
|
||||
CREATE TABLE Events_Tag (
|
||||
ETID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_TID INT NOT NULL,
|
||||
FK_EID INT NOT NULL,
|
||||
PRIMARY KEY (ETID),
|
||||
FOREIGN KEY (FK_TID) REFERENCES Tag(TID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_EID) REFERENCES Events(EID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE `News_Kategorie-Organisation` (
|
||||
`NKOID` INT NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`NKOID`)
|
||||
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
|
||||
FOREIGN KEY (OID) REFERENCES Organisation(OID)
|
||||
);
|
||||
Organisation-Location(OLID,OID,LID)
|
||||
Organisation-Know_How_Background(OKNID,OID,KNID)
|
||||
Event-Tag(ETID,TID,EID)
|
||||
Event-Location(ELID,EID,TID)
|
||||
Event-Event_Kategorie(EEKID,EID,EKID)
|
||||
CREATE TABLE Events_Location (
|
||||
ELID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_EID INT NOT NULL,
|
||||
FK_LID INT NOT NULL,
|
||||
PRIMARY KEY (ELID),
|
||||
FOREIGN KEY (FK_EID) REFERENCES Events(EID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_LID) REFERENCES Location(LID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
CREATE TABLE Events_EventsKategorie (
|
||||
EEKID INT NOT NULL AUTO_INCREMENT,
|
||||
FK_EID INT NOT NULL,
|
||||
FK_EKID INT NOT NULL,
|
||||
PRIMARY KEY (EEKID),
|
||||
FOREIGN KEY (FK_EID) REFERENCES Events(EID) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (FK_EKID) REFERENCES EventsKategorie(EKID) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
Loading…
Reference in New Issue