· 8 years ago · Dec 09, 2017, 10:30 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 `kdict2` ;
7
8-- -----------------------------------------------------
9-- Table `kdict2`.`word_type`
10-- -----------------------------------------------------
11CREATE TABLE IF NOT EXISTS `kdict2`.`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 `kdict2`.`language`
21-- -----------------------------------------------------
22CREATE TABLE IF NOT EXISTS `kdict2`.`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 `kdict2`.`word`
32-- -----------------------------------------------------
33CREATE TABLE IF NOT EXISTS `kdict2`.`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 CONSTRAINT `fk_word_word_type1`
47 FOREIGN KEY (`word_type_id` )
48 REFERENCES `kdict2`.`word_type` (`id` )
49 ON DELETE NO ACTION
50 ON UPDATE NO ACTION,
51 CONSTRAINT `fk_word_language1`
52 FOREIGN KEY (`language_id` )
53 REFERENCES `kdict2`.`language` (`id` )
54 ON DELETE NO ACTION
55 ON UPDATE NO ACTION)
56ENGINE = InnoDB;
57
58
59-- -----------------------------------------------------
60-- Table `kdict2`.`tag`
61-- -----------------------------------------------------
62CREATE TABLE IF NOT EXISTS `kdict2`.`tag` (
63 `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
64 `tag` TINYTEXT NOT NULL ,
65 `slug_url` TINYTEXT NULL ,
66 `slug_url_crc` INT(10) UNSIGNED NULL ,
67 PRIMARY KEY (`id`) )
68ENGINE = InnoDB;
69
70
71-- -----------------------------------------------------
72-- Table `kdict2`.`word_has_tag`
73-- -----------------------------------------------------
74CREATE TABLE IF NOT EXISTS `kdict2`.`word_has_tag` (
75 `word_id` INT UNSIGNED NOT NULL ,
76 `tag_id` INT UNSIGNED NOT NULL ,
77 PRIMARY KEY (`word_id`, `tag_id`) ,
78 INDEX `fk_word_has_tag_word` (`word_id` ASC) ,
79 INDEX `fk_word_has_tag_tag1` (`tag_id` ASC) ,
80 CONSTRAINT `fk_word_has_tag_word`
81 FOREIGN KEY (`word_id` )
82 REFERENCES `kdict2`.`word` (`id` )
83 ON DELETE NO ACTION
84 ON UPDATE NO ACTION,
85 CONSTRAINT `fk_word_has_tag_tag1`
86 FOREIGN KEY (`tag_id` )
87 REFERENCES `kdict2`.`tag` (`id` )
88 ON DELETE NO ACTION
89 ON UPDATE NO ACTION)
90ENGINE = InnoDB;
91
92
93-- -----------------------------------------------------
94-- Table `kdict2`.`word_has_word`
95-- -----------------------------------------------------
96CREATE TABLE IF NOT EXISTS `kdict2`.`word_has_word` (
97 `source_id` INT UNSIGNED NOT NULL ,
98 `source_language_id` INT UNSIGNED NOT NULL ,
99 `target_id` INT UNSIGNED NOT NULL ,
100 `target_language_id` INT UNSIGNED NOT NULL ,
101 PRIMARY KEY (`source_id`, `source_language_id`, `target_id`, `target_language_id`) ,
102 INDEX `fk_word_has_word_word1` (`source_id` ASC, `source_language_id` ASC) ,
103 INDEX `fk_word_has_word_word2` (`target_id` ASC, `target_language_id` ASC) ,
104 CONSTRAINT `fk_word_has_word_word1`
105 FOREIGN KEY (`source_id` , `source_language_id` )
106 REFERENCES `kdict2`.`word` (`id` , `language_id` )
107 ON DELETE NO ACTION
108 ON UPDATE NO ACTION,
109 CONSTRAINT `fk_word_has_word_word2`
110 FOREIGN KEY (`target_id` , `target_language_id` )
111 REFERENCES `kdict2`.`word` (`id` , `language_id` )
112 ON DELETE NO ACTION
113 ON UPDATE NO ACTION)
114ENGINE = InnoDB;
115
116
117
118SET SQL_MODE=@OLD_SQL_MODE;
119SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
120SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;