2017-02-03 17:37:36 +01:00
|
|
|
-- Creates the webshop DB
|
|
|
|
--
|
|
|
|
-- Author: Andreas Zweili
|
|
|
|
-- 2017-02-03
|
|
|
|
-- MariaDB 10.0.27
|
|
|
|
|
|
|
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
|
|
|
SET time_zone = "+00:00";
|
|
|
|
|
|
|
|
create database if not exists webshopdb;
|
|
|
|
grant all on webshopdb.* to
|
|
|
|
'webshop'@'localhost'
|
|
|
|
identified by 'password';
|
|
|
|
flush privileges;
|
|
|
|
|
|
|
|
use webshopdb;
|
|
|
|
CREATE TABLE if not exists `users` (
|
|
|
|
`userId` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
|
|
`userName` varchar(50) DEFAULT NULL,
|
|
|
|
`userFirstname` varchar(50) DEFAULT NULL,
|
|
|
|
`userLogin` varchar(50) NOT NULL,
|
|
|
|
`userEmail` varchar(60) NOT NULL UNIQUE KEY,
|
|
|
|
`userPass` varchar(255) NOT NULL,
|
2017-02-14 21:06:51 +01:00
|
|
|
`userIsAdmin` BOOL DEFAULT NULL,
|
|
|
|
CONSTRAINT userLoginUnique UNIQUE (userLogin),
|
|
|
|
CONSTRAINT userEmailUnique UNIQUE (userEmail)
|
2017-02-03 17:37:36 +01:00
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
CREATE TABLE if not exists `tags` (
|
|
|
|
`tagId` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
|
|
`text` varchar(50) NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
2017-02-20 20:56:02 +01:00
|
|
|
CREATE TABLE if not exists `quality` (
|
|
|
|
`qualityId` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
|
|
`qualityName` varchar(20) NOT NULL
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
2017-02-03 17:37:36 +01:00
|
|
|
CREATE TABLE if not exists `demands` (
|
|
|
|
`demandId` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
2017-02-20 20:56:02 +01:00
|
|
|
`demandTitle` varchar(50) NOT NULL,
|
|
|
|
`demandText` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
|
2017-02-03 17:37:36 +01:00
|
|
|
`piecesMin` int(11) NOT NULL,
|
|
|
|
`piecesMax` int(11) DEFAULT NULL,
|
|
|
|
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
2017-02-20 20:56:02 +01:00
|
|
|
`qualityId` int(11) NOT NULL,
|
2017-02-03 17:37:36 +01:00
|
|
|
`userId` int(11) NOT NULL,
|
2017-02-17 13:52:36 +01:00
|
|
|
`tagId` int(11) NULL,
|
2017-02-03 17:37:36 +01:00
|
|
|
CONSTRAINT `fk_demands_userId`
|
|
|
|
FOREIGN KEY (userId) REFERENCES users (userId),
|
2017-02-20 20:56:02 +01:00
|
|
|
CONSTRAINT `fk_demands_qualityId`
|
|
|
|
FOREIGN KEY (qualityId) REFERENCES quality (qualityId),
|
2017-02-03 17:37:36 +01:00
|
|
|
CONSTRAINT `fk_tagId`
|
|
|
|
FOREIGN KEY (tagId) REFERENCES tags (tagId)
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
CREATE TABLE if not exists `offers` (
|
|
|
|
`offerId` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
|
|
`text` text CHARACTER SET utf8 COLLATE utf8_bin,
|
|
|
|
`price` float NOT NULL,
|
|
|
|
`pieces` int(11) NOT NULL,
|
|
|
|
`delivery` bool NOT NULL,
|
|
|
|
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
|
`userId` int(11) NOT NULL,
|
|
|
|
CONSTRAINT `fk_offers_userId`
|
|
|
|
FOREIGN KEY (userId) REFERENCES users (userId)
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
|