Open wylli opened 3 years ago
MER atualizado junto aos outros TS:
SQL MER:
`-- MySQL Script generated by MySQL Workbench -- Wed May 26 11:03:45 2021 -- Model: New Model Version: 1.0 -- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- Schema alfabd
DROP SCHEMA IF EXISTS alfabd
;
-- Schema alfabd
CREATE SCHEMA IF NOT EXISTS alfabd
DEFAULT CHARACTER SET utf8 ;
SHOW WARNINGS;
USE alfabd
;
-- Table alfabd
.answer
DROP TABLE IF EXISTS alfabd
.answer
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.answer
(
ans_id
INT NOT NULL,
user_use_id
INT NOT NULL,
user_role_rol_id
INT NOT NULL,
task_tas_id
INT NOT NULL,
task_user_use_id
INT NOT NULL,
task_user_role_rol_id
INT NOT NULL,
task_question_que_id
INT NOT NULL,
ans_answer
VARCHAR(45) NOT NULL,
ans_score
FLOAT NULL,
ans_time_to_answer
DATETIME NOT NULL,
ans_attempt_number
INT NOT NULL,
ans_record_saund_path
VARCHAR(45) NOT NULL,
ans_modified_at
DATETIME NULL,
PRIMARY KEY (ans_id
, user_use_id
, user_role_rol_id
, task_tas_id
, task_user_use_id
, task_user_role_rol_id
, task_question_que_id
),
UNIQUE INDEX ans_id_UNIQUE
(ans_id
ASC) VISIBLE,
INDEX fk_answer_user1_idx
(user_use_id
ASC, user_role_rol_id
ASC) VISIBLE,
INDEX fk_answer_task1_idx
(task_tas_id
ASC, task_user_use_id
ASC, task_user_role_rol_id
ASC, task_question_que_id
ASC) VISIBLE,
CONSTRAINT fk_answer_user1
FOREIGN KEY (user_use_id
, user_role_rol_id
)
REFERENCES alfabd
.user
(use_id
, role_rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_answer_task1
FOREIGN KEY (task_tas_id
, task_user_use_id
, task_user_role_rol_id
, task_question_que_id
)
REFERENCES alfabd
.task
(tas_id
, user_use_id
, user_role_rol_id
, question_que_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.attendence
DROP TABLE IF EXISTS alfabd
.attendence
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.attendence
(
att_id
INT NOT NULL,
user_use_id
INT NOT NULL,
user_role_rol_id
INT NOT NULL,
class_cla_id
INT NOT NULL,
class_scholl_sch_id
INT NOT NULL,
PRIMARY KEY (att_id
, user_use_id
, user_role_rol_id
, class_cla_id
, class_scholl_sch_id
),
UNIQUE INDEX att_id_UNIQUE
(att_id
ASC) VISIBLE,
INDEX fk_attendence_user1_idx
(user_use_id
ASC, user_role_rol_id
ASC) VISIBLE,
INDEX fk_attendence_class1_idx
(class_cla_id
ASC, class_scholl_sch_id
ASC) VISIBLE,
CONSTRAINT fk_attendence_user1
FOREIGN KEY (user_use_id
, user_role_rol_id
)
REFERENCES alfabd
.user
(use_id
, role_rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_attendence_class1
FOREIGN KEY (class_cla_id
, class_scholl_sch_id
)
REFERENCES alfabd
.class
(cla_id
, scholl_sch_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.class
DROP TABLE IF EXISTS alfabd
.class
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.class
(
cla_id
INT NOT NULL,
scholl_sch_id
INT NOT NULL,
cla_name
VARCHAR(45) NOT NULL,
cla_status
VARCHAR(45) NOT NULL,
user_use_id
INT NOT NULL,
user_role_rol_id
INT NOT NULL,
PRIMARY KEY (cla_id
, scholl_sch_id
, user_use_id
, user_role_rol_id
),
UNIQUE INDEX cla_id_UNIQUE
(cla_id
ASC) VISIBLE,
INDEX fk_class_scholl1_idx
(scholl_sch_id
ASC) VISIBLE,
INDEX fk_class_user1_idx
(user_use_id
ASC, user_role_rol_id
ASC) VISIBLE,
CONSTRAINT fk_class_scholl1
FOREIGN KEY (scholl_sch_id
)
REFERENCES alfabd
.scholl
(sch_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_class_user1
FOREIGN KEY (user_use_id
, user_role_rol_id
)
REFERENCES alfabd
.user
(use_id
, role_rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.fluency_metrics
DROP TABLE IF EXISTS alfabd
.fluency_metrics
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.fluency_metrics
(
flu_id
INT NOT NULL,
flu_velocity
FLOAT NOT NULL,
flu_precision
FLOAT NOT NULL,
flu_pauses
FLOAT NOT NULL,
answer_ans_id
INT NOT NULL,
PRIMARY KEY (flu_id
, answer_ans_id
),
UNIQUE INDEX flu_id_UNIQUE
(flu_id
ASC) VISIBLE,
INDEX fk_fluency_metrics_answer1_idx
(answer_ans_id
ASC) VISIBLE,
CONSTRAINT fk_fluency_metrics_answer1
FOREIGN KEY (answer_ans_id
)
REFERENCES alfabd
.answer
(ans_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.question
DROP TABLE IF EXISTS alfabd
.question
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.question
(
que_id
INT NOT NULL,
user_use_id
INT NOT NULL,
user_role_rol_id
INT NOT NULL,
que_question
VARCHAR(255) NOT NULL,
que_options
VARCHAR(255) NOT NULL,
que_answer
VARCHAR(45) NOT NULL,
que_score
VARCHAR(45) NOT NULL,
que_category
VARCHAR(45) NOT NULL,
que_pictureUrl
VARCHAR(45) NULL,
PRIMARY KEY (que_id
),
UNIQUE INDEX que_id_UNIQUE
(que_id
ASC) VISIBLE,
INDEX fk_question_user1_idx
(user_use_id
ASC, user_role_rol_id
ASC) VISIBLE,
CONSTRAINT fk_question_user1
FOREIGN KEY (user_use_id
, user_role_rol_id
)
REFERENCES alfabd
.user
(use_id
, role_rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.role
DROP TABLE IF EXISTS alfabd
.role
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.role
(
rol_id
INT NOT NULL,
rol_name
VARCHAR(45) NOT NULL,
PRIMARY KEY (rol_id
),
UNIQUE INDEX rol_id_UNIQUE
(rol_id
ASC) VISIBLE)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.scholl
DROP TABLE IF EXISTS alfabd
.scholl
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.scholl
(
sch_id
INT NOT NULL,
sch_cnpj
VARCHAR(45) NOT NULL,
sch_name
VARCHAR(45) NOT NULL,
sch_mecNumber
VARCHAR(45) NOT NULL,
sch_adress
VARCHAR(45) NOT NULL,
sch_city
VARCHAR(45) NOT NULL,
sch_state
VARCHAR(45) NOT NULL,
sch_status
VARCHAR(45) NULL,
PRIMARY KEY (sch_id
),
UNIQUE INDEX sch_id_UNIQUE
(sch_id
ASC) VISIBLE,
UNIQUE INDEX sch_cnpj_UNIQUE
(sch_cnpj
ASC) VISIBLE)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.task
DROP TABLE IF EXISTS alfabd
.task
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.task
(
tas_id
INT NOT NULL,
tas_createDate
DATETIME NOT NULL,
user_use_id
INT NULL,
user_role_rol_id
INT NULL,
question_que_id
INT NOT NULL,
PRIMARY KEY (tas_id
, user_use_id
, user_role_rol_id
, question_que_id
),
UNIQUE INDEX tas_id_UNIQUE
(tas_id
ASC) VISIBLE,
INDEX fk_task_user1_idx
(user_use_id
ASC, user_role_rol_id
ASC) VISIBLE,
INDEX fk_task_question1_idx
(question_que_id
ASC) VISIBLE,
CONSTRAINT fk_task_user1
FOREIGN KEY (user_use_id
, user_role_rol_id
)
REFERENCES alfabd
.user
(use_id
, role_rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT fk_task_question1
FOREIGN KEY (question_que_id
)
REFERENCES alfabd
.question
(que_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
-- Table alfabd
.user
DROP TABLE IF EXISTS alfabd
.user
;
SHOW WARNINGS;
CREATE TABLE IF NOT EXISTS alfabd
.user
(
use_id
INT NOT NULL,
use_cpf
VARCHAR(45) NOT NULL,
use_name
VARCHAR(45) NOT NULL,
use_email
VARCHAR(45) NOT NULL,
use_password_hash
VARCHAR(45) NOT NULL,
use_birthDate
DATETIME NOT NULL,
use_telephone
VARCHAR(45) NULL,
use_primaryRole
VARCHAR(45) NULL,
use_secondaryRole
VARCHAR(45) NULL,
role_rol_id
INT NOT NULL,
PRIMARY KEY (use_id
, role_rol_id
),
UNIQUE INDEX use_id_UNIQUE
(use_id
ASC) VISIBLE,
UNIQUE INDEX use_cpf_UNIQUE
(use_cpf
ASC) VISIBLE,
INDEX fk_user_role_idx
(role_rol_id
ASC) VISIBLE,
CONSTRAINT fk_user_role
FOREIGN KEY (role_rol_id
)
REFERENCES alfabd
.role
(rol_id
)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SHOW WARNINGS;
SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; `
Criar Modelo Entidade Relacionamento MER conforme análise #136