夏椰の東屋

- お遊び記録 -

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  108  : 記事  1  : コメント  3974  : トラックバック  30

ニュース


落書きしてね♪

IAM
僕がとった写真です。
ご自由にお使いください。

フィードメーター - 夏椰の東屋 track feed
広告


記事カテゴリ

書庫

日記カテゴリ

Other Site From Kaya

今回は長いので数回に分けて投稿します。

データベースには”スキーマ”という概念があり、

テーブルをカテゴリわけすることが出来るようになっています。

そこで、プログラムがアクセスするスキーマ(以下 trnスキーマ)と

顧客情報など重要度が高いスキーマ(以下mstスキーマ)の2種類を作成し、

それぞれにテーブルを格納していくことをします。

 

まずは、どんなテーブルを作成するかですが・・・・

 ・ユーザ情報

 ・商品情報

 ・ユーザ購入情報(親)

 ・ユーザ購入情報(子)

の4つを作成しようと思います。

 

さてこの2つをtrnスキーマ、mstスキーマに分けてみますと・・・・。

 

mstスキーマ

 ・ユーザ情報

 ・商品情報

trnスキーマ

 ・ユーザ購入情報(親)

 ・ユーザ購入情報(子)

こんな感じになるのではないかと思います。

 

ではそれぞれのスキーマを作成し、テーブルを格納しましょう。


CREATE SCHEMA [mst]
GO
CREATE SCHEMA [trn]
GO

 

 

次に スキーマの所有者を作成します。

mstスキーマの所有者は mstuser

trnスキーマの所有者は trnuser

とします。

さてこの2人を作成します。


CREATE LOGIN [mstuser] WITH PASSWORD=N'パスワード';
GO
CREATE LOGIN [trnuser] WITH PASSWORD=N'パスワード';
GO

これでmstuserとtrnuserが作成されました。

でもこれだけでは接続するためのユーザが出来ただけなんです。

なので、次に以下のSQLを発行します。


CREATE USER [mstuser] FOR LOGIN [mstuser] WITH DEFAULT_SCHEMA=[mst]
GO
CREATE USER [trnuser] FOR LOGIN [trnuser] WITH DEFAULT_SCHEMA=[trn]
GO

このSQLを発行することによって、データベースにユーザが登録されたことになります。

このSQLを見てもらうとわかるのですが、

接続したときにどのスキーマがデフォルトスキーまであるかを定義することが出来ます。

 

次にスキーマの所有者を設定するSQLを発行しましょう。


ALTER AUTHORIZATION ON SCHEMA::[mst] TO [mstuser]
GO
ALTER AUTHORIZATION ON SCHEMA::[trn] TO [trnuser]
GO

すでに作成したスキーマに対し、mstスキーマの所有者はmstuser

trnスキーマの所有者はtrnuserにしなさいというSQLを発行しています。

 

ここまでの作業によって mstスキーマとtrnスキーマが作成され、それぞれにmstuser、trnuserというスキーマ所有者を作成したことになります。

 

さて、スキーマを作成したので、テーブルを作成します。

テーブルの内容は以下の通りとします。

ユーザ情報
ID LN FN POST ADDRESS
100 NULL 今川 1234567 神奈川県
110 NULL 大木 7654321 東京都
120 NULL 9873216 千葉県
商品情報
ITEMID PRICE ITEMNAME
1 30000 ラケット
2 3000 ボール(1ダース)
3 300 ボール(2個入り)
4 15000 シューズ
5 1000 ソックス
ユーザ購入情報(親)
ID BUYDATE
100 2007/01/01 0:00:00
100 2007/01/02 0:00:00
110 2007/01/02 0:00:00
120 2007/01/03 0:00:00
ユーザ購入情報(子)
ID BUYDATE ITEMID NUM DOWN DOWNTYPE
100 2007/01/01 0:00:00 1 2 0 0
100 2007/01/01 0:00:00 2 1 0 0
100 2007/01/02 0:00:00 4 1 0 0
100 2007/01/02 0:00:00 5 1 0 0
110 2007/01/02 0:00:00 3 2 0 0
110 2007/01/02 0:00:00 5 3 0 0
120 2007/01/03 0:00:00 4 2 0 0
120 2007/01/03 0:00:00 5 2 0 0

これらのテーブルに対するCREATE TABLE文は割愛しますね~。

#知りたい人はコメントいただければ コメント欄へ追記しますが、ここで書くと長くなるので割愛しちゃうのさ。

 

さて、ここまでで”スキーマを作成し、テーブルを作る”ところまで出来ました。

次はそれがどうセキュリティに絡んでくるかのお話♪

 

# 長いよ~~~・・・・orz

 

投稿日時 : 2007年1月3日 19:45

コメント

# スキーマわけによるセキュリティ対策 その2 2007/01/03 20:12 夏椰の東屋
スキーマわけによるセキュリティ対策 その2

# スキーマわけによるセキュリティ対策 その2 2007/01/03 20:21 夏椰の東屋
スキーマわけによるセキュリティ対策 その2

Post Feedback

タイトル
名前
Url:
コメント