DB(データベース)のおはなし 作成者:小野正広 DBと言っても、 ドラゴンボール ではないですぞ! 3/1/2017
目次 ショッピングサイトを例に解説 データベースとは データベースの特徴 データベースの構成 テーブルの構成 DBMSについて SQL まとめ 3/1/2017
ショッピンサイト(注文) ビジネスサイド [インターネット] カツオブシと マタタビを 注文キター!! 買うですぞ! お知らせ webサーバ メール webサーバ [お客] [サイト担当者] 1.インターネットでサイトにアクセス 2.ショッピングカートで商品を注文 3.注文の確認 4.お客様情報を入力(前に注文していたら省ける) 5.注文の確定 6.お客様に発注確認メールを送信 7.担当者に注文確認メールが来る 8.商品の確保 9.商品の発送 10.お客への商品発送のお知らせをする 3/1/2017
ショッピングサイトを例に サイトの機能 メインページ ・通常のホームページ(静的) ショッピンカート ・webプログラミングで作成(動的) 商品検索 ・商品の検索 ・一覧表示 商品詳細表示 ※必要な分だけ繰り返す ・個別商品の表示 購入商品表示 ・商品の決定 ・商品の数量の変更・削除 お客様情報入力 ・届け先や支払い方法などの入力 注文確認 ・お客様へ発注確認をメールでする ・担当者に受注をメールで知らせる 3/1/2017
ショッピンサイト(ページ生成) サーバサイド [インターネット] カツオブシと マタタビを 買うですぞ! webプログラム [ブラウザ] データ webサーバ DB [クライアントPC] 1.クライアントPCのブラウザから、ショッピングサイトのあるWebサーバへアクセスする。 2.webサーバにあるwebプログラムはブラウザからの入力を受け取る。 3.webプログラムどんなページを出力すれば良いかを演算してHTMLコードを生成する。 (必要であればデータベースサーバに問い合わせてデータを取り出す) 4.Webサーバは、プログラムが生成したHTMLコードをブラウザに送る。 5.ブラウザは、受け取ったHTMLコードを解釈し、レンダリング(表示)する。 3/1/2017
データベース(DB)とは データベース(DB)とは データを一箇所に集めた「データの基地」のこと。 1.データの独立性 データとソフトウェアを分離して管理する。 2.データの完全性 データの一貫性と整合性を維持する。 3.データの安全性 データの破壊や漏洩が起きないようにデータを保護する。 3/1/2017
データベースの特徴 データベースの役割 データベースの種類 データベースの構造 ・リレーショナルデータベース ・カード型データベース プログラム DB データ・ファイル データベースの種類 ・リレーショナルデータベース ・カード型データベース データベースの構造 ・データベースは複数のテーブル(表)で構成されています。 ・テーブルは列と行で構成されています。 ・行は複数のデータで構成されています。 ・行には必ず一意に識別できるデータが必要です。 3/1/2017
データベースの構成 DBは複数のテーブル(表)の集合体です。個々のテ ーブルと関連性を持つものとなります。 3/1/2017
フィールド、列、カラム、属性、アトリビュート テーブルの構成 テーブルの構成 フィールド、列、カラム、属性、アトリビュート ID 顧客名 住所 入力日 1 hakase 神奈川県 2012/6/10 2 太郎 東京都 2012/6/11 レコード、行、組、タプル、 インスタンス 主キー ・テーブル:レコードの集まり。データの挿入や削除はレコード単位。 ・フィールド:データの型(数字、文字列)や書式などを指定する。 ・レコード:データの集まり、特定のデータで特定のレコードが決まる。 3/1/2017 企業マスター 企業ID 企業名など 受注テーブル 受注ID 商品ID 顧客ID 受注日 顧客テーブル 顧客ID 住所など 商品マスター 商品ID 商品名など
テーブルの関連性(例) ・ショッピングサイトを作成するためにはデータベースが必要です。 ・今回は4つのテーブルで構成しています。(簡易的にしています) ・各テーブルには関連性を設定しています。 データベース 顧客テーブル 顧客ID 顧客名 住所 TEL 登録日 1001 hakase 東京 090-... 2012/01/01 受注テーブル 受注ID 顧客ID 商品ID 受注日 100 1001 A1 2012/06/23 商品マスタ 商品ID 企業ID 商品名 価格 登録日 A1 い-10 カツオブシ 3000 2012/06/01 企業マスタ 企業ID 企業名 住所 カテゴリ 登録日 い-10 ○○商事 神奈川 乾物 2010/04/01 3/1/2017
データベースマネージメントシステム DBMS(データベースマネージメントシステム) ・データベースを作成したり、操作したりするためのソフトウェア 例)MS ACCESS、filemaker、MySQL、Postgres、Oracleなど ・主にローカルで使用するデータベース 例) MS ACCESS、filemaker、桐など ・主にネットワークで使用するデータベース 例) MySQL、Postgres、Oracleなど 補足 Webプログラムで使用するデータベースは、MySQLとPostgresなどです。 この2つは無料で使用することができて、SQL言語を使用してプログラムから データベースを操作することが簡単だからです。 3/1/2017
SQL【Structured Query Language】構造化照会言語 リレーショナルデータベースの操作を行うための言語 の一つ。 SQLは大きく分けて3つ。 データ定義言語(DDL:Data Definition Language データ操作言語(DML:Data Manipulation Language) データ制御言語(DCL:Data Control Language) 補足 ソフトウェアからデータベースを操作する場合には、プログラム上でSQL文を生成してこれをRDBMSに発行し、操作を実行する。 このため、多くのプログラミング言語処理系や実行環境では、RDBMSに接続してSQL文を発行し結果を受け取るためのプログラミングインターフェースが用意されている。 3/1/2017
DBのこと思い出してやってくださいですぞぉ! まとめ 世の中にはたくさんのデータベースがあります。 webサービスはデータベースを使用しています。 データベースを使うと、データの管理や利用が簡単 に行うことができます。 リレーショナルデータベースが主流です。 データベースのDBMSで管理されていて、プログラム からDBを使用する時はSQLを使用します。 アプリやwebサービスを利用する時は DBのこと思い出してやってくださいですぞぉ! ♪ニョホホホホホ~ 3/1/2017