cvs: peardoc /ja/package/database/db-table intro-datatypes.xml

[email protected] ("TAKAGI Masahiro")
Newsgroups php.pear.doc
Message-ID <cvstakagi1190596850@cvsserver>
takagi		Mon Sep 24 01:20:50 2007 UTC

  Added files:                 
    /peardoc/ja/package/database/db-table	intro-datatypes.xml 
  Log:
  added Japanese translation.
takagi-20070924012050.txt (text/plain, 12.4 KB)
http://cvs.php.net/viewvc.cgi/peardoc/ja/package/database/db-table/intro-datatypes.xml?view=markup&rev=1.1
Index: peardoc/ja/package/database/db-table/intro-datatypes.xml
+++ peardoc/ja/package/database/db-table/intro-datatypes.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.2 Maintainer: takagi Status: ready -->

<refentry id="package.database.db-table.intro-datatypes">
 <refnamediv>
   <refname>DB_Table のデータ型</refname>
   <refpurpose>
   DB_Table のカラム定義で使用する抽象データ型
   </refpurpose>
 </refnamediv>

<refsect1 id="package.database.db-table.intro-datatypes.desc">
&title.desc;

<para>
DB_Table でサポートするデータ型は、次のとおりです。
<itemizedlist>
  <listitem>
    <simpara>
    2 バイト、4 バイトあるいは 8 バイトの
    <link linkend="package.database.db-table.intro-datatypes.integer">
    整数型</link>
    ('smallint'、'integer' および 'bigint')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    <link linkend="package.database.db-table.intro-datatypes.decimal">
    固定小数点型</link>
    ('decimal')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    単精度あるいは倍精度の
    <link linkend="package.database.db-table.intro-datatypes.float">
    浮動小数点型</link>
    ('float' および 'double')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    true/false のいずれかの値をとる
    <link linkend="package.database.db-table.intro-datatypes.boolean">
    論理型</link>
    ('boolean')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    固定長あるいは可変長の
    <link linkend="package.database.db-table.intro-datatypes.string">
    文字列型</link>
    ('char' および 'varchar')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    ISO "yyyy-mm-dd" 形式の
    <link linkend="package.database.db-table.intro-datatypes.date">
    日付型</link>
    ('date')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    ISO "hh:ii:ss" 形式の
    <link linkend="package.database.db-table.intro-datatypes.time">
    時刻型</link>
    ('time')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    ISO "yyyy-mm-dd hh:ii:ss" 形式の
    <link linkend="package.database.db-table.intro-datatypes.timestamp">
    タイムスタンプ型</link>
    ('timestamp')
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    テキストや ASCII データを保持する
    <link linkend="package.database.db-table.intro-datatypes.clob">
    キャラクタラージオブジェクト (CLOB)</link>
    ('clob')
    </simpara>
  </listitem>
</itemizedlist>
</para>
<para>
DB_Table がデータ型を抽象化しているので、
使用するデータベースにかかわらず同じ方式でデータを保存することができます。
場合によっては (特に日付や時刻、タイムスタンプなどでは)
データベース固有のフォーマットをまったく無視して
データを固定長の文字列で格納することもあります。
</para>
<para>
DB_Table はバイナリラージオブジェクト (BLOB) をサポートしていません。
しかし、キャラクタラージオブジェクト (CLOB) には対応しています。
</para>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.integer">
<title>整数型</title>
<para>
整数型のカラムには 3 種類のサイズがあります。
<itemizedlist>
  <listitem>
     <simpara>
     'smallint' には (-2^15) から +(2^15) までの値、つまり
     -32778 から 32767 までの値を格納できます。
     </simpara>
  </listitem>
  <listitem>
     <simpara>
     'integer' には (-2^31) から +(2^31) までの値、つまり
     -2,147,483,648 から +2,147,483,647 までの値を格納できます。
     </simpara>
  </listitem>
  <listitem>
     <simpara>
     'bigint' には (-2^63) から +(2^63) までの値、つまり
     -9,223,372,036,854,775,808 から +9,223,372,036,854,775,807
     までの値を格納できます。
     </simpara>
  </listitem>
</itemizedlist>
$col の定義で必要なのは、カラムの型を指定するだけです。
サイズやスコープの指定は不要です。
</para>
<example>
<title>整数型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'    => 'integer'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 id="package.database.db-table.intro-datatypes.decimal">
<title>固定小数点型</title>
<para>
固定小数点のカラムを DB_Table で定義するには 'decimal' データ型を使用して
'size' (桁数) と 'scope' (小数点の位置) を指定します。
たとえば、小数点以下 2 桁までを保持する 5 桁の数値を定義するには次のようにします。
</para>

<example>
<title>固定小数点型のカラムの定義</title>
<para>
</para>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'decimal',
        'size'  => 5,
        'scope' => 2
    ),
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
上の例で指定したカラムは、標準 SQL では 5 桁の数値 (そのうち 2 桁が小数点以下)
を保持するものとみなされます。したがって、この場合、
このカラムに格納できる値は -999.99 から 999.99 までとなります。
DB_Table は、使用する RDBMS が何であるかにかかわらずこの方式を適用します。
</para>
</refsect1>
<refsect1 id="package.database.db-table.intro-datatypes.float">
<title>浮動小数点型</title>
<para>
浮動小数点型のカラムを DB_Table で定義するには、'single' あるいは
'double' データ型を使用します。
<itemizedlist>
  <listitem>
    <simpara>
    'single' は単精度浮動小数点数です。
    </simpara>
  </listitem>
  <listitem>
    <simpara>
    'double' は倍精度浮動小数点数です。
    </simpara>
  </listitem>
</itemizedlist>
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>
<example>
<title>浮動小数点型のカラムの宣言</title>
<para>
</para>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'double'
    ),
);                                                                 
?>
]]>
</programlisting>
</example>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.boolean">
<title>論理型</title>
<para>
論理値は true/false (1 あるいは 0) の値をとります。
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>

<example>
<title>論理型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'boolean'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
論理型の値は、サイズ 1、スコープ 0 の固定小数点数値として保存されます。
</para>
<para>
そのカラムが必須ではないときは、第三の値として NULL 値が保存される可能性があります。
この場合、論理型の値は 2 通りではなく 3 通り
(つまり 0|1 ではなく NULL|0|1) となります。
</para>

</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.string">
<title>文字列型</title>
<para>
固定長の文字列型を定義するには 'char' データ型を使用し、
文字列のサイズを指定します。
</para>
<para>
可変長の文字列型を定義するには、'varchar' データ型を使用し、
文字列のカラムの最大サイズを指定します。
</para>
<para>
たとえば、64 文字の可変長文字列を定義するには次のようにします。
<example>
<title>可変長文字列型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'varchar',
        'size'  => 64
    )
);                                                                 
?>
]]>
</programlisting>
</example>
</para>
<para>
'size' 要素は必須ですが、スコープは不要です。
サイズの最大値は 255 文字となります。
</para>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.date">
<title>日付型</title>

<para>
ISO 標準の日付型カラムを定義するには 'date' データ型を使用します。
</para>

<example>
<title>日付型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'date'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>
<para>
'date' の値は常に 10 文字の文字列で格納されます。
そのフォーマットは "yyyy-mm-dd" です。
</para>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.time">
<title>時刻型</title>

<para>
ISO 標準の時刻型 (時・分・秒) を定義するには
'time' データ型を使用します。
</para>

<example>
<title>時刻型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'time'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>
<para>
'time' の値は常に 8 文字の文字列で格納されます。
そのフォーマットは "hh:ii:ss" です。
</para>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.timestamp">
<title>タイムスタンプ型</title>

<para>
ISO 標準の日付・時刻型のカラムを定義するには 'timestamp'
データ型を使用します。
</para>

<example>
<title>タイムスタンプ型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'timestamp'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>
<para>
'timestamp' の値は常に 19 文字の文字列で格納されます。
そのフォーマットは "yyyy-mm-dd hh:ii:ss" (24 時間制) です。
</para>
<para>
注意: Unix のタイムスタンプを保存する場合は 'integer' を使用しましょう。
Unix のタイムスタンプは 4 バイトの整数値であり、
これは DB_Table の 'integer' データ型と完全に一致します。
</para>
</refsect1>

<refsect1 id="package.database.db-table.intro-datatypes.clob">
<title>キャラクタラージオブジェクト (CLOB)</title>
<example>
<title>CLOB 型のカラムの宣言</title>
<programlisting role="php">
<![CDATA[
<?php
var $col = array(
    // 一意な行 ID
    'fieldname' => array(
        'type'  => 'clob'
    )
);                                                                 
?>
]]>
</programlisting>
</example>
<para>
指定する必要があるのはカラムの型だけであり、サイズやスコープの指定は不要です。
</para>
<para>
'clob' の値の保存形式は、巨大なデータ用のネイティブなテキスト型
(<emphasis>例:</emphasis> LONGTEXT) あるいはネイティブな CLOB 型となります。
</para>
</refsect1>

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.