ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

NTTデータ、「日の丸勘定系」計画始動、富士通はまずは差異を明確にすべきだよね!

2007-04-22 22:57:58 | Weblog

日経コンピューター2007年4月16日号(特集「ITがあってこそ」の号)13ページのHOT NEWSに”NTTデータが「日の丸勘定系」計画を始動”という記事があります。
 それによると(以下斜体は上記記事より引用)

 NTTデータが、開発中のオープン勘定系パッケージ「Open BeSTA(仮称)」を銀行業界の標準製品に育てているプロジェクトを進めていることがわかった。勘定系システムの開発実績がある富士通や日立製作所、NECに、銅製品に取り扱いを強く働きかけている。


 そうな。キーポイントは、約20の地銀から勘定系の開発・保守を受け持っている富士通がどう動くかだそうな。。

 こーいうのって、現行システムと、その標準化しようとするものとの差異を、まずは、明確にすべきだよね。。
 まあ、もし、同じであれば、パッケージに載ってしまえば、富士通は逆に、そのパッケージ上で動く付加価値システムを作成していままでの顧客+それ以外の顧客に販売するという手もあるし、逆に、差異があれば、その点をユーザーに強調して。。っていうことができる。

機能面で大差ないとされる

っていう話だけど、実際には、処理スピードとか、微妙なデータの持ち方の差異とかがあるだろうし、そこが致命的な差ということもあるので、機能といった、動詞的な世界だけでなく、名詞的、副詞的世界の部分もチェックしないといけない(まあ、そこまで世の中のフィットアンドギャップ分析の理論が進んでいるのかという話もあるが。。)
 



でもこれって、NTTデータはギャンブラーじゃないのかなあ。。

パッケージみたいなものは、完璧なものは結局作れない。
だからAとBという2つがある場合、AでうまくいかないとB,でもBでもうまくいかないとまたAと顧客は漂流し、結局、いいパーセンテージのところでとまる。その際、AでやっていることをBで、BでやっていることをAでやれば、ずっとバージョンアップが出来るので、どちらも儲けることができる(これが、マイクロソフトが、Appleをつぶさない理由だと思う。。もし、マイクロソフトがAppleをつぶしちゃったら、自分で全部開発しないといけない)。。

 でも、もし、Aパッケージで業界全部のシェアを取ってしまったら、短期的には、ぼろもうけだろうけど、結局不満のあるユーザーは、満たされない気持ちをどこかで引きずっている。
 そこで、新たな新興勢力が出てくると、一気にシェアがひっくり返されてしまう。
(印刷における写研→DTPのようなかんじ)。

 今回のケースでも、これで、もし、「日の丸勘定系」っていうのが出来た後で、地銀になんらかの不満が出た場合、IBMとかユニシスあたりが、地銀向けシステムを出されたら。。やばくない(^^;)?




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その16:内部スキーマ(4)テーブル作成)。

2007-04-22 13:13:02 | 土日シリーズ

 情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

 今、三層スキーマ構造(概念スキーマ、内部スキーマ、外部スキーマ)の内部スキーマをやっています。
 で、いままでの話で、内部スキーマは

   テーブルは、いくつかの項目をもっていて、項目には型がある
   インデックスという早く検索できるしくみをつけることができる。
      これは1ないし、複数の項目からなり、B木とハッシュがある

 ということをかきました。

 で、きょうは、実際にこれを宣言して見ます。




■テーブルを作成する
 テーブルを作成するには、テーブル作成をするSQLというのを書いて、実行するのですが、MySQLだと、その前にデータベースというのを作成します。
 SQLについては、外部スキーマ編でくわしく書きます。

 いや、それまで待てないという人は、
JavaでHello World > JDBC(MySQL)編
http://www.hellohiro.com/jdbcmysql.htm

を見てください。

 MySQLの場合、以下の手順で、テーブルを作成します。

1.MySQLをインストールします(これは1回でいい)

2.MySQLデーモンを立ちあげます(サーバーを立ち上げるたびに行う)
  mysqldコマンドを打ちます。オプションも付けられます。詳しくは上記サイト参照

3.データベースを作成します(あらたなDBを作りたいたびごとに)
  mysqladminコマンドで作成します。オプションも付けられます。詳しくは上記サイト参照

4.対話型MySQLクライアントを起動します
  mysqlコマンドで起動し、3でつくったデータベースを選択します
  (引数から指定して選択できるし、use データベース名;で、mySQL内でも切り替え可能)

5.テーブルの作成
  テーブルを作成するSQL文を実行します。
  SQL文の内容は、以下に話します。




■テーブル作成のSQL文
上記のJavaでHello Worldに、テーブル作成の例があります。

CREATE TABLE HELLO_WORLD_TABLE (
  NO INTEGER NOT NULL,
  LANGUAGE VARCHAR(50),
  MESSAGE VARCHAR(100),
  PRIMARY KEY(NO)
); 


こんなように、
CREATE TABLE テーブル名 (
  項目名 型 制約(Not NULLなど)があれば。。(なければかかない),
     :
     :
  PRIMARY KEY(主キー項目)
);


というかたちで書きます。
なお、主キーが2項目以上の場合は、
  PRIMARY KEY(主キー項目1,主キー項目2,・・・主キー項目N)
となります。

ちなみに、
CREATE TABLE HELLO_WORLD_TABLE (
  NO INTEGER NOT NULL,
  LANGUAGE VARCHAR(50),
  MESSAGE VARCHAR(100),
  PRIMARY KEY(NO)
) TYPE=InnoDB;

というように、最後にInnoDBとかつけると、InnoDB形式でDBをつくります。
InnoDBは、トランザクション処理が可能になります。

CREATE INDEXの書き方のちゃんとした説明はここ
6.5.3. CREATE TABLE 構文
http://dev.mysql.com/doc/refman/4.1/ja/create-table.html






■インデックスのつくりかた

 で、インデックスについて。
 インデックスは、CREATE TABLEの中にもかけるし、あとで、
ここ
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_06.htm

に書いてある

create index KEY_NAME on testm (
  key1,
  data1
);

のように、
CREATE INDEX インデックスの名前 ON テーブル名(項目1,・・・,項目N)
のかたちで、あとからつけることができる。

CREATE INDEXの書き方のちゃんとした説明はここ
6.5.7. CREATE INDEX 構文
http://dev.mysql.com/doc/refman/4.1/ja/create-index.html





■Indexの形式は?
 インデックスが、B+かハッシュかについてですが、
ここ
5.4.3. MySQL でのインデックスの使用
http://dev.mysql.com/doc/refman/4.1/ja/mysql-indexes.html

によると、以下のように書かれています。

MySQL インデックスのすべて(PRIMARY KEY、UNIQUE、および INDEX)は、B ツリーに格納されます。

とかかれています。(4.1のマニュアルですので、現在はちがうかもしれません)

なお、HEAP テーブルは、ハッシュインデックスを使用するのですが、メモリ上に作成し、テンポラリとしての利用がすすめられています(つまり、DBとして永続性をもつようなものを意図しているわけではない)
くわしくは、以下を参照
7.4. HEAP テーブル
http://dev.mysql.com/doc/refman/4.1/ja/heap.html





■なお。。
 富士通のDB、SympoDBでは、ちょっと書き方が違うというか、領域設定など、いろいろとあります。これは、別の機会にかきます(このシリーズではなく)。今、手元に資料がないので。。




 で、今回で、内部スキーマは終わりです。次回から、外部スキーマについてです。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする