· 8 years ago · Dec 09, 2017, 11:14 PM
1SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
2SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
3SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
4
5CREATE SCHEMA IF NOT EXISTS `kdict` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
6USE `tucan2` ;
7
8-- -----------------------------------------------------
9-- Table `tucan2`.`word_type`
10-- -----------------------------------------------------
11CREATE TABLE IF NOT EXISTS `tucan2`.`word_type` (
12 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
13 `type` TINYTEXT NOT NULL ,
14 `abbreviation` TINYTEXT NOT NULL ,
15 PRIMARY KEY (`id`) )
16ENGINE = InnoDB;
17
18
19-- -----------------------------------------------------
20-- Table `tucan2`.`language`
21-- -----------------------------------------------------
22CREATE TABLE IF NOT EXISTS `tucan2`.`language` (
23 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
24 `language` TINYTEXT NOT NULL ,
25 `abbreviation` VARCHAR(2) NOT NULL ,
26 PRIMARY KEY (`id`) )
27ENGINE = InnoDB;
28
29
30-- -----------------------------------------------------
31-- Table `tucan2`.`word`
32-- -----------------------------------------------------
33CREATE TABLE IF NOT EXISTS `tucan2`.`word` (
34 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
35 `word_type_id` INT UNSIGNED NOT NULL ,
36 `language_id` INT UNSIGNED NOT NULL ,
37 `word` TINYTEXT NULL ,
38 `pronunciation` TINYTEXT NULL ,
39 `definition` TEXT NULL ,
40 `sentence` TEXT NULL ,
41 `slug_url` TINYTEXT NULL ,
42 `slug_url_crc` INT(10) UNSIGNED NULL ,
43 PRIMARY KEY (`id`, `word_type_id`, `language_id`) ,
44 INDEX `fk_word_word_type1` (`word_type_id` ASC) ,
45 INDEX `fk_word_language1` (`language_id` ASC) ,
46 INDEX `id_language_id` (`id`, `language_id`) ,
47 CONSTRAINT `fk_word_word_type1`
48 FOREIGN KEY (`word_type_id` )
49 REFERENCES `tucan2`.`word_type` (`id` )
50 ON DELETE NO ACTION
51 ON UPDATE NO ACTION,
52 CONSTRAINT `fk_word_language1`
53 FOREIGN KEY (`language_id` )
54 REFERENCES `tucan2`.`language` (`id` )
55 ON DELETE NO ACTION
56 ON UPDATE NO ACTION)
57ENGINE = InnoDB;
58
59
60-- -----------------------------------------------------
61-- Table `tucan2`.`tag`
62-- -----------------------------------------------------
63CREATE TABLE IF NOT EXISTS `tucan2`.`tag` (
64 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
65 `tag` TINYTEXT NOT NULL ,
66 `slug_url` TINYTEXT NULL ,
67 `slug_url_crc` INT(10) UNSIGNED NULL ,
68 PRIMARY KEY (`id`) )
69ENGINE = InnoDB;
70
71
72-- -----------------------------------------------------
73-- Table `tucan2`.`word_has_tag`
74-- -----------------------------------------------------
75CREATE TABLE IF NOT EXISTS `tucan2`.`word_has_tag` (
76 `word_id` INT UNSIGNED NOT NULL ,
77 `tag_id` INT UNSIGNED NOT NULL ,
78 PRIMARY KEY (`word_id`, `tag_id`) ,
79 INDEX `fk_word_has_tag_word` (`word_id` ASC) ,
80 INDEX `fk_word_has_tag_tag1` (`tag_id` ASC) ,
81 CONSTRAINT `fk_word_has_tag_word`
82 FOREIGN KEY (`word_id` )
83 REFERENCES `tucan2`.`word` (`id` )
84 ON DELETE NO ACTION
85 ON UPDATE NO ACTION,
86 CONSTRAINT `fk_word_has_tag_tag1`
87 FOREIGN KEY (`tag_id` )
88 REFERENCES `tucan2`.`tag` (`id` )
89 ON DELETE NO ACTION
90 ON UPDATE NO ACTION)
91ENGINE = InnoDB;
92
93
94-- -----------------------------------------------------
95-- Table `tucan2`.`word_has_word`
96-- -----------------------------------------------------
97CREATE TABLE IF NOT EXISTS `tucan2`.`word_has_word` (
98 `source_id` INT UNSIGNED NOT NULL ,
99 `source_language_id` INT UNSIGNED NOT NULL ,
100 `target_id` INT UNSIGNED NOT NULL ,
101 `target_language_id` INT UNSIGNED NOT NULL ,
102 PRIMARY KEY (`source_id`, `source_language_id`, `target_id`, `target_language_id`) ,
103 INDEX `fk_word_has_word_word1` (`source_id` ASC, `source_language_id` ASC) ,
104 INDEX `fk_word_has_word_word2` (`target_id` ASC, `target_language_id` ASC) ,
105 CONSTRAINT `fk_word_has_word_word1`
106 FOREIGN KEY (`source_id` , `source_language_id` )
107 REFERENCES `tucan2`.`word` (`id` , `language_id` )
108 ON DELETE NO ACTION
109 ON UPDATE NO ACTION,
110 CONSTRAINT `fk_word_has_word_word2`
111 FOREIGN KEY (`target_id` , `target_language_id` )
112 REFERENCES `tucan2`.`word` (`id` , `language_id` )
113 ON DELETE NO ACTION
114 ON UPDATE NO ACTION)
115ENGINE = InnoDB;
116
117
118
119SET SQL_MODE=@OLD_SQL_MODE;
120SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
121SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;