免責事項: 私は言語学者であり、コンピューター科学者ではありません。私はプログラミングに精通していますが、専門家ではありません。このプロジェクトは、絶滅の危機に瀕している言語の大規模な辞書用です。約 1000 個の語彙素を分類して、どの単語が欠落しているか、追加される可能性があるかを視覚的に確認できるようにする必要があります。
MySQL に 2 つのテーブルがあります。
- レキシコンテーブル
- カテゴリー表
レキシコン テーブルの各レコード (行) には、カテゴリ テーブル (名前をfolderに変更した) の ID に対応する親 ID 値 ( pid ) があります。
隣接モデルに従ってこれを設計しました (ツリーを簡単に変更するには柔軟性が必要です)。
カテゴリー
| folder | name | pfolder |
+--------+-------------+---------+
| 1 | Animals | NULL |
| 2 | Wild | 1 |
| 3 | Domestic | 1 |
辞書
| id | pid | word | translation |
+--------+-------+-------------+-------------+
| 1 | 3 | Hund | dog |
| 2 | 2 | Rentier | reindeer |
| 3 | | Maus | Mouse |
ゴール
| main | main_content | sub1 | sub1_content | sub2 | sub2_content |
+---------+---------------+-----------+--------------+-----------+--------------+
| Animals | NULL | Domestic | Hund | NULL | NULL |
| Animals | NULL | Wild | Rentier | NULL | NULL |
| Animals | Maus | NULL | NULL | NULL | NULL |
サンプルクエリ
これを行う方法がわかりません。複数のテーブルがあるため、このチュートリアルを単純に実行することはできません。
この単純なクエリはうまくいきませんか?
SELECT main.name AS main
FROM categories AS main
LEFT JOIN hd FROM lexicon ON lexicon.pid = categories.main
最終的に
整理された語彙素の素敵なリストを完成させたいと思います。ここでは、フォルダーには太字、リスト アイテムには斜体を使用しました。
- 動物
- 野生
- レンティエ
- 国内
- ハンド
- マウス
- 野生
このデータは xelatex を使用して印刷されます。簡単にするために、上記の表の例は最小限に抑えました。レキシコン テーブルの実際のクエリには、、、lexeme
およびorthographic word
(phonetic word
国際音声記号の) が含まれます。