データ ソース: http://www-01.sil.org/iso639-3/iso-639-3_20130520.tab
だから私はこのようなテーブルを持っています(実際のテーブルから省略されています):
Part3 Part2B Part2T Part1 Scope Type Name Comment
aaa NULL NULL NULL I L Ghotuo NULL
aar aar aar aa I L Afar NULL
ach ach ach NULL I L Acoli NULL
ave ave ave ae I A Avestan NULL
bod tib bod bo I L Tibetan NULL
ces cze ces cs I L Czech NULL
列、、、Id
およびは、Part2B
国際的にさまざまな規格で使用されるコードであり、すべてISO 639の一部です。これは、ISO 639-2(B)、ISO 639-2(T)、または ISO 639-1 から ISO 639-3 までの同等のコードを検索するのに適していますが、そうでない場合の逆引きにはあまり役に立ちません。コードがどの列に属しているかわかりません。ビューを次のように構造化することをお勧めします(明確にするために値を空白のままにした上記の表から作成)。Part2T
Part1
FALSE
Code Part3 Part2B Part2T Part1
aa TRUE
aaa TRUE
aar TRUE TRUE TRUE
ach TRUE TRUE TRUE
ae TRUE
ave TRUE TRUE TRUE
bo TRUE
bod TRUE TRUE
ces TRUE TRUE
cs TRUE
cze TRUE
tib TRUE
この構造により、Part2T
が のサブセットであることは明らかですが、そうではありません。したがって、 ISO 639 規格のどの部分でコードが有効であるかを指定するには、すべてのコードの 1 つの列がブール値*columns* で必要です。ビューを使用してデータを必要な構造に変換できる場合、データを複製したり、維持するためにテーブルを作成しすぎたりしないようにすることも目標です。Part3
Part2B
複数の列を 1 つの一意の列に結合して、テーブルからこのビューを作成するにはどうすればよいですか? …それとも PostgreSQL でも可能ですか?