データベース(DB)
-
データベース入門
-
データベースとは
データベースは大量のデータを効率的に保存記録する「基地」となります。
-
データベースの構成
データベースは実際にデータを効率的に記録する部分と、データベース操作言語に指定によりデータベースを操作する部分から構成されます。
-
データベースの構成法
-
カード型データベース
図書カードや名刺などのカードを一つのデータと考えて、管理します。小型のデータベースに良く利用されます。
- 階層型データベース
データを下位層関係で整理して保存します。ツリー型データベースとも呼ばれます。効率的な操作が出来ますが、柔軟な処理が出来ない場合があります。
-
ネットワーク型
データを網目(ネット)状に管理します。階層型より柔軟な構造が可能ですが、管理やプログラムが複雑になります。
-
リレーショナルモデル
現在主流のモデルで、複数の表を用いたデータを表現します。1970年IBMのコッドらにより提唱されました。Excellなどの表処理システムはメモリを用いた小規模な関係モデルです。
-
関係モデル
-
関係モデル
関係モデルは、データを表の形式で表現する方式で、現在、最もよく利用されている方式です。よく利用される表計算ソフト「エクセル」の表現形式も表形式です。
-
主キー
表の各行がひとつのデータになりますが、各行のデータを他の行と区別するデータが必要です。これを主キーと呼びます。会社で注文を記録するとき、伝票の番号が主キーになります。
主キーは複数の項目の組み合わせで決定される場合もあります。
-
正規形
- 第一正規形
ひとつの行に不定個数繰り返し現れる項目は、別の行に記録するほうが安全です。たとえば、注文伝票で、商品名と個数などの情報は、同じ行に繰り返すのでなく、別の行で指定します。
たとえば、
伝票番号 商品1 商品1個数 商品2 商品2個数 商品3 商品3個数
のような、表は
伝票番号 商品 商品個数
の複数の行で構成します。このような、繰り返しを削除された表を、第一正規形と呼びます。
- 第二正規形
表のなかのある項目の値が定まると、他の項目の値が定まる場合があります。これを関数従属と呼びます。主キーが複数の項目から構成され、主キーの一部に関数従属する項目があるばあい、その項目を別の表に移動した表を、第二正規形 といいます。
たとえば、
日付 注文企業番号 注文企業名 商品名
のようなデータがあり、主キーは日付、伝票番号とします。この場合、注文企業名は主キーの一部の注文企業番号に関数従属します。したがって、
日付 注文企業番号 商品名
と
注文企業番号 注文企業名
の二つの表に分割します。
- 第三正規形
主キーでなく、特定の項目に関数従属した項目も存在します。
例えば、
日付 注文企業番号 商品コード 商品名
のような表があるばあい、商品名は商品コードに関数従属します。このような場合、主キー以外からも関数従属を取り除いた表を 第三正規形 といいます。例の場合、
日付 注文企業番号 商品コード
と、
商品コード 商品名
の二つの表に分割します。
-
SQLコマンド
データベースを定義する、値を挿入する、検索する、などの処理は、標準化された言語で記述することができそうです。このデータベース操作言語として広く採用されている形式が SQL 言語です。
この SQL を利用しますと、プログラム言語は異なっても、SQL での処理は同じになり、データベースがわでは、SQL 似たいする処理を実現すれば、SQL
に対応したプログラム言語から利用可能になります。
-
SQLとAPI
JavaやC、Perl などの言語に対し、データベースに接続し SQLコマンド を発行するプログラム群を API(ライブラリ)とか、ドライバといいます。
データベースに対し、この、ドライバやAPIが利用できれば、プログラムからデータベースの操作が可能になります。
-
ネットワークとDBの実現
-
サーバー&クライアントモデル
SQLコマンドをネットワークを介して送ることができれば、遠隔地からデータベースを直接利用できます。ネットワークからSQLコマンドを受け取りデータを処理する側をサーバー、サーバーにデータベース操作を依頼する側をクライアントといいます。
-
MySQLシステム
MySQLは Michael Widenius 氏によって開発されたデータベースサーバーです。webと連携し大量のデータを記録検索する目的で開発されました。
-
MySQLのライセンス
MySQLは GPL(General Public License) で提供されます。利用したソフトのソースを完全に公開する場合、GPLライセンスとして、無償で利用できます。完全公開をしない場合、コマーシャルライセンスを購入する必要があります。
非営利組織がGPLライセンスでアプリケーションを公開する場合、サーバー・利用者はMySQLを無償で利用することが可能です、
詳細は以下を参照して下さい。
http://www.softagency.co.jp/order/index.html
-
MySQLのドキュメント
MySQLの詳細なマニュアルは、
http://dev.mysql.com/doc/mysql/ja/index.html
にあります。ここでは、その一部を紹介します。
-
MYSQLのインストール
-
ファイルの入手
mysql-3.23.55-win.zip を取得し、解答します。これで、setupが可能になります。インストール先は、mysqlフォルダが標準で、これ以外に配置する場合、\winnt\my.ini ファイルへの設定が必要です。
-
サーバーの起動
サーバーとクライアントを1台のマシンで実行できます。mysql.bin にある mysqld がサーバー(デーモン)です。コンソールから次のコマンドを、サーバーにおくり起動します。
>mysqld --standalone
あるいは、winmysqladmin.exeを実行します。最初の実行の場合、利用者名とパスワードの入力が求められます。コマンドバーに信号機のロゴが現れ、緑のランプが点灯すると、起動しています。
-
終了
終了するには、別のコンソールから
>mysqladmin -p shutdown
を実行します。-pはパスワードを指定することを意味します。サーバーからパスワードんpプロンプトがあります。
あるいは、信号機のロゴを右クリックし、StopTheServiceを実行します。
-
クライアント
クライアントは,匿名ユーザにパスワードが設定されていない場合、
>musql -u 利用者名 -p
で起動し,サーバーに接続します。パスワードの入力が求められます。ログインできるとプロンプトが
mysql>
に変わります。パスワードが設定されている場合
利用者名、パスワードが不明の場合、システムフォルダ my.ini を削除すると、新規の設定ができます。