2

データ ソース: 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 までの同等のコードを検索するのに適していますが、そうでない場合の逆引きにはあまり役に立ちません。コードがどのに属しているかわかりません。ビューを次のように構造化することをお勧めします(明確にするために値を空白のままにした上記の表から作成)。Part2TPart1FALSE

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* で必要です。ビューを使用してデータを必要な構造に変換できる場合、データを複製したり、維持するためにテーブルを作成しすぎたりしないようにすることも目標です。Part3Part2B


複数の列を 1 つの一意の列に結合して、テーブルからこのビューを作成するにはどうすればよいですか? …それとも PostgreSQL でも可能ですか?

4

1 に答える 1