Initial implementation of KD2 parser. Small changes to JMdict (NULLs instead of...
[jblite.git] / jmdict_db_schema.txt
blob35be26a3b553dfe2eec4eaf73abcb48fb007a57c
1 Entry\r
2   - ent_seq\r
3   * k_ele\r
4     - keb\r
5     * ke_inf\r
6     * ke_pri\r
7   + r_ele\r
8     - reb\r
9     ? re_nokanji\r
10     * re_restr\r
11     * re_inf\r
12     * re_pri\r
13   ? info\r
14     * links\r
15       - link_tag\r
16       - link_desc\r
17       - link_uri\r
18     * bibl\r
19       ? bib_tag\r
20       ? bib_txt\r
21     * etym (UNUSED)\r
22     * audit\r
23       - upd_date\r
24       - upd_detl\r
25   + sense\r
26     * stagk\r
27     * stagr\r
28     * pos\r
29     * xref*  # not sure why it's (#PCDATA)*...\r
30     * ant*   # not sure why it's (#PCDATA)*...\r
31     * field\r
32     * misc\r
33     * s_inf\r
34     * lsource\r
35     * dial\r
36     * gloss\r
37       * pri (UNUSED)\r
38     * example\r
41 entry:\r
42   auto_inc (?)\r
43   ent_seq (also unique int)... good enough?\r
45 entry < k_ele - keb\r
46               < ke_inf\r
47               < ke_pri\r
49 # SIMPLE translation from XML to SQL:\r
50 # Unique key for each table,\r
51 # plus indexed foreign key (except top-level element)\r
53 entity: id, ent_seq\r
54   k_ele: id, fk, blob (<keb>)\r
55     k_ele_inf: id, fk, entity\r
56     k_ele_pri: id, fk, value\r
57   r_ele: id, fk, blob, nokanji(flag)\r
58     r_ele_restr: id, fk, value\r
59     r_ele_inf: id, fk, entity\r
60     r_ele_pri: id, fk, value\r
61 ...etc, for all tables.\r
63 sense: id, fk\r
65 Other tables: pretty much as we planned, but add the fk in, and make\r
66 the primary key an auto-increment.  Will leave us with fewer tables\r
67 and may reduce size slightly.\r
70 ---------------\r
71 Old notes below\r
72 ---------------\r
74 entry  # Keep around just as a full listing...\r
75   id  # ent_seq good enough...?\r
77 entry_k_ele\r
78 k_ele_inf\r
79 k_ele_pri\r
80 entry_r_ele\r
81 r_ele_restr\r
82 r_ele_inf\r
83 r_ele_pri\r
84 entry_links #unused\r
85 entry_bibl #unused\r
86 entry_etym #unused\r
87 entry_audit\r
88 entry_sense\r
89 sense_stagk\r
90 sense_stagr\r
91 sense_pos\r
92 sense_xref\r
93 sense_ant\r
94 sense_field\r
95 sense_misc\r
96 sense_s_inf\r
97 sense_dial\r
98 sense_example\r
99 sense_lsource\r
100 sense_gloss\r
101 gloss_pri  #unused\r
102   (id_parent\r
103    seq)\r
104   id_child\r
106 k_ele  # k_ele  (id, keb => id, value)\r
107 ke_inf\r
108 ke_pri\r
109 re_restr\r
110 re_inf\r
111 re_pri\r
112 stagk\r
113 stagr\r
114 pos\r
115 xref\r
116 ant\r
117 field\r
118 misc\r
119 s_inf\r
120 dial\r
121 example\r
122 pri: UNUSED\r
123   id\r
124   value\r
126 r_ele\r
127   id\r
128   value    # reb\r
129   nokanji  # re_nokanji (boolean)\r
131 audit\r
132   id\r
133   update_date\r
134   update_details\r
136 lsource\r
137   id\r
138   lang (default eng)\r
139   ls_type ("full" or "part"... full implied, part if spec'd... meaning???)\r
140   ls_wasei (t/f flag, "y" if true, not spec'd otherwise)\r
142 gloss\r
143   id\r
144   lang (eng def)\r
145   g_gend (can be null) (unused)\r
146   value\r
147   pri?  (t/f: if true, use pri table)\r
149 links  # UNUSED\r
150   id\r
151   tag\r
152   desc\r
153   uri\r
155 bibl  # UNUSED\r
156   id\r
157   tag\r
158   txt\r
160 etym  # UNUSED\r
163 SUPPORT TABLES:\r
165 entities:\r
166   id  # surrogate in case entity is ever changed\r
167   entity\r
168   value\r