2007/09/12 就職支援 Web システムに用いるデータベース構築 041026 野口 達也*1 041004 岩下 真也*1 *1 システム研究科 3 年 041244 久保 充*2 *2 情報システム科 C クラス 2 年 要旨:本研究は、「インターネットを通じ本校卒業生が就職活動をできるようにしたい」といった就職部から の依頼に基づき、求人情報の閲覧ができる Web アプリケーションのデータベース部分の開発を行う。また、 可能であれば各 DBMS 間の差異を検証する。 キーワード : DBMS、PostgreSQL、データモデリング、PHP プロジェクトの立ち上げ 1. 1.1 作成するシステム 種類、有償3 種類の 6 種類である。下記にその製品と、製品の特 徴をまとめた。 ・ 麻生塾 OB が利用する求職票の検索システムおよび企業が利 世界で最も有名なオープンソース・データベース。他の 用する OB 用求職票入力システム。 1.2 フリーRDBMS と比較して高速性に定評があり、特に更 システム開発の目的 新よりも参照の頻度の高いアプリケーションに向く。しか 就職部からみたシステムの目的 ・ し、ストレージエンジンに高速な MyISAM エンジンを OB の転職活動の支援を効率化・多機能化することによ 利用するとトランザクションが使用できない。そのため、 り、就職部のサービス品質を高める。 トランザクションが利用できる InnoDB エンジンを利用 OB からみたシステムの目的 ・ すると、検索の高速性はチューニングをしなければ得ら 転職活動の効率化 れない。 企業からみたシステムの目的 ・ 1.3 ・ 優秀な人材の発掘 多くの UNIX プラットフォームで稼働し、複数のアイソレ ーションレベルをサポートした完全なトランザクションを ベースを開発するチームに役割を分担する。便宜上プログラム サポートする。また、日本語化、国際化対応が早い段階 を作成するチームを「プログラムチーム」、データベースを開発 から行われたこともあり、日本で多くの導入実績がある。 する私たちのチームを「データベースチーム」とする。 ・ データベース製品の作業領域 概念データモデルの作成 ・ 論理データモデルの作成 ・ 実装作業 ・ テスト ・ 運用計画作成 2. のオープンソース版を元に開発されているオープンソ ースのデータベースソフト。歴史が長い商用データベ ースが元となっているため信頼性が高い、またストアド プロシージャなどの基本的な機能もほとんどそろってい る。また、GUI ベースの管理ツールも存在する。さらに、 自動チューニングや自動スイープ処理機能も存在し、メ データベースチームの立ち上げ ンテナンスをほとんど行わなくてもパフォーマンスを発 揮できる。 プロジェクトがスタートしプログラムチームとデータベースチー ・ ムに分かれての作業を開始した。私たちデータベースチームは、 Oracle 世界シェア No1 の有償データベース製品。書籍や技 運用経験がなく、データベースも Access と Oracle を少々利用し 術者の数が多く、資格検定も存在するため体系的な学 たことがある程度のレベルである。また、開発費用は予算の関係 習が行いやすい。機能的には全データベース製品の から極力抑える必要がある、データベースチームの立ち上げは 中でもトップクラスであり、単一サーバー構成から RAC これらの点を考慮して行ってゆく。 2.1 Firebird 20年以上の歴史を持つ商用RBD ソフト「InterBase®」 以下の項目がデータベースチームの作業である ・ PostgreSQL 完全なソースコードが公開されているフリーRDBMS。 プロジェクト体制 今回のプロジェクトはプログラムを開発するチームと、データ 1.4 MySQL を利用したクラスタリング構成を簡単に構築できるなど 利用を検討したデータベース製品 幅広く利用できる。運用面でも優れ、データベースを停 今回、開発での使用を検討したデータベース製品は、フリー3 止せずにバックアップが取得できる。また、エンタープ (1) 2007/09/12 ライズマネージャーを利用した Web ベースのトータル ・ 管理ツールが存在し、パフォーマンスチューニングから クライアント OS として Windows XP Professional をイ バックアップ・リカバリ、統計情報の自動収集など他にも ンストール。また、担当者がそれぞれの製品になれる さまざまな機能が存在する。デメリットは有償であること ために、練習用として担当製品をインストールする。 以外には見つからない。 ・ 2.4 残念なことながら、日本語で製品の情報を取得すること 各 DBMS 技術力の蓄積 各担当者がそれぞれ担当する DBMS の技術力を蓄積するた DB2 昔から存在する IBM 製の有償のデータベース製品。 ・ 各クライアントマシン め、小規模データベースを実装する実習を取り入れた。目標とし て最低でも以下の機能を利用できるようにする。 が難しい。製品的にはトランザクション処理から OLTP ・ データベースの作成 処理、クラスタリングまで、Oracle 同等の機能をそろえ ・ テーブルの作成 ているようだが、テクニカルな情報が入手しにくいため ・ 整合性制約の設定 正確なことがわかりづらい。 ・ 検索、挿入、更新、削除 SQL Server ・ CSV ファイルからのデータロード MicroSoft が開発した有償のデータベース製品で、上 2.5 記 2 種類の有償データベースと同じようにトランザクショ 開発を円滑に行っていくためスケジュールの策定を行った。 ン処理、OLTP 処理などをサポートする。また、特徴的 後半にある資格取得は、これから開発を行い最終的に開発終了 な機能に、SQL Server 内に OS としての機能を備える 時までに習得しておきたいレベルを想定している。 スケジュール作成 ことによる、チューニングの自動化などがあげられる。 2.2 6 データベース製品の選定 ・ MySQL DB構築 ・ PostgreSQL テスト ・ Oracle DBMS検証 フリーDBMS が上記 2 種類に決定した理由は、日本語マニュ Bronze 10g アルが存在しているからである。MySQL は前バージョンである ver4.1、PostgreSQL は最新版のマニュアルがそれぞれ日本語 Silver 10g で提供されている。Firebird は日本語マニュアルがまだ整備さ :計画 :実績 :予定 図 1.スケジュール れていなかった。加えて、Firebird の日本ユーザーグループは まだ立ち上げて間もない状況であった。上記の理由から、フリー 3. DBMS に関しては MySQL と PostgreSQL を利用することにし 開発初期段階 開発環境及び使用する製品の準備が出来、必要最低限の製 た。 検証用の有償 DBMS は書籍・資格体系・技術者数などの環 境、麻生塾がライセンスを取得している事から Oracle がもっとも 品スキル、スケジュールの作成も完了し、チームは順調に立ち 上げることができた。今後は実際に開発作業に入ってゆく。 適切であると判断した。 3.1 正式採用する DBMS 製品の選定 実運用時に利用する DBMS 製品の選定は、データベースチ 開発環境の整備 開発を行っていくにあたって、次の環境を整備した。 ・ 9 10 11 12 1 DB設計 3 つになった。 ・ 8 DB選定 最終的に今回の開発で検証を行うデータベース製品は以下の 2.3 7 ームのみでなくプログラムチームの進捗にも大きな影響を与える。 Windows Server 2003 双方のチームの進捗をスムーズに行うためにも早期に正式採用 サーバーOS として、Windows Server 2003 をインス する DBMS 製品を選定するのは重要である。上記の理由から トール。また、Oracle 10g が Windows 版のみアカデ データベースチームは選定対象である PostgreSQL と MySQL ミック版を利用できたため、Windows Server 環境に の比較を迅速に行った、Oracle は有償なので開発費用を極力 Oracle 10g をインストール。 抑えなければならない点からこの時点で選定外となった。下記 CentOS (Linux サーバー) はデータベースチームが行ったPostgreSQLとMySQLの特徴 Linux サ ー バー と し て 、 学校で 利用され て い る 比較の結果である、選定を行う際 PostgreSQL は ver8、 CentOS をインストール。PostgreSQL・MySQL の両 MySQL は ver5 とそれぞれ最新版を利用し、MySQL に関して 製品は本番運用時 Linux 上で動作させる予定なので、 はストレージエンジンに InnoDB と MyISAM エンジンを使用し これらは Linux にインストールする。 た場合をそれぞれ想定している。 (2) 2007/09/12 ンスを利用するか GPL に基づいてソースを公開するか 表1.PostgreSQL と MySQL の特徴 PostgreSQL 項目 The PostgreSQL 開発元 ライセンス を選ばなければならない。 今回の開発では DBMS の改変までは行わない予定な MySQL MySQL AB 中心の開発 ので、ライセンスによる影響はないと考えられるが、将 GlobalDevelopme 来のカスタマイズを考慮した場合、DBMS の改変もあり nt Group を中心と う る の で 、 若干 BSD ラ イ セ ン ス を 利用し て い る したコミュニティ中心 PostgreSQL が有利である。 による開発 *[1] … 参考 URL[1] BSD ライセンス BSD ライセンス *[2] … 参考 URL[2] GNU General Public License GPL ライセンスと商用ライ ・ センス 機能比較 プラットフォ 商 用 UNIX 、 商 用 UNIX 、 Linux 、 DBMS の選定にあたっては機能面も重要である、 ーム Linux 、 Windows Windows などの多数のプ PostgreSQL と MySQL を機能面で比較した結果を下 などの多数のプラッ ラットフォームに対応 記にまとめる。 トフォームに対応 アプリケー C 言 語 、 Java 、 C 言語、Java、PHP、Perl ション言語 PHP、Perl など多 など多数の言語にて開発 数の言語にて開発 可能(ODBC、JDBC 共に 可 能 ( ODBC 、 対応) 表 2.機能比較 機能 MyISAM マルチプロセス構成 マルチスレッド構成 InnoDB 外部キー ○ × ○ サブクエリ ○ ○ ○ ストアドプロシー ○ ○ ○ ビュー ○ ○ ○ トリガ ○ ○ ○ ファンクション ○ ○ ○ JDBC 共に対応) サーバーア MySQL PostgreSQL ジャ ーキテクチ ャ サーバー内 EUC-JP 、 UTF-8 EUC-JP 、 UTF-8 、 日本語キャ など Shift-JIS、UCS-2 など トランザクション ○ × ○ テーブル、インデッ ファイル内のデータは追記 アーカイブログ ○ × ○ クス単位のファイル 型構造になっており、使用 行ロック ○ × ○ するストレージエンジンに 情報スキーマ ○ ○ ○ よって異なる。MyISAM は 日本語対応 ○ ○ ○ ラクタセット データ構造 テーブル単位のファイル、 InnoDB はテーブルスペ 表に示すとおり、現在 PostgreSQL と MySQL + ース内に複数のテーブルと InnoDB の間に大きな機能差は存在しない、トランザク インデックスを格納 ションをサポートしない MySQL + MyISAM は機能面 では劣る。しかし、MySQL のビュー・トリガ・ストアドプロ トランザクシ MVCC や行レベル MyISAM にはトランザクシ ョン機能 のロック機能など多 ョン機能がない、InnoDB シージャは ver5 からの対応である、それに対して 彩なトランザクション には PostgreSQL 相当のト PosrgreSQL はこれらの機能を古いバージョンから搭 機能をサポート ランザクション機能がある 載していたので実績・安定性がある。 ・ ・ 日本語環境 ライセンス ここでは日本語環境をデータベースの日本語対応とマ PostgreSQL は BSD ライセンス*[1]で提供されている。 ニュアル等の日本語環境の 2 つに分けて考える。 BSD ライセンスは開発しやすいライセンスになってい デ ー タ ベ ー ス キ ャラ ク タ セッ ト の日本語化は るのが特徴で、PostgreSQL を使用する際にライセンス PostgreSQL が UTF-8・EUC-JP など、MySQL が 料が必要ないのはもちろんのこと、改造を施した際も特 UTF-8・EUC-JP・Shift-JIS・UCS-2 などである。対応 別な制約は必要がない。 数からみるとMySQLが有利である。しかし、これはあく MySQL は GPL ライセンス*[2]と商用ライセンスを用意 までデータベースに格納できるキャラクタセットであっ しており、GPL ライセンスの範囲で利用すれば無料で て、PostgreSQL はほかのキャラクタセットもサーバー・ ある。MySQL の改変を行うのであれば、商用のライセ クライアント間の自動変換を利用して対応している。 (3) 2007/09/12 ・ マニュアルの日本語化において、PostgreSQL は常に MySQL は現在最新版である ver5 の日本語マニュア 最新板の日本語マニュアルを用意している、それに対 ルが Web 上に存在しない。対して、PostgreSQL は常 して MySQL はいまだに ver4.1 のドキュメントしか日本 に最新版の日本語マニュアルをWeb上に公開している、 語化されていない。。 メンテナンスを行う人が常に英語が読める人物であると ストレージエンジン は限らないことを考えると MySQL を採用するとメンテ PostgreSQL はストレージエンジンを選択できないが、 ナンスで問題が発生する可能性がある。 MySQL は使用するストレージエンジンをテーブルごと ・ InnoDB のあつかい に選択できる特徴を持つ、ストレージエンジンを選択で ストレージエンジンが選択できることが強みの一つであ きるRDBMSは商用を含めても非常に珍しいといえる。 る MySQL だが、そのストレージエンジンがあだとなる 今回は代表的な MyISAM と InnoDB のみ比較対象と 場合がある、InnoDBはMySQL AB社が開発したもの してあげたがほかにも以下のようなストレージエンジン ではなく Innobase 社が開発したものであり、MySQL が存在する。 AB社がInnobase社と契約して使用できるようにしてい るものである。だが、そのInnobase社がOracle社に買 収されたことから、今後も安心して InnoDB エンジンを 表3.MySQL に使用できるストレージエンジン ストレージエンジン 概要 使い 続けら れ る か 疑問が 生じ て い る 、 その 点 MyISAM MySQL 標準のストレージエンジンとして PostgreSQL は完全なオープンソースのためこの手の 問題は発生しづらい。 使用される InnoDB BDB Memory 3.2 行ロックとトランザクションをサポートする データモデリング手法技術の習得 適切なデータベース設計をおこなうには、データモデリングの ページ単位のロックとトランザクションをサ ポートする 知識が必要不可欠である。データベースチームは下記のような メモリ上にテーブルを配置する 段階に分けデータモデリングの学習を行った。 ・ データモデリング基礎 Merge 複数の MyISAM テーブルを統合する Archive 圧縮したデータベースを使用する データモデリングとは、データモデリングをなぜ行うの Federated リモートのデータベースを参照する かといったところから ER 図の描き方、DFD の描き方等 NDB CVS Blackhole データモデリングの学習を行う。 クラスター構成にて使用される ・ データファイルに CSV を使用する 課題を行い実際にデータモデリングを行う。やりかたと ダミーテーブルを使用する して、トップダウンアプローチでまず ER 図を書き、ボト ムアップアプローチでもER図を書く最終的に完成板の ストレージエンジンは選択できるが、今回の開発ではト ER 図を完成させる。その後インスタンスチャートを書き、 ランザクションをサポートしなければならないので選択 テーブルを実装するところまで行う。 の幅は狭くなる。 ・ 売管理・購買管理・取引先管理・会計管理のデータモ PostgreSQL を実運用時に使用することとした。 デリングパターンを学習する。 製品の現状 3.3 この選定を行う際、MySQL の ver5 はまだベータ版で ありまだベータ版の段階から抜け出す気配がなかった。 対して PostgreSQL は最新版の ver8 がすでに正式版 でありすでに ver8.0.3 まで登場していた。 ・ ライセンス体系 現状であれば、どちらを利用してもライセンス上問題な い が、 将来この システム をメン テナ ンスす る 人が MySQL の改変を望んだ場合 MySQL のライセンス体 系で は 問題が 発生す る 可能性が あ る 。 そ の 点 PostgreSQL のライセンスは開発しやすいく、問題が発 生しづらい。 ・ 日本語マニュアルの問題 業務別データモデリングの学習 最後に書籍の実例を利用して、商品管理・在庫管理・販 上記のような様々な特徴を比較した結果と以下の理由から ・ データモデリング実践 実験的データモデリング この段階で DB 設計を開始できる状態になったが、プログラム チームはデータベースに関係のない部分から開発をしており、 テーブル項目の要求をおこなっても返せない状態であった。そ こで、データベースチームは先に学習したデータモデリングの 知識を用いて、今回のデータベースを実験的にデータモデリン グすることにした。これはプロジェクトとしての決定ではないので プロトタイプアプローチで試験的に行った。 データモデリングを行っていく中で足りない情報が多数存在 することが分かった。具体的に例をあげると、システム内の情報 の流れが分からないので、データベースに最低限格納すべきデ ータが確定できないこと。また、ユーザーインターフェイスでの (4) 2007/09/12 入力方法が決まっていないので、選択式やプルダウンメニュー の入力項目が出てくると、正規化をしなおさなければならず、テ ーブル数が増えてしまうこと。 このように、実験的にデータモデリングを行った結果、実務で 使用するには判断材料が足りないことが判明した。 4. 開発中期段階 開発に向けた準備・学習は終了し、DBMS の選定作業とプロト タイプ作成も終了した。結果的には、今後の開発ではプログラム チームの協力が不可欠ということが判明した。 4.1 プログラムチームとの打ち合わせ プログラムチームと協力してデータモデリングを行うことが決ま 図2.エンティティ関連 り、プログラムチームとの打ち合わせを行う。 しかし、プログラムチーム側から求人票はこのフォーマットのま データベース実装作業 ま正規化せずに使いたいという意見が出た。対して私たちデー 4.4 タベースチームは正規化していないデータベースは更新時異 作成したデータモデル図・インスタンスチャートを元に、データ 常を発生する可能性があること、また正規化しないのであれば低 ベースの実装作業を行った。 ・ 機能で高速な DBMS を利用すればよいなどの点から、データ DDL の記述 ベースチームとしては許容できないという結論になり、議論は平 インスタンスチャートの記述を元に DDL文を作成、また 行線となってしまった。 View に DML 文を発行できるようにするため View 4.2 Rule の記述を行った。 緊急会議 ・ そんな折りに開発の進捗が思わしくないということで、プロジェ スクリプト作成 クトチーム、就職部、担当職員すべてで緊急会議を開くことにな 完成したDDL文を各オブジェクト別・テーブル別にスク った。徹底的な議論を行い様々な決定が下された。データベー リプト化し、それらをまとめて実行するスクリプトを作成し スチームに関連する部分では下記のことが決定した。 た。これにより、データベース実装作業は実質スクリプト ・ テーブル構造の変更 の実行のみですむようになり、テーブルの調整もそれ プログラムチームが提案したテーブル構造では、更新 ぞれのテーブル作成スクリプトファイルを調整すれば済 むようになった。 時異常が発生する問題を解決できない。また、テーブ 4.5 ル数も 2 つから 3 つで、整合性制約も利用しないという 4.3 データベースの納入 高機能 DBMS を利用する意義のすくないテーブル構 プログラムチームが今まで使用していたスタブのデータベー 造になる。以上の点を考えると、正規化されたテーブル スから、本番運用のデータベースを使用したいという要望が入っ 構造にするのが望ましく、テーブル構造を変更すること た。これに際し、まだデータベースのテストは済んでいないが実 が決定した。 装は終わっているためプログラムチームへ受け渡すこととなった。 データモデリング テーブル構造の変更が決まり、こんどはプログラムチームと協 今後はこのデータベースの細かい修正、またテストの作業を請 け負った。 力して本番のデータモデリングを開始した。 ・ 5. データベースのテストを行うために、今後はテスト環境の構築 データベースの全体像を把握するため、エンティティ同 士の関連やデータの流れをまとめ図式化した。(図2) ・ およびテストを行ってゆく。 5.1 インスタンスチャート作成 テスト用 PHP 環境の構築 テスト用プログラムを早期に完成させる必要があるため、今回 今回のデータベースはテーブルの項目数が多いため、 ・ 開発後期段階 エンティティ関連の図式化 ER 図は作成せずそのままインスタンスチャートの作成 は手軽にWebアプリケーションを開発できるPHP言語を利用す を行った。 ることとなった。 これまでに PHP の開発を行った経験がなかったため、学習用 データモデリングの合意 作成したデータモデルを正式な決定とするため、プロ 環境の構築から始めた。OS である Windows XP Professional グラムチームと共同会議を行い、そこで文書化したデー 上に、サーバソフト apache をインストールし、その WEB サーバ タモデルを正式な決定とした。 上で PHP を動作させる環境として構築した。また、データベー スとの連携を学習する目的で、同マシン上に DBMS である (5) 2007/09/12 MySQL もインストールした。なお、この段階で同マシン上には ーンのテストを行い、簡易テストが完了した。 DBMS である Oracle Database 10g もインストール済みである。 6. その後この環境で各種機能が正常に連携するように、Windows、 apache、PHP、MySQL に設定を行い、環境を調整した。 最終的な成果 予定していた作業のうち、以下の作業が完了した。 簡易アプリの作成 ・ 概念データモデル作成 環境が整ったところで、まずは PHP で簡単なデータベース連 ・ 論理データモデル作成 携 WEB アプリケーションを作成し、MySQL 上のデータベース ・ 実装作業 5.2 との連携を試みた。ここでは特に問題は発生せず順調に PHP を用いたプログラミング手法を学習できた。 5.3 予定していた作業のうち、以下の作業が十分に行えていない または行えていなかった。 各 DBMS との連携演習 ある程度 MySQL との連携法は習得できたので、同マシン上 ・ テスト ・ 運用計画作成 の Oracle Database、また、ネットワークを介して離れている 7. Linux(Cent OS)上の PostgreSQL との連携を試みた。Oracle 所感 各 DBMS における差異の検証という1つの目標が決まったが、 についてはMySQL と同じく順調に連携できたが、PostgreSQL との連携を行う上でいくつかの問題点が発生した。まずは、ネッ 序盤から中盤にかけては、何をどのようにすればよいのかという トワークを介してPostgreSQLに接続する方法が分からなかった。 ことが分からなかった。唯一はっきりしていたのが、Oracle これについては、接続目的である Linux を管理しているメンバ Master 資格の取得という目標に向けた学習だったので、資格取 ーとの打ち合わせを行い、接続情報などの確認をすることで解 得に向けた学習を漠然と行っていた時期もあった。もう少し早め 決した。接続して SQL クエリを送信した段階で出てきた問題点 にメンバー間で意識の統一を図る必要があったように感じる。そ が、文字コードの問題だ。この段階で PostgreSQL 上では文字 の後、定期的に行われる研究発表会に向けた話し合いの中で、 コードを EUC-JP で管理していたため、MySQL、Oracle と同じ 進捗管理やミーティングの重要性に身をもって気づけたことは非 設定では文字コードが Shift-JIS で送信されてしまい、正常な文 常に価値のあることだった。週次でミーティングを行うなど、メン 字列を送信できなかった。そこで、PHP の設定ファイル内でデ バー間の連携も円滑になった。しかし、中盤から終盤にかけて フォルトの送信文字コードを EUC-JP と設定し、Oracle と は各メンバーが多忙になり、研究活動自体に対する意識が低下 MySQL に関してはプログラム中で送信クエリの文字エンコード し始め、前もって決めておいたスケジュールが機能しなくなった を行い対応した。 ことは否めない。研究自体に関しては、普段では触れられないよ 5.4 CSV ファイルへの対応 各 DBMS に向けて基本的な DML 文を、GUI を通じて送信 する WEB アプリケーションが完成したので、大量データの一括 うな実務的な環境に触れられたことなど非常に良い経験を積め たと思う。今研究で得た経験や教訓を今後の学習や実務に活か したい。 ロードについても対応できるように、同 WEB アプリケーションに (久保) CSV ファイルを解釈する機能を搭載し、各 DBMS 上のデータ ベースに一括インサートする機能を追加作成した。これについ 今回の開発では、私のいたらない点を大量に発見できた。見 ては、Oracle における SQL ローダなどの一括ロードツールなど 積もり・技術・コミュニケーションすべての点で問題が発生し、多 を呼び出すものではなく、単純にインサート処理を繰り返すもの くのものが未解決に終了してしまった。見積もりのミスでは、スケ である。また、テスト用に大量のデータを用意しなければならな ジュールの圧迫や空白が発生し、スケジュールを管理していた いケースを考え、列数やレコード数などを指定して CSVファイル チームメンバーの岩下に多くの苦労をかける結果になってしま を自動的に作成する WEB アプリケーションを新規に作成した。 った。また、技術力不足でデータベースの実装で多くの問題を 5.5 テスト環境 プログラムチームに納入したデータベースのテストを行うアプ 発生させてしまったため、プログラムチームを待たせてしまう事 態も多々発生してしまった。チームメンバーの久保には、開発後 リケーションを、PHP を使用した WEB アプリケーションとして作 期1人で作業させてしまうことになり大変な苦労をかけてしまった。 成した。環境としては、PHPのDBMS連携演習で用いた環境を 担当職員の畠中先生には、多くの点でご協力していただきあり そのまま使用した。他マシンの Linux(Cent OS)上に構築して がとうございました。 ある PostgreSQL のデータベースに接続し、各種 DML 文を発 行し結果を取得、表示するものである。 5.6 テスト テスト環境が整い次第、データベースの簡易テストを行った。 この開発全体を通して、実務で必要なコミュニケーション技術、 会議の進行方法、データベース知識を習得することができました、 今後は社会でこの経験を生かし、活躍できるよう努力していきま す。 各種 DML パターンのテスト、最低限の項目のみ入力したパタ (野口) (6) 2007/09/12 参考文献 8. [1] 業務別データベース設計のためのデータモデリング入門 著者:渡辺 幸三 出版:日本実業出版社 [2] 実践的データモデリング入門 著者:真野 正 出版:翔泳社 [3] オラクルマスター教科書 Silver Oracle Database 10g DBA 10g 著者:林 優子 出版:翔泳社 [4] オ ラ ク ル マ ス タ ー 教 科 書 + iStudy Gold Oracle10g Database 【DBA 10g】編 著者:代田 佳子 出版:翔泳社 [5] PHP5 本格派 著者:株式会社 qnote 出版:毎日コミュニケーションズ [6] 図解でわかる Linux 環境設定のすべて 著者:西村 めぐみ 出版:日本実業出版社 9. 参考 URL [1] BSD ライセンス http://www.postgresql.org/docs/faqs.FAQ.html#item1.3 [2] GNU General Public License http://www.gnu.org/licenses/gpl.html [3] Think IT http://www.thinkit.co.jp/ [4] NPO 法人 日本 PostgreSQL ユーザー会 http://www.postgresql.jp/ [5] 日本 MySQL ユーザー会 http://www.mysql.gr.jp/ [6] Oracle Technology Network Japan http://otn.oracle.co.jp/ [7] Firebird 日本ユーザー会 http://tech.firebird.gr.jp/ [8] IBM DB2 Developer Domain http://www-06.ibm.com/jp/software/data/developer/ [9] Microsoft SQL Server Home http://www.microsoft.com/japan/sql/default.mspx (7)
© Copyright 2024 Paperzz