· 6 years ago · Nov 17, 2019, 02:10 PM
1-- MySQL Script generated by MySQL Workbench
2-- Sun Nov 17 14:06:49 2019
3-- Model: New Model Version: 1.0
4-- MySQL Workbench Forward Engineering
5
6SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
7SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
8SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
9
10-- -----------------------------------------------------
11-- Schema eRecarga
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Schema eRecarga
16-- -----------------------------------------------------
17CREATE SCHEMA IF NOT EXISTS `eRecarga` DEFAULT CHARACTER SET utf8 ;
18USE `eRecarga` ;
19
20-- -----------------------------------------------------
21-- Table `eRecarga`.`utilizador`
22-- -----------------------------------------------------
23CREATE TABLE IF NOT EXISTS `eRecarga`.`utilizador` (
24 `idUtilizador` INT NOT NULL AUTO_INCREMENT,
25 `username` VARCHAR(45) NULL,
26 `password` VARCHAR(255) NULL,
27 PRIMARY KEY (`idUtilizador`),
28 UNIQUE INDEX `username_UNIQUE` (`username` ASC),
29 UNIQUE INDEX `password_UNIQUE` (`password` ASC))
30ENGINE = InnoDB;
31
32
33-- -----------------------------------------------------
34-- Table `eRecarga`.`regiao`
35-- -----------------------------------------------------
36CREATE TABLE IF NOT EXISTS `eRecarga`.`regiao` (
37 `idRegiao` INT NOT NULL AUTO_INCREMENT,
38 `nomeRegiao` VARCHAR(100) NULL,
39 PRIMARY KEY (`idRegiao`))
40ENGINE = InnoDB;
41
42
43-- -----------------------------------------------------
44-- Table `eRecarga`.`posto`
45-- -----------------------------------------------------
46CREATE TABLE IF NOT EXISTS `eRecarga`.`posto` (
47 `idPosto` INT NOT NULL AUTO_INCREMENT,
48 `localizacao` VARCHAR(155) NULL,
49 `idRegiao` INT NOT NULL,
50 `precoCarregamento` DOUBLE NULL,
51 PRIMARY KEY (`idPosto`),
52 CONSTRAINT `fk_posto_regiao1`
53 FOREIGN KEY (`idRegiao`)
54 REFERENCES `eRecarga`.`regiao` (`idRegiao`)
55 ON DELETE NO ACTION
56 ON UPDATE NO ACTION)
57ENGINE = InnoDB;
58
59
60-- -----------------------------------------------------
61-- Table `eRecarga`.`reserva`
62-- -----------------------------------------------------
63CREATE TABLE IF NOT EXISTS `eRecarga`.`reserva` (
64 `idUtilizador` INT NOT NULL,
65 `idReserva` INT NOT NULL AUTO_INCREMENT,
66 `codServico` INT NULL,
67 `custoPrevisto` DOUBLE NULL,
68 `idPosto` INT NOT NULL,
69 `estado` VARCHAR(45) NULL,
70 `diaReserva` DATE NULL,
71 PRIMARY KEY (`idReserva`),
72 INDEX `fk_reserva_utilizador1_idx` (`idUtilizador` ASC),
73 INDEX `fk_reserva_posto1_idx` (`idPosto` ASC),
74 CONSTRAINT `fk_reserva_utilizador1`
75 FOREIGN KEY (`idUtilizador`)
76 REFERENCES `eRecarga`.`utilizador` (`idUtilizador`)
77 ON DELETE NO ACTION
78 ON UPDATE NO ACTION,
79 CONSTRAINT `fk_reserva_posto1`
80 FOREIGN KEY (`idPosto`)
81 REFERENCES `eRecarga`.`posto` (`idPosto`)
82 ON DELETE NO ACTION
83 ON UPDATE NO ACTION)
84ENGINE = InnoDB;
85
86
87-- -----------------------------------------------------
88-- Table `eRecarga`.`intervaloTempo`
89-- -----------------------------------------------------
90CREATE TABLE IF NOT EXISTS `eRecarga`.`intervaloTempo` (
91 `idIntervaloTempo` INT NOT NULL AUTO_INCREMENT,
92 `horaInicio` VARCHAR(45) NULL,
93 `horaFim` VARCHAR(45) NULL,
94 PRIMARY KEY (`idIntervaloTempo`))
95ENGINE = InnoDB;
96
97
98-- -----------------------------------------------------
99-- Table `eRecarga`.`disponibilidadesByTempo`
100-- -----------------------------------------------------
101CREATE TABLE IF NOT EXISTS `eRecarga`.`disponibilidadesByTempo` (
102 `idPosto` INT NOT NULL,
103 `idIntervaloTempo` INT NOT NULL,
104 `disponibilidade` TINYINT NULL,
105 INDEX `fk_posto_has_intervaloTempo_intervaloTempo1_idx` (`idIntervaloTempo` ASC),
106 INDEX `fk_posto_has_intervaloTempo_posto1_idx` (`idPosto` ASC),
107 CONSTRAINT `fk_posto_has_intervaloTempo_posto1`
108 FOREIGN KEY (`idPosto`)
109 REFERENCES `eRecarga`.`posto` (`idPosto`)
110 ON DELETE NO ACTION
111 ON UPDATE NO ACTION,
112 CONSTRAINT `fk_posto_has_intervaloTempo_intervaloTempo1`
113 FOREIGN KEY (`idIntervaloTempo`)
114 REFERENCES `eRecarga`.`intervaloTempo` (`idIntervaloTempo`)
115 ON DELETE NO ACTION
116 ON UPDATE NO ACTION)
117ENGINE = InnoDB;
118
119
120-- -----------------------------------------------------
121-- Table `eRecarga`.`itinerario`
122-- -----------------------------------------------------
123CREATE TABLE IF NOT EXISTS `eRecarga`.`itinerario` (
124 `iditinerario` INT NOT NULL,
125 `partida` VARCHAR(45) NULL,
126 `destino` VARCHAR(45) NULL,
127 PRIMARY KEY (`iditinerario`))
128ENGINE = InnoDB;
129
130
131SET SQL_MODE=@OLD_SQL_MODE;
132SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
133SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;