PREPARATION
受験対策

Silverの例題解説
「S3.1 SQL コマンド(データ型)」

S3 開発/SQL - S3.1 SQL コマンド(データ型)」からの出題です。

例題

3.131

PostgreSQLでテーブルに使用できるデータ型について正しいものを2つ選びなさい。

  1. integer型は4バイトの整数である。
  2. unsigned int型を使用して非負の整数を扱うことができる。
  3. long int型を利用して8バイトの整数を扱うことができる。
  4. byte型を利用して1バイトの整数を扱うことができる。
  5. numeric型は小数点を含めて40桁以上の10進数を扱うことができる。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2021年9月22日

解答と解説

整数については、2バイト(-32768から+32767まで)のsmallint型、4バイト(-2147483648から+2147483647まで)のinteger型、8バイト(-9223372036854775808から+9223372036854775807まで)のbigint型がサポートされます。多くの環境ではintegerだけで十分でしょうが、ディスク容量に厳しい制約があり、比較的小さな整数しか使わない場合はsmallint型を、また20億を超える大きな整数を使う可能性がある場合はbigint型を使用します。integerの代わりにintと書くこともできます。bigintの代わりにint8という表記もサポートされますが、long intという書き方はできません。

データベースの種類によっては、1バイトの整数や、非負(unsigned)の整数を扱う機能がありますが、PostgreSQLではサポートされません。

浮動小数点を扱うために、real型(単精度)とdouble precision型(倍精度)がサポートはされていますが、これらは10進数を扱うときに、例えば0.1の10倍が1にならない、といった誤差が発生します。そのような誤差なしに10進演算を行う(金銭の計算などで重要です)ためにnumeric型がサポートされています。numeric型では最大桁数と小数点以下の桁数を指定することでデータ型を定義しますが、最大で1000桁まで指定できます(事実上、無制限と言っても良さそうですね)。なお、numericの代わりにdecimalと書くこともできます。

したがって正解はAとEです。

PostgreSQLで使用できる数値データ型については https://www.postgresql.jp/document/12/html/datatype-numeric.html を参照してください。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。