CREATE TABLE `user` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phone` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `name` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `surname` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`userid`),
  UNIQUE KEY `idtaxies_UNIQUE` (`userid`),
  UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `clienttype` (
  `clienttypeid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `discount` int(11) DEFAULT NULL,
  `moneyspent` decimal(10,0) DEFAULT NULL,
  PRIMARY KEY (`clienttypeid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


CREATE TABLE `client` (
  `clientid` int(11) NOT NULL AUTO_INCREMENT,
  `userid` int(11) NOT NULL,
  PRIMARY KEY (`clientid`),
  UNIQUE KEY `clientid_UNIQUE` (`clientid`),
  UNIQUE KEY `userid_UNIQUE` (`userid`),
  CONSTRAINT `usersid` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `driver` (
  `driverid` int(11) NOT NULL AUTO_INCREMENT,
  `userid` int(11) DEFAULT NULL,
  PRIMARY KEY (`driverid`),
  UNIQUE KEY `driverid_UNIQUE` (`driverid`),
  UNIQUE KEY `userid_UNIQUE` (`userid`),
  CONSTRAINT `userid` FOREIGN KEY (`userid`) REFERENCES `user` (`userid`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `taxitype` (
  `taxitypeid` int(11) NOT NULL AUTO_INCREMENT,
  `taxitypename` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `fare` decimal(11,0) DEFAULT NULL,
  PRIMARY KEY (`taxitypeid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `taxi` (
  `taxiid` int(11) NOT NULL AUTO_INCREMENT,
  `taxitypeid` int(11) DEFAULT NULL,
  `carnumber` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `driverid` int(11) DEFAULT NULL,
  PRIMARY KEY (`taxiid`),
  UNIQUE KEY `taxiid_UNIQUE` (`taxiid`),
  KEY `taxitypeid_idx` (`taxitypeid`),
  KEY `driverid_idx` (`driverid`),
  CONSTRAINT `driverid` FOREIGN KEY (`driverid`) REFERENCES `driver` (`driverid`) ON DELETE CASCADE ON UPDATE NO ACTION,
  CONSTRAINT `taxitypeid` FOREIGN KEY (`taxitypeid`) REFERENCES `taxitype` (`taxitypeid`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `ride` (
  `rideid` int(11) NOT NULL AUTO_INCREMENT,
  `driverid` int(11) DEFAULT NULL,
  `clientid` int(11) DEFAULT NULL,
  `distance` decimal(10,0) DEFAULT NULL,
  `ridestart` datetime DEFAULT NULL,
  `ridefinish` datetime DEFAULT NULL,
  `cost` decimal(10,0) DEFAULT NULL,
  `taxiid` int(11) DEFAULT NULL,
  PRIMARY KEY (`rideid`),
  KEY `clientid_idx` (`clientid`),
  KEY `driverid_idx` (`driverid`),
  KEY `taxiid_idx` (`taxiid`),
  CONSTRAINT `clientsid` FOREIGN KEY (`clientid`) REFERENCES `client` (`clientid`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `driversid` FOREIGN KEY (`driverid`) REFERENCES `driver` (`driverid`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `taxisid` FOREIGN KEY (`taxiid`) REFERENCES `taxi` (`taxiid`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `admin` (
  `adminid` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `password` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `name` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `surname` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`adminid`),
  UNIQUE KEY `adminid_UNIQUE` (`adminid`),
  UNIQUE KEY `email_UNIQUE` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


