削除された内容 追加された内容
編集の要約なし
編集の要約なし
34 行
IBM社のDB2は、長い間、自社プラットフォーム上でしか動作せず、表舞台に立っていたとは言えないが、SQLの歴史的背景の実績だけに留まらず、DB2シリーズ(UDB)に置いては、競合するOracle社から良きライバルとして評価されている。またIBM側もOracleのトランザクション処理における高い技術力を評価しあう関係にある。
 
::== ''スキーマ定義'' ==
<!--
スキーマとは、データを格納する枠組み(データベース)を定義するものである。
== 文法 ==
表定義の他、アクセス権限、インデックス付与、ビュー定義等もスキーマに含まれる。
=== データ定義言語 ===
データ定義言語とは、RDBMS上のデータベースやテーブル等のスキーマを操作する為に用意された言語もしくは要素である。
* CREATE
* DROP
* ALTER
=== データ操作言語 ===
データ操作言語とは、RDBMS上に蓄積された(あるいは、する)データを操作する為に用意された言語もしくは要素である。
*INSERT
*SELECT
*DELETE
 
=== 表定義 ===
== 図解とサンプル==
表定義とは、実際にデータの出納を行う物理的な定義を意味する。
以下で取り扱う図解とサンプルでは、可読性のためマルチバイトを使用している。
実際に、マルチバイトを使う際には、データベースの文字コード設定を求められる事がある。
 
=== CREATE TABLE ===
{|class="wikitable"
|+個人情報テーブル(テーブル名:personal)
!フィールド名!!データ型!!オプション
|-
!ID
|char(32)||not null
|-
|-
!氏
71 ⟶ 63行目:
|char(128)||null
|}
:文法
:: CREATE TABLE ''テーブル名''(
:: ''スキーマ定義''
:: );
:記述例
:: CREATE TABLE personal (
:: ID番号 integer(20) not null,
:: ユーザID char(32) not null,
:: 氏 char(32) not null,
:: 名 char(32) not null,
:: 年齢 integer(3) unsigned not null,
:: 職業 char(128) not null,
:: 住所 char(128),
:: PRIMARY KEY(ID番号),
:: UNIQUE(ユーザID)
:: );
==== 整合性制約 ====
:: not null - データを空(null)の状態に出来ない。全レコードは、このカラムに値を持つ。
* PRIMARY KEY
:: unsigned - 負数を扱わない。
* FOREIGN KEY
:: char(32) とは、 32バイトまで扱う事を明示している。ただし integer(3)は、3バイトではなく3桁の意図となるので注意が必要。
* NOT NULL
* UNIQUE
* CHECK
=== ビュー定義 ===
ビュー定義とは、表定義のうち指定条件を満たす行で構成される仮想的な表である。
 
<!--
== 文法 ==
=== データ定義言語 ===
データ定義言語とは、RDBMS上のデータベースやテーブル等のスキーマを操作する為に用意された言語もしくは要素である。
* CREATE
* DROP
* ALTER
=== データ操作言語 ===
データ操作言語とは、RDBMS上に蓄積された(あるいは、する)データを操作する為に用意された言語もしくは要素である。
*INSERT
*SELECT
*DELETE
 
== 図解とサンプル==
以下で取り扱う図解とサンプルでは、可読性のためマルチバイトを使用している。
実際に、マルチバイトを使う際には、データベースの文字コード設定を求められる事がある。
 
=== CREATE TABLE ===
=== ALTER TABLE ===
=== INSERT ===