· 8 years ago · Dec 17, 2017, 01:58 AM
1-- MySQL Script generated by MySQL Workbench
2-- Tue Nov 28 12:30:12 2017
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 UFRJ
12-- -----------------------------------------------------
13
14-- -----------------------------------------------------
15-- Table `Area`
16-- -----------------------------------------------------
17CREATE TABLE IF NOT EXISTS `Area` (
18 `nome` VARCHAR(64) NOT NULL,
19 PRIMARY KEY (`nome`))
20ENGINE = InnoDB;
21
22
23-- -----------------------------------------------------
24-- Table `Pessoa`
25-- -----------------------------------------------------
26CREATE TABLE IF NOT EXISTS `Pessoa` (
27 `nome` VARCHAR(255) NOT NULL,
28 `CPF` VARCHAR(11) NOT NULL,
29 `data_nascimento` DATE NULL,
30 `sexo` VARCHAR(1) NULL,
31 PRIMARY KEY (`nome`, `CPF`),
32 INDEX `inheritance` (`data_nascimento` ASC, `sexo` ASC))
33ENGINE = InnoDB;
34
35
36-- -----------------------------------------------------
37-- Table `Tipo_de_Professor`
38-- -----------------------------------------------------
39CREATE TABLE IF NOT EXISTS `Tipo_de_Professor` (
40 `tipo` VARCHAR(16) NOT NULL,
41 PRIMARY KEY (`tipo`))
42ENGINE = InnoDB;
43
44
45-- -----------------------------------------------------
46-- Table `Professor`
47-- -----------------------------------------------------
48CREATE TABLE `Professor` (
49 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
50 `nome` VARCHAR(255) NOT NULL,
51 `CPF` VARCHAR(11) NOT NULL,
52 `data_nascimento` DATE NULL,
53 `sexo` VARCHAR(1) NULL,
54 `titulo` VARCHAR(64) NOT NULL,
55 `tipo` VARCHAR(16) NOT NULL,
56 `predio` VARCHAR(32) NOT NULL,
57 `sala` VARCHAR(16) NULL,
58 `telefone` VARCHAR(13) NULL,
59 `email` VARCHAR(64) NULL,
60 `site` VARCHAR(64) NULL,
61 PRIMARY KEY (`id`),
62 INDEX `fk_Professor_Pessoa1_idx` (`nome` ASC, `CPF` ASC,
63 `data_nascimento` ASC, `sexo` ASC),
64 INDEX `tipo_idx` (`tipo` ASC),
65 UNIQUE INDEX `nome_UNIQUE` (`nome` ASC),
66 UNIQUE INDEX `CPF_UNIQUE` (`CPF` ASC),
67 CONSTRAINT `fk_Professor_Pessoa1`
68 FOREIGN KEY (`nome` , `CPF` , `data_nascimento` , `sexo`)
69 REFERENCES `Pessoa` (`nome` , `CPF` , `data_nascimento` , `sexo`)
70 ON DELETE NO ACTION
71 ON UPDATE NO ACTION,
72 CONSTRAINT `tipo`
73 FOREIGN KEY (`tipo`)
74 REFERENCES `Tipo_de_Professor` (`tipo`)
75 ON DELETE NO ACTION
76 ON UPDATE NO ACTION)
77ENGINE = InnoDB;
78
79
80SET SQL_MODE=@OLD_SQL_MODE;
81SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
82SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;