· 10 years ago · Sep 20, 2016, 01:52 PM
1CREATE SCHEMA IF NOT EXISTS `blockchain` DEFAULT CHARACTER SET utf8 ;
2USE `blockchain` ;
3
4-- -----------------------------------------------------
5-- Table `blockchain`.`user`
6-- -----------------------------------------------------
7CREATE TABLE IF NOT EXISTS `blockchain`.`user` (
8 `id_user` INT(11) NOT NULL,
9 `name` VARCHAR(45) NOT NULL,
10 `public_key` VARCHAR(1024) NULL DEFAULT NULL,
11 PRIMARY KEY (`id_user`))
12ENGINE = InnoDB
13DEFAULT CHARACTER SET = utf8;
14
15
16-- -----------------------------------------------------
17-- Table `blockchain`.`block`
18-- -----------------------------------------------------
19CREATE TABLE IF NOT EXISTS `blockchain`.`block` (
20 `id_block` INT(11) NOT NULL,
21 `prev_id_block` INT(11) NOT NULL,
22 `id_user` INT(11) NOT NULL,
23 `ts_locked` MEDIUMTEXT NOT NULL,
24 PRIMARY KEY (`id_block`),
25 INDEX `fk_block_block_idx` (`prev_id_block` ASC),
26 INDEX `fk_block_user1_idx` (`id_user` ASC),
27 CONSTRAINT `fk_block_block`
28 FOREIGN KEY (`prev_id_block`)
29 REFERENCES `blockchain`.`block` (`id_block`)
30 ON DELETE NO ACTION
31 ON UPDATE NO ACTION,
32 CONSTRAINT `fk_block_user1`
33 FOREIGN KEY (`id_user`)
34 REFERENCES `blockchain`.`user` (`id_user`)
35 ON DELETE NO ACTION
36 ON UPDATE NO ACTION)
37ENGINE = InnoDB
38DEFAULT CHARACTER SET = utf8;
39
40
41-- -----------------------------------------------------
42-- Table `blockchain`.`transaction`
43-- -----------------------------------------------------
44CREATE TABLE IF NOT EXISTS `blockchain`.`transaction` (
45 `id_transaction` INT(11) NOT NULL,
46 `prev_id_transaction` INT(11) NOT NULL,
47 `id_block` INT(11) NOT NULL,
48 `id_user` INT(11) NOT NULL,
49 `ts_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
50 `information` VARCHAR(45) NOT NULL,
51 `signature` VARCHAR(2000) NULL DEFAULT NULL,
52 PRIMARY KEY (`id_transaction`),
53 INDEX `fk_transaction_transaction1_idx` (`prev_id_transaction` ASC),
54 INDEX `fk_transaction_block1_idx` (`id_block` ASC),
55 INDEX `fk_transaction_user1_idx` (`id_user` ASC),
56 CONSTRAINT `fk_transaction_block1`
57 FOREIGN KEY (`id_block`)
58 REFERENCES `blockchain`.`block` (`id_block`)
59 ON DELETE NO ACTION
60 ON UPDATE NO ACTION,
61 CONSTRAINT `fk_transaction_transaction1`
62 FOREIGN KEY (`prev_id_transaction`)
63 REFERENCES `blockchain`.`transaction` (`id_transaction`)
64 ON DELETE NO ACTION
65 ON UPDATE NO ACTION,
66 CONSTRAINT `fk_transaction_user1`
67 FOREIGN KEY (`id_user`)
68 REFERENCES `blockchain`.`user` (`id_user`)
69 ON DELETE NO ACTION
70 ON UPDATE NO ACTION)
71ENGINE = InnoDB
72DEFAULT CHARACTER SET = utf8;
73
74
75SET SQL_MODE=@OLD_SQL_MODE;
76SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
77SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;