Windows 7 Professional 64 Bit
 Internet Explorer 8
 IIS 7
 Oracle Database 11g Release 2 64 Bit
 Oracle 11g ODAC and Oracle Developer Tools for Visual Studio 11.2.0.1.2
 Visual Web Developer 2010 Express

■データベース構築 Prev Top Next
関連ページ:なし


今回は、データベースの構築を行います。まあいろいろやることがあって大変ですが、がんばってください。


6.Step.6 「SQL Plus」を起動する

データベースの各種設定を行うためには「SQL Plus」というツールを使用します。


起動したらまずOracleに接続します。 最初にユーザーを作成しますが、ユーザーの作成は管理ユーザーで行う必要があるので、管理ユーザーでログインします。


SQLコマンドの意味は
ユーザー名/パスワード@ホスト名/サービス名
です。パスワードはOracleインストール時に設定した管理パスワードです。ホスト名とサービス名は「Oracle Net Configuration Assistant」で設定した内容を入力します。 ちなみパスワードは大文字小文字を区別してチェックするので注意してください。

"接続されました"と表示されたら接続完了です。エラーになった場合は、入力したSQLコマンドを見直してください。


7.Step.7 ユーザーの作成

まずユーザーを作成します。 ユーザーについて簡単に説明すると、権限やテーブルといったオブジェクトをまとめて管理するための概念です。 ユーザーの詳細は申し訳ないが他サイトや書籍で調べてください。

CREATE USER MAVERICK IDENTIFIED BY PROJECT;
これがユーザーを作成するSQLコマンドです。ここでは"MAVERICK"という名称のユーザーを、パスワードを"PROJECT"として作成することにしました。


8.Step.8 権限の付与

"MAVERICK"ユーザーを使用してサンプルPGの開発を行います。しかしこのユーザーは何の権限も持っていないため、何もできません。 そのため"MAVERICK"ユーザーに今後必要となる各種権限を付与します。

●SESSION権限
GRANT CREATE SESSION TO MAVERICK;
データベースに接続する権限を"MAVERICK"ユーザーに与えます。

●CREATE TABLE権限
GRANT CREATE TABLE TO MAVERICK;
テーブルを作成する権限を"MAVERICK"ユーザーに与えます。

●CREATE SEQUENCE権限
GRANT CREATE SEQUENCE TO MAVERICK;
順序を作成する権限を"MAVERICK"ユーザーに与えます。 順序はOracle側で自動的に設定してくれる連番のことです。ユニークキーが必要な場合、順序を使用します。

権限はこれがすべてではありません。詳細については次のページを参照してください。
SQLリファレンス・ガイド


9.Step.9 テーブルスペースの作成

テーブルスペースはデータベース情報をディスク上に保存する領域のことです。 テーブルスペースを作成しないとテーブルを作成できません。

CREATE TABLESPACE SAMPLE_TS DATAFILE 'D:/Oracle/oradata/orcl/SAMPLE.dbf' SIZE 1G;
"SAMPLE_TS"という名称のテーブルスペースを1Gバイトのサイズで、指定したディレクトリ上に作成します。 ファイルを作成するディレクトリとファイル名は任意です。


10.Step.10 デフォルトテーブルスペースの設定

ALTER USER MAVERICK DEFAULT TABLESPACE SAMPLE_TS;
"MAVERICK"ユーザーに対してデフォルトテーブルスペースを指定します。 デフォルトテーブルスペースとは、ユーザーが表や索引といったセグメントを作成するとき、 テーブルスペースを明示的に指定しない場合に使用されるテーブルスペースのことです。


11.Step.11 クォータの設定

ユーザーに対してテーブルスペース上に確保した記憶領域のうち、使用可能な容量を設定します。

ALTER USER MAVERICK QUOTA UNLIMITED ON SAMPLE_TS;
"SAMPLE_TS"という名称のテーブルスペースを利用する権限を"MAVERICK"ユーザーに与えます。テーブルに新規レコードを追加する際に必要となります。 UNLIMITEDを指定するとオブジェクトを無制限(テーブルスペースの許す限り)に作成できるようになります。


12.Step.12 MAVERICKユーザーに変更

ここからは"MAVERICK"ユーザーでの作業となります。次のSQLコマンドを入力してユーザーを切り替えます。
conn MAVERICK/PROJECT@localhost/orcl;


13.Step.13 テーブルの作成

データを格納するテーブルを作成します。今回はアカウント管理プログラムを作成するので、ユーザー情報を格納するテーブルを作成します。

CREATE TABLE USER_MASTER
(
  UserID      NUMBER(6),       -- ログイン時に使用するユーザーID
  E_Mail      VARCHAR2(100),   -- 案内メールを送信するためのメールアドレス
  Password    CHAR(6),         -- ログイン時に使用するパスワード
  Name        VARCHAR2(100),   -- ユーザー名
  Address     VARCHAR2(100),   -- 住所
  Sex         CHAR(2),         -- 性別
  BirthDay    CHAR(8),         -- 生年月日
  FreeComment VARCHAR2(200),   -- フリーコメント領域
  CreateDate  DATE,            -- 仮登録を行ったときの日時
  UpdateDate  DATE,            -- 本登録を行ったときの日時
  DeleteDate  DATE,            -- 登録解除を行ったときの日時
  Primary Key( UserID )        -- 主キーの設定
);

さらに"E_Mail"項目は必ず一意になるので重複する値を登録できないように制約をかけます。
ALTER TABLE USER_MASTER ADD UNIQUE (E_Mail);

新しい順序を作成します。いろいろパラメータがありますが、全部デフォルト値にしておきます。
CREATE SEQUENCE USER_MASTER_SEQ;


おまけSQLコマンド

「SQL Plus」上でログイン中のユーザーを取得します。作業中、たまに忘れるので(笑)。
SELECT USERNAME FROM USER_USERS;

ユーザーを削除するSQLコマンドです。ただしすべて削除はできません。最低でも一人残さないとだめらしいです。
DROP USER ユーザー名 [CASCADE]
[CASCADE]オプションを指定すると、ユーザのスキーマ内のすべてのオブジェクトも削除します。

テーブルスペース一覧を表示するSQLコマンドです。
SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_DATA_FILES;

一時ファイルの一覧を表示するSQLコマンドです。
SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_TEMP_FILES;

ユーザーが所有する権限一覧は次のSQLコマンドで確認できます。
SELECT * FROM USER_SYS_PRIVS;

権限を削除するSQLコマンドは次のとおりです。
REVOKE 権限名 FROM ユーザー名;


今回はここまで。
Prev Top Next
inserted by FC2 system