2027年12月31日金曜日

[おまじない]免責事項

[おまじない]
/* おまじないここから */
-------------------------------------------------------------
本サイトは、あなたに対して何も保証しません。本サイトの関係者は、あなたに対して一切責任を負いません。あなたが、本サイトを利用(閲覧、投稿、外部での再利用など全てを含む)する場合は、自己責任で行う必要があります。
・利用の結果生じた損害について、一切責任を負いません。
・コンテンツとして提供する全ての文章、画像、音声情報について、内容の合法性・正確性・安全性等、あらゆる点において保証しません。
・リンクをしている外部サイトについては、何ら保証しません。
-------------------------------------------------------------
/* おまじないここまで */

[タイトルタグについて]
特に断りのない限り、タイトルタグは以下の内容を扱います。

★[Oracle]
Oracle社のリレーショナルデータベースシステムに関する事柄です。どうでもいいけど、OracleはOracleデータベースそのものを指す単語として扱ってほしい。OracleAPサーバとかブランド戦略的にどうなのよ。
Oracle Database(オラクル データベース)とは、米国オラクル (Oracle) が開発・販売している、リレーショナルデータベースマネージメントシステム (RDBMS) のことである。Oracle Databaseは世界初の商用RDBMSであり、メインフレームからパーソナルコンピュータまで、幅広いプラットフォームをサポートしている。
(Wikipediaより引用)


[Oracle環境について]
Oracle Databaseに関する記事は特に断りの無い限り、以下のいずれかの環境での出来事です。
-Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
-Oracle Database 10g Express Edition Release 10.2.0.1.0

SQL文は思い出しながら書いているものもあるので。文法エラーがしばしばあることでしょう。

2010年2月4日木曜日

[SQLServer]基礎強化メモ - 列定義オプション

・IDENTITY
 一意の値を自動的に付与する。
 INSERT文発行時にエラーとなった場合に飛び番号が発生する。
 飛び番号を補完したい場合はSET IDENTITY_INSERTコマンドで変更できる。
 現在の値はDBCC CHECKIDENTコマンドで確認できる。
 現在の値はDBCC CHECKIDENTコマンドで変更できる。

・COLLATE
 照合順序を設定する。

2009年12月20日日曜日

[SQLServer]基礎強化メモ - データ整合性

制約や参照整合性についてのメモ。
FOREIGN KEY制約がOracleと大きく違うような気がする。
(FOREIGN KEY制約とCHECK制約は業務で使った事ない・・・)

・PRIMARY KEY
 内部インデックスが作成される。
 NULLは許可しない。
・FOREIGN KEY
 参照キー変更時の挙動をREFERENCES句で設定できる。
  削除/更新時(ON DELETE / ON UPDATE)
  →何もしない/外部キー変更/NULL設定/デフォルト値設定
   (NO ACTION / CASCADE / SET NULL / SET DEFAULT)
 
・UNIQUE制約
 内部インデックスが作成される。
 NULLは1件のみ許可する。
 VARCHAR(MAX)とスパース列には設定できない。
・NOT NULL
・DEFAULT
・CHECK
 固定値以外に、同一テーブルの別の列値に制限することもできる(組織マスタ等の自己参照テーブルなどで使用)

2009年11月18日水曜日

[SQLServer]基礎強化メモ - テーブル定義

テーブル作成についてのメモ。
一般的なテーブルは特筆すべき点なし。
一時テーブルはOracleだと[create grobal temporary table]だけど同一セッションからしか参照できなかった気がする。
他のセッションから参照できるのはSQLServer独自かもしれない。

▼一般的なテーブルの定義文
列のデフォルトはNULL。
列レベルで、インスタンスに設定された照合順序(COLLATE)を上書きすることができる。
照合順序の設定は「列 > データベース > インスタンス」の順に優先する。
--------------------------------------
<文法>
CREATE TABLE スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)
--------------------------------------


▼一時テーブル
一時テーブルはtempdbに作成される。
 ・ローカル一時テーブル
  →作成したセッションのみで使用できる。
 ・グローバル一時テーブル
  →すべてのセッションから参照できる。
   →グローバル一時テーブルを作成したセッションが終了すると、
    グローバル一時テーブルは消滅する。
--------------------------------------
<文法>
[ローカル一時テーブル]
CREATE TABLE #スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)

[グローバル一時テーブル]
CREATE TABLE ##スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)
--------------------------------------

2009年7月7日火曜日

[DB2]とりあえず触ってみる - ネットワーク接続に変更

Oracleで言うところのローカル接続→SQL*NET接続への変更

▼サーバの設定確認
●DB2ポート番号の確認
コマンド・ウィンドウにて以下のコマンドを発行
------------------------------------------
[Usage]
db2 get dbm cfg | find "SVCENAME"
------------------------------------------
->「TCP/IP サービス名」部分に表示された値がサービス名。

------------------------------------------
TCP/IP サービス名 (SVCENAME) = db2c_DB2
SSL サービス名 (SSL_SVCENAME) =
------------------------------------------
->この場合、db2c_DB2がサービス名となる。

「C:\WINDOWS\system32\drivers\etc\services」を開いてサービス名のポート番号を確認。
------------------------------------------
db2c_DB2 50000/tcp
------------------------------------------
->50000がポート番号であることを確認。



●DB2COMMレジストリ変数の確認
コマンド・ウィンドウにて以下のコマンドを発行
------------------------------------------
DB2COMM=TCPIP
------------------------------------------
->TCPIPと表示されればOK。



▼クライアントとしての設定
サーバに接続するためには、ノード情報を設定する必要がある。
ノードには、サーバのIPアドレスとポート番号を設定する。
ノードを作成するには、CATALOGコマンドを使用する。
●ノードの作成
コマンド・ウィンドウにて以下のコマンドを発行する。
------------------------------------------
[Usage]
db2 CATALOG tcpip NODE remote server
------------------------------------------
[Sample]
db2 CATALOG tcpip NODE MyNode remote 127.0.0.0 server 50000
------------------------------------------



●DBのカタログ
作成したノードを「カタログ」することで実際に使用可能になる。
------------------------------------------
[Usage]
db2 CATALOG DB AS AT NODE
------------------------------------------
[Sample]
db2 CATALOG DB Sample AS MyDbSample AT NODE MyNode
------------------------------------------

カタログ情報は以下のコマンドで確認することができる。
------------------------------------------
[Usage]
db2 list db directory
------------------------------------------



●カタログの削除
以下のコマンドで作成したカタログを削除できる。
・データベース情報の削除
------------------------------------------
[Usage]
db2 uncatalog database
------------------------------------------
[Sample]
db2 uncatalog database MyDbSample
------------------------------------------

・ノード情報の削除
------------------------------------------
[Usage]
db2 uncatalog node
------------------------------------------
[Sample]
db2 uncatalog node MyNode
------------------------------------------

2009年7月4日土曜日

[DB2]とりあえず触ってみる - 各種コマンドメモ

<各種コマンドメモ>
●コマンドを実行するためのツール
・コマンド・ウィンドウ
Windowsスタートメニューから起動する。
コマンドプロンプトから直接起動できないのは仕様らしい(ホント?)

・CLP(コマンド行プロセッサー)
コマンド・ウィンドウから「db2」コマンドでCLP起動となる。



#以下はコマンド・ウィンドウで実行する場合のコマンドです。
CLPで実行する場合、先頭の「db2」を削除してください。
●DB2コマンド一覧(SQLは含まない)
------------------------------------------
[Usage]
db2 ?
------------------------------------------
->Oracleで言うところのSQL*PLUSコマンドと同じっぽい



●データベースへの接続
------------------------------------------
[Usage]
db2 connect to [user using ]
------------------------------------------
->user以下を省略すると、OS認証となる。



●データベース接続状況の確認
------------------------------------------
[Usage]
db2 connect
------------------------------------------



●データベースからの切断
------------------------------------------
[Usage]
db2 connect reset
or
db2 terminate
------------------------------------------
->この2つにニュアンスの違いってあるのかなあ?
[答え]http://www-01.ibm.com/support/docview.wss?uid=std305ef4bde22d56168492575060035a024



●オートコミット解除
#デフォルトでオートコミットはON・・・恐ろしい子

・その1
オートコミット=オフでコマンド行プロセッサーを起動
------------------------------------------
[Usage]
db2 +c
------------------------------------------

・その2
SQL毎にオン/オフを切り替えて実行
------------------------------------------
[Usage]
db2 +c
------------------------------------------
->このへんの環境まわりの設定は「db2 list command」コマンドを叩いてみよう



●オートコミット状態の確認
------------------------------------------
[Usage]
db2 list command options
------------------------------------------
-> 「-c 自動コミット (ON|OFF)」で確認。



●テーブル一覧の取得
------------------------------------------
[Usage]
db2 list tables
------------------------------------------
->このへんの一覧表示系コマンドは「db2 ? list」コマンドを叩いてみよう



●テーブル定義の表示
------------------------------------------
[Usage]
db2 describe table [show detail]
------------------------------------------
-> show detailをつけると、より詳しい情報が表示される。



●データベースの作成
------------------------------------------
[Usage]
db2 create database on using codeset territory collate using
------------------------------------------
->詳しいことはこのへん参照
http://www.atmarkit.co.jp/flinux/rensai/db2_02/db2_02b.html



●エラーコードの詳細確認
------------------------------------------
[Usage]
db2 ?
------------------------------------------




●DB2コマンドの文法確認
------------------------------------------
[Usage]
db2 ?
------------------------------------------

2009年7月2日木曜日

[DB2]Express-Cインストールメモ

<はじめに>
・DB/2のデも知らないので学習用に導入した。

<導入した環境>
・Windows-32bit(XP Professional)

<手順>
1.前提条件を確認
http://www-06.ibm.com/software/jp/data/db2/v9/express-c/

2.ダウンロード
ダウンロードしたバージョンは
「1.DB2 Express-C for Windows Version 9.7 」
ちなみに要会員登録。

3.インストール
setup.exeを起動するとウィザードが立ち上がるのでポチペチ

完了。接続テストはまた今度。