nog.infio.mirror/src/Database Design/mysql script

148 lines
4.5 KiB
Plaintext

#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 `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 `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 `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 `Know_How_Background` (
`KNID` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`KNID`)
);
CREATE TABLE `Event_Kategorie` (
`EKID` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`EKID`)
);
CREATE TABLE `Tag` (
`TID` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`TID`)
);
CREATE TABLE `News_Kategorie` (
`NKID` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`NKID`)
);
CREATE TABLE `Channel_Kategorie` (
`CKID` INT NOT NULL AUTO_INCREMENT,
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-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-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_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_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 `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_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)
);
FOREIGN KEY (NKID) REFERENCES News_Kategorie(NKID)
FOREIGN KEY (OID) REFERENCES Organisation(OID)
);
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)