SlideShare a Scribd company logo
1 of 28
Download to read offline
新⼈人ディレクター
システムスキルアップ
プログラム
第6回「データベース」
T ware 品川
第六六回:データベース         12/07/25



今⽇日の内容

›    前回のフォローアップ                                  ›    SQL
      ›    仕様のまとめ⽅方                                    ›    例例題

›    データベースとは                                    ›    ER図とは
      ›    RDBMSの種類                                    ›    概要


›    リレーショナルデータベー                                ›    SQLインジェクションとは
      スの仕組み                                             ›    概要と例例
      ›    例例題




All Rights Reserved. Copyright (C) 2012, T ware                              1
第六六回:データベース   12/07/25



前回のフォローアップ

›    仕様のまとめ⽅方(書き⽅方)                              B

      ›    社内標準があればそれに従う
      ›    標準がない場合
            ›  ドキュメントの⽬目的を正しく理理解する
               ›  ⽬目的に合わない内容は削除することも検討する
            ›  お⼿手本となるドキュメントを参考にする
               ›  書き⽅方、⾔言葉葉の使い⽅方、章⽴立立てなど、良良いと思うものは
                   どんどん取り⼊入れる
                  ›  ドキュメントの⽬目的から外れないように
               ›  なぜそう書いてあるのか  も考える
                  ›  「⾃自分ならこんな書き⽅方しない」と思ったときは要注意




All Rights Reserved. Copyright (C) 2012, T ware                        2
第六六回:データベース   12/07/25



前回のフォローアップ
›    仕様のまとめ⽅方(書き⽅方)                              B

      ›    標準がない場合(続き)
            ›  誤解無く伝える
               ›  あいまいな⾔言葉葉を使わない
                    ü  例例:「データベース」
                       ü    データベースサーバに保存されているデータ
                       ü    保存形式は問わないが、あるまとまりのデータ
             ›  1⽂文に内容を詰め込み過ぎない
               ›  例例:クリックして登録されたデータを表⽰示できます
                 ü  登録されたデータをクリックして下さい。該当の
                     データが表⽰示されます。
             ›  図の意味は明快に
                ›  指し⽰示すものと動きが⽭矛盾無く理理解可能か?
             ›  (時間を置いて)読み返してみる
All Rights Reserved. Copyright (C) 2012, T ware                        3
第六六回:データベース   12/07/25



データベースとは

›    データベース(ウィキペディアより)                                  B

      ›    特定のテーマに沿ったデータを集めて管理理し、容易易に検索索・抽
            出などの再利利⽤用をできるようにしたもの
      ›    データベースをコンピュータ上で管理理するためのシステムを
            データベース管理理システム  (Database Management
            System, DBMS) という


›    優れている点                   W

      ›    データ保存が容易易かつ安全
            ›  アプリケーションが⾯面倒をみる必要がない
      ›    データの⼀一貫性を保持できる
            ›  トランザクション処理理



All Rights Reserved. Copyright (C) 2012, T ware                        4
第六六回:データベース             12/07/25



 主なRDBMS

    ›    RDBMS(Relational Database Management System)                           B


No.           名称          ベンダ             種別           概要(ウィキペディアより抜粋)
                                        オープン       世界で最も普及しているオープンソース・
1         MySQL         ⽇日本オラクル
                                         ソース       データベース
                                        オープン       国内では、PostgreSQL  53.0%  と  MySQL  
2         PostgreSQL         ­−
                                         ソース       51.4%  がほぼ横並び
                                                   企業サーバ向けの⾼高機能なシステムから組み
                        ⽇日本マイクロ
3         SQL  Server                     商⽤用      込み系の⼩小規模なシステムまで幅広く、また
                          ソフト
                                                   Microsoft Windowsと親和性が⾼高い
                                                   世界初の商⽤用RDBMSであり、メインフレー
          Oracle
4                       ⽇日本オラクル           商⽤用      ムからパーソナルコンピュータまで、幅広い
          Database
                                                   プラットフォームをサポート
                                                   軽量量のデータベースである。  ⼀一般的な
                                        オープン
5         SQLite             ­−                    RDBMSに⽐比べて⼤大規模な仕事には不不向きだ
                                         ソース
                                                   が、中⼩小規模ならば速度度に遜⾊色はない

 All Rights Reserved. Copyright (C) 2012, T ware                                  5
第六六回:データベース             12/07/25



リレーショナルデータベースの仕組み                                                 W



›    リレーショナルデータモデル
      ›    現在もっとも広く⽤用いられているデータモデル
            ›  データをリレーション(関係)で表現
            ›  データはテーブルに格納



›    例例題
      ›    ディレクタ表
            No.             名前                      携帯番号              ⼊入社年年⽉月
             1           TAM ⼀一郎郎                 090-5555-1234       2005.1
             2           TAM ⼆二郎郎                 090-5555-2345       2007.4
             3           TAM 三郎郎                  090-5555-3456       2010.3
             4           TAM 花⼦子                  090-5555-4567       2002.1
             5           TAM 葉葉⼦子                 090-5555-5678       2010.6
All Rights Reserved. Copyright (C) 2012, T ware                                  6
第六六回:データベース            12/07/25



リレーショナルデータベースの仕組み                                                 W



›    例例題(続き)
      ›    顧客表

            No.         社名                          住所                電話番号
             1      A株式会社                     東京都⽬目⿊黒区            03-3333-1100
             2      B株式会社                         ⼤大阪市北北区         06-6666-1100
             3      C株式会社                         東京都港区           03-3333-1200
             4      D株式会社                     東京都⽂文京区             03-3333-1300
             5      E株式会社                     ⼤大阪市⽣生野区            06-6666-1200




All Rights Reserved. Copyright (C) 2012, T ware                                   7
第六六回:データベース               12/07/25



リレーショナルデータベースの仕組み                                                  W



›    例例題(続き)
      ›    顧客担当ディレクタ表

            No.     社名               住所             電話番号           担当ディレクタ
             1    A株式会社         東京都⽬目⿊黒区          03-3333-1100   TAM ⼀一郎郎、TAM 花⼦子
             2    B株式会社           ⼤大阪市北北区         06-6666-1100   TAM ⼆二郎郎、TAM 花⼦子
             3    C株式会社           東京都港区           03-3333-1200   TAM 三郎郎、TAM 花⼦子
             4    D株式会社         東京都⽂文京区           03-3333-1300   TAM ⼀一郎郎、TAM 葉葉⼦子
             5    E株式会社         ⼤大阪市⽣生野区          06-6666-1200   TAM 三郎郎、TAM 花⼦子

                                                                  2名で1顧客を担当




All Rights Reserved. Copyright (C) 2012, T ware                                      8
第六六回:データベース                  12/07/25



リレーショナルデータベースの仕組み                                                  W



›    例例題(続き)
      ›    顧客担当ディレクタ表(作り直し)
                                                     担当
No.         社名          住所            電話番号                        携帯番号             ⼊入社年年⽉月
                                                    ディレクタ
 1     A株式会社       東京都⽬目⿊黒区         03-3333-1100    TAM  ⼀一郎郎   090-5555-1234       2005.1
 2     A株式会社       東京都⽬目⿊黒区         03-3333-1100    TAM  花⼦子    090-5555-4567       2002.1
 3     B株式会社        ⼤大阪市北北区         06-6666-1100    TAM  ⼆二郎郎   090-5555-2345       2007.4
 4     B株式会社        ⼤大阪市北北区         06-6666-1100    TAM  花⼦子    090-5555-4567       2002.1
 5     C株式会社        東京都港区           03-3333-1200    TAM  三郎郎    090-5555-3456       2010.3
 6     C株式会社        東京都港区           03-3333-1200    TAM  花⼦子    090-5555-4567       2002.1
 7     D株式会社       東京都⽂文京区          03-3333-1300    TAM  ⼀一郎郎   090-5555-1234       2005.1
 8     D株式会社       東京都⽂文京区          03-3333-1300    TAM  葉葉⼦子   090-5555-5678       2010.6
 9     E株式会社       ⼤大阪市⽣生野区         06-6666-1200    TAM  三郎郎    090-5555-3456       2010.3
10     E株式会社       ⼤大阪市⽣生野区         06-6666-1200    TAM  花⼦子    090-5555-4567       2002.1



All Rights Reserved. Copyright (C) 2012, T ware                                        9
第六六回:データベース                   12/07/25



リレーショナルデータベースの仕組み                                                   W



›    例例題(続き)
                                                     担当
No.      社名             住所            電話番号                         携帯番号             ⼊入社年年⽉月
                                                    ディレクタ
 1    A株式会社        東京都⽬目⿊黒区         03-3333-1100     TAM  ⼀一郎郎   090-5555-1234       2005.1
 2    A株式会社        東京都⽬目⿊黒区         03-3333-1100     TAM  花⼦子    090-5555-4567       2002.1
 3    B株式会社         ⼤大阪市北北区         06-6666-1100     TAM  ⼆二郎郎   090-5555-2345       2007.4
 4    B株式会社         ⼤大阪市北北区         06-6666-1100     TAM  花⼦子    090-5555-4567       2002.1
 5    C株式会社         東京都港区           03-3333-1200     TAM  三郎郎    090-5555-3456       2010.3
 6    C株式会社         東京都港区           03-3333-1200     TAM  花⼦子    090-5555-4567       2002.1
 7    D株式会社        東京都⽂文京区          03-3333-1300     TAM  ⼀一郎郎   090-5555-1234       2005.1
 8    D株式会社        東京都⽂文京区          03-3333-1300     TAM  葉葉⼦子   090-5555-5678       2010.6
 9    E株式会社        ⼤大阪市⽣生野区         06-6666-1200     TAM  三郎郎    090-5555-3456       2010.3
10    E株式会社        ⼤大阪市⽣生野区         06-6666-1200     TAM  花⼦子    090-5555-4567       2002.1

              (1)  大阪市の顧客数                        (3)  ⼊入社3年年以内のディレクタが担当する顧客
              (2)  TAM一郎の担当件数                     (4)  TAM花⼦子の携帯番号変更更

All Rights Reserved. Copyright (C) 2012, T ware                                        10
第六六回:データベース       12/07/25



リレーショナルデータベースの仕組み                                               W



›    例例題(続き)
         ›  テーブル定義(第1ステップ)
      ディレクタテーブル
        名称         フィールド名          データ型
         No.           d_̲id        integer
        名前           d_̲name       varchar
      携帯番号           d_̲phone      varchar
      ⼊入社年年⽉月         d_̲join        date

      顧客テーブル
        名称         フィールド名          データ型
         No.           c_̲id        integer
        社名           c_̲name       varchar
        住所          C_̲address     varchar
      電話番号           c_̲phone      varchar

All Rights Reserved. Copyright (C) 2012, T ware                           11
第六六回:データベース                12/07/25



リレーショナルデータベースの仕組み                                                W



›    例例題(続き)
         ›  テーブル定義(第2ステップ)
      ディレクタテーブル                                     顧客担当ディレクタテーブル
        概要         フィールド名          データ型               概要       フィールド名        データ型
         No.           d_̲id        integer            No.        cd_̲id     integer
        名前           d_̲name       varchar            社名         c_̲name     varchar
      携帯番号           d_̲phone      varchar            住所        c_̲address   varchar
      ⼊入社年年⽉月         d_̲join        date            電話番号       c_̲phone     varchar
                                                      名前        d_̲name      varchar
      顧客テーブル
                                                     携帯番号       d_̲phone     varchar
        概要         フィールド名          データ型
                                                     ⼊入社年年⽉月     d_̲join       date
         No.           c_̲id        integer
        社名           c_̲name       varchar
        住所          C_̲address     varchar
      電話番号           c_̲phone      varchar

All Rights Reserved. Copyright (C) 2012, T ware                                       12
第六六回:データベース            12/07/25



リレーショナルデータベースの仕組み                                               W



›    例例題(続き)
      ディレクタテーブル                                     顧客担当ディレクタテーブル
        概要         フィールド名          データ型               概要     フィールド名      データ型
         No.           d_̲id        integer            No.      cd_̲id   integer
        名前           d_̲name       varchar             No.      d_̲id    integer
      携帯番号           d_̲phone      varchar             No.      c_̲id    integer
      ⼊入社年年⽉月         d_̲join        date



      顧客テーブル
        概要         フィールド名          データ型
         No.           c_̲id        integer
        社名           c_̲name       varchar
        住所          C_̲address     varchar
      電話番号           c_̲phone      varchar

All Rights Reserved. Copyright (C) 2012, T ware                                13
第六六回:データベース                 12/07/25



リレーショナルデータベースの仕組み                                                   W



›    例例題(続き)
      ディレクタテーブル                                           顧客担当ディレクタテーブル
      d_id   d_name        d_phone        d_join            cd_id       c_id     d_id
       1     TAM ⼀一郎郎    090-5555-1234    2005.1             1           1         1
       2     TAM ⼆二郎郎    090-5555-2345    2007.4             2           1         4
       3     TAM 三郎郎     090-5555-3456    2010.3             3           2         2
       4     TAM 花⼦子     090-5555-4567    2002.1             4           2         4
       5     TAM 葉葉⼦子    090-5555-5678    2010.6             5           3         3
                                                             6           3         4
      顧客テーブル
      c_id   c_name        c_address        c_phone          7           4         1

       1     A株式会社        東京都⽬目⿊黒区        03-3333-1100       8           4         5

       2     B株式会社         ⼤大阪市北北区        06-6666-1100       9           5         3

       3     C株式会社         東京都港区          03-3333-1200       10          5         4

       4     D株式会社        東京都⽂文京区         03-3333-1300
       5     E株式会社        ⼤大阪市⽣生野区        06-6666-1200
All Rights Reserved. Copyright (C) 2012, T ware                                        14
第六六回:データベース                  12/07/25



リレーショナルデータベースの仕組み                                                    W



›    例例題(続き)                                      フィールド

      ディレクタテーブル                                            顧客担当ディレクタテーブル
      d_id   d_name        d_phone        d_join            cd_id        c_id     d_id
       1     TAM ⼀一郎郎    090-5555-1234    2005.1                1         1         1
       2     TAM ⼆二郎郎    090-5555-2345    2007.4                2         1         4
       3     TAM 三郎郎     090-5555-3456    2010.3                3         2         2
       4     TAM 花⼦子     090-5555-4567    2002.1                4         2         4
       5     TAM 葉葉⼦子    090-5555-5678    2010.6                5         3         3
                                                                6         3         4
      顧客テーブル
      c_id   c_name        c_address        c_phone             7         4         1

       1     A株式会社        東京都⽬目⿊黒区        03-3333-1100          8         4         5

       2     B株式会社         ⼤大阪市北北区        06-6666-1100          9         5         3

       3     C株式会社         東京都港区          03-3333-1200          10        5         4

       4     D株式会社        東京都⽂文京区         03-3333-1300
                                                                                テーブル
       5     E株式会社        ⼤大阪市⽣生野区        06-6666-1200
All Rights Reserved. Copyright (C) 2012, T ware          レコード
                                                                                        15
第六六回:データベース         12/07/25



SQL

›    SQLとは(ウィキペディアより)                                B

      ›    リレーショナルデータベース管理理システム  (RDBMS) において、
            データの操作や定義を⾏行行うためのデータベース⾔言語(問い合わ
            せ⾔言語)



                                                       RDBMS

                                       SQL              MySQL
             アプリケーション
                                                      PostgreSQL
               プログラム
                                                      SQL Server
                                                   Oracle Database
                                                                     データ
                                                               等
                                                                     ベース


                      SQL:Structured Query Language	


All Rights Reserved. Copyright (C) 2012, T ware                             16
第六六回:データベース             12/07/25



SQL         W


    ディレクタテーブル:director_̲tbl
     d_id    d_name        d_phone        d_join          顧客担当ディレクタテーブル:
       1     TAM ⼀一郎郎    090-5555-1234    2005.1          cus_̲dir_̲tbl
       2     TAM ⼆二郎郎    090-5555-2345    2007.4            cd_id   c_id     d_id
       3     TAM 三郎郎     090-5555-3456    2010.3             1       1         1
       4     TAM 花⼦子     090-5555-4567    2002.1             2       1         4
       5     TAM 葉葉⼦子    090-5555-5678    2010.6             3       2         2
                                                             4       2         4
                                                             5       3         3
    顧客テーブル:customer_̲tbl
                                                             6       3         4
     c_id       c_name     c_address        c_phone
                                                             7       4         1
       1    A株式会社         東京都⽬目⿊黒区        03-3333-1100
                                                             8       4         5
       2    B株式会社          ⼤大阪市北北区        06-6666-1100
                                                             9       5         3
       3    C株式会社          東京都港区          03-3333-1200
                                                             10      5         4
       4    D株式会社         東京都⽂文京区         03-3333-1300
       5    E株式会社         ⼤大阪市⽣生野区        06-6666-1200

All Rights Reserved. Copyright (C) 2012, T ware                                    17
第六六回:データベース                 12/07/25



SQL             W



›    SQLの例例
      ›    ⼤大阪市の顧客数
            mysql>	
 select	
 count(*)	
 from	
 customer_tbl	
 where	
 c_address	
 like	
 '大阪市%’;	
 
            +----------+	
 
            |	
 count(*)	
 |	
 
            +----------+	
 
            |	
 	
 	
 	
 	
 	
 	
 	
 2	
 |	
 	
 
            +----------+	
 
            !
      ›    TAM⼀一郎郎の担当件数
            mysql>	
 select	
 count(*)	
 from	
 director_tbl,cus_dir_tbl	
 
                	
                               	
 where	
 cus_dir_tbl.d_id=director_tbl.d_id	
 
                	
                               	
 and	
 director_tbl.d_name='TAM	
 一郎';	
 
            +----------+	
 
            |	
 count(*)	
 |	
 
            +----------+	
 
            |	
 	
 	
 	
 	
 	
 	
 	
 2	
 |	
 	
 
            +----------+	
 
All Rights !
           Reserved. Copyright (C) 2012, T ware                                                           18
第六六回:データベース   12/07/25



SQL          W



›    データ操作コマンド
      ›    検索索
            select … from 〜~ where ***

      ›    挿⼊入(新しくデータを追加)
            insert into 〜~… values …

      ›    更更新(登録されているデータを置き換える)
            update 〜~ set … where ***

      ›    削除
            delete from 〜~ where ***

All Rights Reserved. Copyright (C) 2012, T ware                       19
第六六回:データベース             12/07/25



SQL         W


    ディレクタテーブル:director_̲tbl
     d_id    d_name        d_phone        d_join          顧客担当ディレクタテーブル:
       1     TAM ⼀一郎郎    090-5555-1234    2005.1          cus_̲dir_̲tbl
       2     TAM ⼆二郎郎    090-5555-2345    2007.4            cd_id   c_id     d_id
       3     TAM 三郎郎     090-5555-3456    2010.3             1       1         1
       4     TAM 花⼦子     090-5555-4567    2002.1             2       1         4
       5     TAM 葉葉⼦子    090-5555-5678    2010.6             3       2         2
                                                             4       2         4
                                                             5       3         3
    顧客テーブル:customer_̲tbl
                                                             6       3         4
     c_id       c_name     c_address        c_phone
                                                             7       4         1
       1    A株式会社         東京都⽬目⿊黒区        03-3333-1100
                                                             8       4         5
       2    B株式会社          ⼤大阪市北北区        06-6666-1100
                                                             9       5         3
       3    C株式会社          東京都港区          03-3333-1200
                                                             10      5         4
       4    D株式会社         東京都⽂文京区         03-3333-1300
       5    E株式会社         ⼤大阪市⽣生野区        06-6666-1200

All Rights Reserved. Copyright (C) 2012, T ware                                    20
第六六回:データベース               12/07/25



SQL            W



›    SQLの例例
      ›    TAM花⼦子の携帯番号変更更
            mysql>	
 update	
 director_tbl	
 
                	
                      	
 set	
 d_phone='090-6666-1111’	
 
                	
                      	
 where	
 d_id=4;	
 
            Query	
 OK,	
 1	
 row	
 affected	
 (0.00	
 sec)	
 
            Rows	
 matched:	
 1	
 	
 Changed:	
 1	
 	
 Warnings:	
 0	
 
            	
 
            mysql>	
 select	
 *	
 from	
 director_tbl;	
 
            +------+------------+---------------+------------+	
 
            |	
 d_id	
 |	
 d_name	
 	
 	
 	
 	
 |	
 d_phone	
 	
 	
 	
 	
 	
 	
 |	
 d_join	
 	
 	
 	
 	
 |	
 
            +------+------------+---------------+------------+	
 
            |	
 	
 	
 	
 1	
 |	
 TAM	
 一郎	
 	
 	
 |	
 090-5555-1234	
 |	
 2005-01-01	
 |	
 	
 
            |	
 	
 	
 	
 2	
 |	
 TAM	
 二郎	
 	
 	
 |	
 090-5555-2345	
 |	
 2007-04-01	
 |	
 	
 
            |	
 	
 	
 	
 3	
 |	
 TAM	
 三郎	
 	
 	
 |	
 090-5555-3456	
 |	
 2010-03-01	
 |	
 	
 
            |	
 	
 	
 	
 4	
 |	
 TAM	
 花子	
 	
 	
 |	
 090-6666-1111	
 |	
 2002-01-01	
 |	
 	
 
            |	
 	
 	
 	
 5	
 |	
 TAM	
 葉子	
 	
 	
 |	
 090-5555-5678	
 |	
 2010-06-01	
 |	
 	
 
            +------+------------+---------------+------------+	
 

All Rights Reserved. Copyright (C) 2012, T ware                                                                       21
第六六回:データベース             12/07/25



SQL         W


    ディレクタテーブル:director_̲tbl
     d_id    d_name        d_phone        d_join          顧客担当ディレクタテーブル:
       1     TAM ⼀一郎郎    090-5555-1234    2005.1          cus_̲dir_̲tbl
       2     TAM ⼆二郎郎    090-5555-2345    2007.4            cd_id   c_id     d_id
       3     TAM 三郎郎     090-5555-3456    2010.3             1       1         1
       4     TAM 花⼦子     090-5555-4567    2002.1             2       1         4
       5     TAM 葉葉⼦子    090-5555-5678    2010.6             3       2         2
                                                             4       2         4
                                                             5       3         3
    顧客テーブル:customer_̲tbl
                                                             6       3         4
     c_id       c_name     c_address        c_phone
                                                             7       4         1
       1    A株式会社         東京都⽬目⿊黒区        03-3333-1100
                                                             8       4         5
       2    B株式会社          ⼤大阪市北北区        06-6666-1100
                                                             9       5         3
       3    C株式会社          東京都港区          03-3333-1200
                                                             10      5         4
       4    D株式会社         東京都⽂文京区         03-3333-1300
       5    E株式会社         ⼤大阪市⽣生野区        06-6666-1200

All Rights Reserved. Copyright (C) 2012, T ware                                    22
第六六回:データベース                                        12/07/25



SQL              W



›    SQLの例例!
      ›    ⼊入社3年年以内のディレクタが担当する顧客
            mysql>	
 select	
 c_name,d_name	
 from	
 customer_tbl,cus_dir_tbl,director_tbl	
 
                	
                      	
 where	
 customer_tbl.c_id=cus_dir_tbl.c_id	
 
                	
                      	
                    	
 and	
 cus_dir_tbl.d_id=director_tbl.d_id	
 
                	
                      	
                    	
 and	
 director_tbl.d_join	
 >=	
 date_sub(CURDATE(),	
 
                	
                      	
                    	
                  	
      	
              	
 interval	
 3	
 year);	
 
            	
 
            +-----------------+------------+	
 
            |	
 c_name	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 |	
 d_name	
 	
 	
 	
 	
 |	
 
            +-----------------+------------+	
 
            |	
 C株式会社	
 	
 	
 	
 	
 	
 |	
 TAM	
 三郎	
 	
 	
 |	
 	
 
            |	
 E株式会社	
 	
 	
 	
 	
 	
 |	
 TAM	
 三郎	
 	
 	
 |	
 	
 
            |	
 D株式会社	
 	
 	
 	
 	
 	
 |	
 TAM	
 葉子	
 	
 	
 |	
 	
 
            +-----------------+------------+	
 
            	



All Rights Reserved. Copyright (C) 2012, T ware                                                                                     23
第六六回:データベース         12/07/25



データベースの定義(ER図)
›    ER図とは           B

      ›    データを「実体(entity)」と「関連(relationship)」、「属性
            (attribute)」の3つの構成要素でモデル化した「ERモデル」を
            図式化したもの。
      ›    設計情報として、案件引継ぎ時にやり取りされる場合がある




                                                       ※MySQLWorkbenchで作成

All Rights Reserved. Copyright (C) 2012, T ware                             24
第六六回:データベース                       12/07/25



SQLインジェクションとは

›    SQLインジェクションとは(ウィキペディアより)                                                       B

      ›    セキュリティ上の不不備を意図的に利利⽤用し、アプリケーションが
            想定しないSQL⽂文を実⾏行行させることにより、データベースシス
            テムを不不正に操作する攻撃⽅方法のこと。また、その攻撃を可能
            とする脆弱性のこと
›    例例       W

      ›    ユーザログインのためのSQL⽂文
            select	
 *	
 from	
 user	
 where	
 uid=‘ID入力値’	
 and	
 pwd=‘PW入力値’	
 
      ›    ⼊入⼒力力値
            ID入力値:tam-taro、 PW入力値:’or‘t’=‘t	
 
      ›    ⼊入⼒力力値を代⼊入したSQL⽂文
            select	
 *	
 from	
 user	
 where	
 uid=‘tam-taro’	
 and	
 pwd=‘’	
 or‘t’=‘t’	
 
      ›    プログラム処理理で対策可能
            › 型チェック、エスケープ処理理  等
All Rights Reserved. Copyright (C) 2012, T ware                                               25
第六六回:データベース           12/07/25



これだけは憶えよう

›    前回のフォローアップ                                  ›    SQL
      ›    仕様の書き⽅方                                     ›    RDBMSへの問合せ⾔言語
            ›  ⽬目的に即した情報をシン                      ›    ER図とは
                プルに表現する                                 ›    データベースの設計情報
›    データベースとは                                          ›    引継ぎ時に要求される場合
      ›    MySQL, PostgreSQL,                                がある
            SQLite、SQL Server,                    ›    SQLインジェクションとは
            Oracle Database  等
                                                        ›    SQLを利利⽤用したデータベー
›    リレーショナルデータベー                                            スの不不正操作
      スの仕組み                                             ›    プログラム処理理で対策可能
      ›    データの関係を利利⽤用して効
            率率率的にデータにアクセスで
            きる仕組み

All Rights Reserved. Copyright (C) 2012, T ware                               26
第六六回:データベース   12/07/25




                            ご質問、お問合せお寄せ下さい	
  

                                               toru@tam-­‐tam.co.jp	
  
                                               support@i-­‐tware.com	
  




All	
  Rights	
  Reserved.	
  Copyright	
  (C)	
  2012,	
  T ware                       27	
  

More Related Content

What's hot

C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
C11,12 SQL Server 2012 Performance Tuning by Yukio KumazawaC11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
C11,12 SQL Server 2012 Performance Tuning by Yukio KumazawaInsight Technology, Inc.
 
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)Amazon Web Services Japan
 
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料ITDORAKU
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展Recruit Technologies
 
組み込みDb empressのご紹介
組み込みDb empressのご紹介組み込みDb empressのご紹介
組み込みDb empressのご紹介ITDORAKU
 
C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章Insight Technology, Inc.
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...Insight Technology, Inc.
 
Empressレプリケーション説明資料 2
Empressレプリケーション説明資料 2Empressレプリケーション説明資料 2
Empressレプリケーション説明資料 2ITDORAKU
 
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Seiichiro Ishida
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...Insight Technology, Inc.
 
Introduction to Modern Analytical DB
Introduction to Modern Analytical DBIntroduction to Modern Analytical DB
Introduction to Modern Analytical DBTakeshi Yamamuro
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssTakahiro Iwase
 
SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-Takeshi Yamamuro
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)Ryota Watabe
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Ryota Watabe
 
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...Insight Technology, Inc.
 
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)NTT DATA OSS Professional Services
 

What's hot (20)

C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
C11,12 SQL Server 2012 Performance Tuning by Yukio KumazawaC11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
 
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)
2012年上半期 AWSパートナーアワード受賞社資料:モバイルに最適なバックエンドプラットフォーム (アイキューブドシステムズ様)
 
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
組み込みDb empressのご紹介
組み込みDb empressのご紹介組み込みDb empressのご紹介
組み込みDb empressのご紹介
 
C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章C32 DB Performance on Cloud by 安藤賀章
C32 DB Performance on Cloud by 安藤賀章
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
[db tech showcase Sapporo 2015] C26:Oracle Standard EditionでPhysical Standby ...
 
Empressレプリケーション説明資料 2
Empressレプリケーション説明資料 2Empressレプリケーション説明資料 2
Empressレプリケーション説明資料 2
 
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
Zabbix jp勉強会 Hadoop-HBaseの監視_20120512
 
CDH4.0.0のNameNode HAを触ってみて
CDH4.0.0のNameNode HAを触ってみてCDH4.0.0のNameNode HAを触ってみて
CDH4.0.0のNameNode HAを触ってみて
 
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
[db tech showcase Sapporo 2015] B16:ビッグデータには、なぜ列指向が有効なのか? by 日本ヒューレット・パッカード株式...
 
Introduction to Modern Analytical DB
Introduction to Modern Analytical DBIntroduction to Modern Analytical DB
Introduction to Modern Analytical DB
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ss
 
SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-SIGMOD’12勉強会 -Session 7-
SIGMOD’12勉強会 -Session 7-
 
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.
 
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
 
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)
Hadoop上の多種多様な処理でPigの活きる道 (Hadoop Conferecne Japan 2013 Winter)
 

Viewers also liked

第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベース第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベースhakoika-itwg
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」(株)TAM
 
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」(株)TAM
 
Mobile expoパンフレット
Mobile expoパンフレットMobile expoパンフレット
Mobile expoパンフレット(株)TAM
 
超入門データベース基礎の基礎
超入門データベース基礎の基礎超入門データベース基礎の基礎
超入門データベース基礎の基礎Matsuzawa Fumiaki
 
データベース入門1
データベース入門1データベース入門1
データベース入門1tadaaki hayashi
 
実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法Soudai Sone
 

Viewers also liked (8)

Sql基礎の基礎
Sql基礎の基礎Sql基礎の基礎
Sql基礎の基礎
 
第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベース第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベース
 
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
TAM 新人ディレクター システムスキルアップ プログラム 第7回 「プログラム言語」
 
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」
TAM 新人ディレクター システムスキルアップ プログラム第4回「ネットワーク機器について」
 
Mobile expoパンフレット
Mobile expoパンフレットMobile expoパンフレット
Mobile expoパンフレット
 
超入門データベース基礎の基礎
超入門データベース基礎の基礎超入門データベース基礎の基礎
超入門データベース基礎の基礎
 
データベース入門1
データベース入門1データベース入門1
データベース入門1
 
実務で役立つデータベースの活用法
実務で役立つデータベースの活用法実務で役立つデータベースの活用法
実務で役立つデータベースの活用法
 

Similar to TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」

Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Ryota Watabe
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料Recruit Technologies
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)Yosuke Katsuki
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu GotoInsight Technology, Inc.
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo FallYusukeKuramata
 
NoSQL Bigtable and Azure Table
NoSQL Bigtable and Azure TableNoSQL Bigtable and Azure Table
NoSQL Bigtable and Azure TableTakekazu Omi
 
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要オラクルエンジニア通信
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data PlatformNaoki (Neo) SATO
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?Masayuki Ozawa
 
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)Kensuke SAEKI
 
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」Aya Komuro
 
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)日本マイクロソフト株式会社
 
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...オラクルエンジニア通信
 
メタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeメタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeMitsuharu Nagamori
 
データベース09 - データベース設計
データベース09 - データベース設計データベース09 - データベース設計
データベース09 - データベース設計Kenta Oku
 
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya ShinoharaInsight Technology, Inc.
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 

Similar to TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」 (20)

Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)
実案件で見る データ分析用AWS基盤の構築方法 - Developers.IO 2017 (20170701)
 
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
[D33] そのデータベース 5年後大丈夫ですか by Hiromu Goto
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
NoSQL Bigtable and Azure Table
NoSQL Bigtable and Azure TableNoSQL Bigtable and Azure Table
NoSQL Bigtable and Azure Table
 
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
 
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
JAWSUG佐賀 「灯台下暗し!?社内から考えるクラウド活用事例」
 
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
【de:code 2020】 Power Platform で広がるデータ インテグレーションの世界 (1/2)
 
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
[Oracle Innovation Summit Tokyo 2018] 水環境の持続を支えるクラウド型ICTプラットフォーム「Water Busine...
 
メタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridgeメタデータスキーマレジストリ MetaBridge
メタデータスキーマレジストリ MetaBridge
 
データベース09 - データベース設計
データベース09 - データベース設計データベース09 - データベース設計
データベース09 - データベース設計
 
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara
[B23] 事例で語る、社会インフラを支えるNonStop SQL ~見えないところで凄いんです~by Tetsuya Shinohara
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 

TAM 新人ディレクター システムスキルアップ プログラム 第6回 「データベース」

  • 2. 第六六回:データベース 12/07/25 今⽇日の内容 ›  前回のフォローアップ ›  SQL ›  仕様のまとめ⽅方 ›  例例題 ›  データベースとは ›  ER図とは ›  RDBMSの種類 ›  概要 ›  リレーショナルデータベー ›  SQLインジェクションとは スの仕組み ›  概要と例例 ›  例例題 All Rights Reserved. Copyright (C) 2012, T ware 1
  • 3. 第六六回:データベース 12/07/25 前回のフォローアップ ›  仕様のまとめ⽅方(書き⽅方) B ›  社内標準があればそれに従う ›  標準がない場合 ›  ドキュメントの⽬目的を正しく理理解する ›  ⽬目的に合わない内容は削除することも検討する ›  お⼿手本となるドキュメントを参考にする ›  書き⽅方、⾔言葉葉の使い⽅方、章⽴立立てなど、良良いと思うものは どんどん取り⼊入れる ›  ドキュメントの⽬目的から外れないように ›  なぜそう書いてあるのか  も考える ›  「⾃自分ならこんな書き⽅方しない」と思ったときは要注意 All Rights Reserved. Copyright (C) 2012, T ware 2
  • 4. 第六六回:データベース 12/07/25 前回のフォローアップ ›  仕様のまとめ⽅方(書き⽅方) B ›  標準がない場合(続き) ›  誤解無く伝える ›  あいまいな⾔言葉葉を使わない ü  例例:「データベース」 ü  データベースサーバに保存されているデータ ü  保存形式は問わないが、あるまとまりのデータ ›  1⽂文に内容を詰め込み過ぎない ›  例例:クリックして登録されたデータを表⽰示できます ü  登録されたデータをクリックして下さい。該当の データが表⽰示されます。 ›  図の意味は明快に ›  指し⽰示すものと動きが⽭矛盾無く理理解可能か? ›  (時間を置いて)読み返してみる All Rights Reserved. Copyright (C) 2012, T ware 3
  • 5. 第六六回:データベース 12/07/25 データベースとは ›  データベース(ウィキペディアより) B ›  特定のテーマに沿ったデータを集めて管理理し、容易易に検索索・抽 出などの再利利⽤用をできるようにしたもの ›  データベースをコンピュータ上で管理理するためのシステムを データベース管理理システム  (Database Management System, DBMS) という ›  優れている点 W ›  データ保存が容易易かつ安全 ›  アプリケーションが⾯面倒をみる必要がない ›  データの⼀一貫性を保持できる ›  トランザクション処理理 All Rights Reserved. Copyright (C) 2012, T ware 4
  • 6. 第六六回:データベース 12/07/25 主なRDBMS ›  RDBMS(Relational Database Management System) B No. 名称 ベンダ 種別 概要(ウィキペディアより抜粋) オープン 世界で最も普及しているオープンソース・ 1 MySQL ⽇日本オラクル ソース データベース オープン 国内では、PostgreSQL  53.0%  と  MySQL   2 PostgreSQL ­− ソース 51.4%  がほぼ横並び 企業サーバ向けの⾼高機能なシステムから組み ⽇日本マイクロ 3 SQL  Server 商⽤用 込み系の⼩小規模なシステムまで幅広く、また ソフト Microsoft Windowsと親和性が⾼高い 世界初の商⽤用RDBMSであり、メインフレー Oracle 4 ⽇日本オラクル 商⽤用 ムからパーソナルコンピュータまで、幅広い Database プラットフォームをサポート 軽量量のデータベースである。  ⼀一般的な オープン 5 SQLite ­− RDBMSに⽐比べて⼤大規模な仕事には不不向きだ ソース が、中⼩小規模ならば速度度に遜⾊色はない All Rights Reserved. Copyright (C) 2012, T ware 5
  • 7. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  リレーショナルデータモデル ›  現在もっとも広く⽤用いられているデータモデル ›  データをリレーション(関係)で表現 ›  データはテーブルに格納 ›  例例題 ›  ディレクタ表 No. 名前 携帯番号 ⼊入社年年⽉月 1 TAM ⼀一郎郎 090-5555-1234 2005.1 2 TAM ⼆二郎郎 090-5555-2345 2007.4 3 TAM 三郎郎 090-5555-3456 2010.3 4 TAM 花⼦子 090-5555-4567 2002.1 5 TAM 葉葉⼦子 090-5555-5678 2010.6 All Rights Reserved. Copyright (C) 2012, T ware 6
  • 8. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ›  顧客表 No. 社名 住所 電話番号 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 2 B株式会社 ⼤大阪市北北区 06-6666-1100 3 C株式会社 東京都港区 03-3333-1200 4 D株式会社 東京都⽂文京区 03-3333-1300 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware 7
  • 9. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ›  顧客担当ディレクタ表 No. 社名 住所 電話番号 担当ディレクタ 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 TAM ⼀一郎郎、TAM 花⼦子 2 B株式会社 ⼤大阪市北北区 06-6666-1100 TAM ⼆二郎郎、TAM 花⼦子 3 C株式会社 東京都港区 03-3333-1200 TAM 三郎郎、TAM 花⼦子 4 D株式会社 東京都⽂文京区 03-3333-1300 TAM ⼀一郎郎、TAM 葉葉⼦子 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 TAM 三郎郎、TAM 花⼦子 2名で1顧客を担当 All Rights Reserved. Copyright (C) 2012, T ware 8
  • 10. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ›  顧客担当ディレクタ表(作り直し) 担当 No. 社名 住所 電話番号 携帯番号 ⼊入社年年⽉月 ディレクタ 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 TAM  ⼀一郎郎 090-5555-1234 2005.1 2 A株式会社 東京都⽬目⿊黒区 03-3333-1100 TAM  花⼦子 090-5555-4567 2002.1 3 B株式会社 ⼤大阪市北北区 06-6666-1100 TAM  ⼆二郎郎 090-5555-2345 2007.4 4 B株式会社 ⼤大阪市北北区 06-6666-1100 TAM  花⼦子 090-5555-4567 2002.1 5 C株式会社 東京都港区 03-3333-1200 TAM  三郎郎 090-5555-3456 2010.3 6 C株式会社 東京都港区 03-3333-1200 TAM  花⼦子 090-5555-4567 2002.1 7 D株式会社 東京都⽂文京区 03-3333-1300 TAM  ⼀一郎郎 090-5555-1234 2005.1 8 D株式会社 東京都⽂文京区 03-3333-1300 TAM  葉葉⼦子 090-5555-5678 2010.6 9 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 TAM  三郎郎 090-5555-3456 2010.3 10 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 TAM  花⼦子 090-5555-4567 2002.1 All Rights Reserved. Copyright (C) 2012, T ware 9
  • 11. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) 担当 No. 社名 住所 電話番号 携帯番号 ⼊入社年年⽉月 ディレクタ 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 TAM  ⼀一郎郎 090-5555-1234 2005.1 2 A株式会社 東京都⽬目⿊黒区 03-3333-1100 TAM  花⼦子 090-5555-4567 2002.1 3 B株式会社 ⼤大阪市北北区 06-6666-1100 TAM  ⼆二郎郎 090-5555-2345 2007.4 4 B株式会社 ⼤大阪市北北区 06-6666-1100 TAM  花⼦子 090-5555-4567 2002.1 5 C株式会社 東京都港区 03-3333-1200 TAM  三郎郎 090-5555-3456 2010.3 6 C株式会社 東京都港区 03-3333-1200 TAM  花⼦子 090-5555-4567 2002.1 7 D株式会社 東京都⽂文京区 03-3333-1300 TAM  ⼀一郎郎 090-5555-1234 2005.1 8 D株式会社 東京都⽂文京区 03-3333-1300 TAM  葉葉⼦子 090-5555-5678 2010.6 9 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 TAM  三郎郎 090-5555-3456 2010.3 10 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 TAM  花⼦子 090-5555-4567 2002.1 (1)  大阪市の顧客数 (3)  ⼊入社3年年以内のディレクタが担当する顧客 (2)  TAM一郎の担当件数 (4)  TAM花⼦子の携帯番号変更更 All Rights Reserved. Copyright (C) 2012, T ware 10
  • 12. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ›  テーブル定義(第1ステップ) ディレクタテーブル 名称 フィールド名 データ型 No. d_̲id integer 名前 d_̲name varchar 携帯番号 d_̲phone varchar ⼊入社年年⽉月 d_̲join date 顧客テーブル 名称 フィールド名 データ型 No. c_̲id integer 社名 c_̲name varchar 住所 C_̲address varchar 電話番号 c_̲phone varchar All Rights Reserved. Copyright (C) 2012, T ware 11
  • 13. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ›  テーブル定義(第2ステップ) ディレクタテーブル 顧客担当ディレクタテーブル 概要 フィールド名 データ型 概要 フィールド名 データ型 No. d_̲id integer No. cd_̲id integer 名前 d_̲name varchar 社名 c_̲name varchar 携帯番号 d_̲phone varchar 住所 c_̲address varchar ⼊入社年年⽉月 d_̲join date 電話番号 c_̲phone varchar 名前 d_̲name varchar 顧客テーブル 携帯番号 d_̲phone varchar 概要 フィールド名 データ型 ⼊入社年年⽉月 d_̲join date No. c_̲id integer 社名 c_̲name varchar 住所 C_̲address varchar 電話番号 c_̲phone varchar All Rights Reserved. Copyright (C) 2012, T ware 12
  • 14. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ディレクタテーブル 顧客担当ディレクタテーブル 概要 フィールド名 データ型 概要 フィールド名 データ型 No. d_̲id integer No. cd_̲id integer 名前 d_̲name varchar No. d_̲id integer 携帯番号 d_̲phone varchar No. c_̲id integer ⼊入社年年⽉月 d_̲join date 顧客テーブル 概要 フィールド名 データ型 No. c_̲id integer 社名 c_̲name varchar 住所 C_̲address varchar 電話番号 c_̲phone varchar All Rights Reserved. Copyright (C) 2012, T ware 13
  • 15. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) ディレクタテーブル 顧客担当ディレクタテーブル d_id d_name d_phone d_join cd_id c_id d_id 1 TAM ⼀一郎郎 090-5555-1234 2005.1 1 1 1 2 TAM ⼆二郎郎 090-5555-2345 2007.4 2 1 4 3 TAM 三郎郎 090-5555-3456 2010.3 3 2 2 4 TAM 花⼦子 090-5555-4567 2002.1 4 2 4 5 TAM 葉葉⼦子 090-5555-5678 2010.6 5 3 3 6 3 4 顧客テーブル c_id c_name c_address c_phone 7 4 1 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 8 4 5 2 B株式会社 ⼤大阪市北北区 06-6666-1100 9 5 3 3 C株式会社 東京都港区 03-3333-1200 10 5 4 4 D株式会社 東京都⽂文京区 03-3333-1300 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware 14
  • 16. 第六六回:データベース 12/07/25 リレーショナルデータベースの仕組み W ›  例例題(続き) フィールド ディレクタテーブル 顧客担当ディレクタテーブル d_id d_name d_phone d_join cd_id c_id d_id 1 TAM ⼀一郎郎 090-5555-1234 2005.1 1 1 1 2 TAM ⼆二郎郎 090-5555-2345 2007.4 2 1 4 3 TAM 三郎郎 090-5555-3456 2010.3 3 2 2 4 TAM 花⼦子 090-5555-4567 2002.1 4 2 4 5 TAM 葉葉⼦子 090-5555-5678 2010.6 5 3 3 6 3 4 顧客テーブル c_id c_name c_address c_phone 7 4 1 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 8 4 5 2 B株式会社 ⼤大阪市北北区 06-6666-1100 9 5 3 3 C株式会社 東京都港区 03-3333-1200 10 5 4 4 D株式会社 東京都⽂文京区 03-3333-1300 テーブル 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware レコード 15
  • 17. 第六六回:データベース 12/07/25 SQL ›  SQLとは(ウィキペディアより) B ›  リレーショナルデータベース管理理システム  (RDBMS) において、 データの操作や定義を⾏行行うためのデータベース⾔言語(問い合わ せ⾔言語) RDBMS SQL MySQL アプリケーション PostgreSQL プログラム SQL Server Oracle Database データ           等 ベース SQL:Structured Query Language All Rights Reserved. Copyright (C) 2012, T ware 16
  • 18. 第六六回:データベース 12/07/25 SQL W ディレクタテーブル:director_̲tbl d_id d_name d_phone d_join 顧客担当ディレクタテーブル: 1 TAM ⼀一郎郎 090-5555-1234 2005.1 cus_̲dir_̲tbl 2 TAM ⼆二郎郎 090-5555-2345 2007.4 cd_id c_id d_id 3 TAM 三郎郎 090-5555-3456 2010.3 1 1 1 4 TAM 花⼦子 090-5555-4567 2002.1 2 1 4 5 TAM 葉葉⼦子 090-5555-5678 2010.6 3 2 2 4 2 4 5 3 3 顧客テーブル:customer_̲tbl 6 3 4 c_id c_name c_address c_phone 7 4 1 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 8 4 5 2 B株式会社 ⼤大阪市北北区 06-6666-1100 9 5 3 3 C株式会社 東京都港区 03-3333-1200 10 5 4 4 D株式会社 東京都⽂文京区 03-3333-1300 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware 17
  • 19. 第六六回:データベース 12/07/25 SQL W ›  SQLの例例 ›  ⼤大阪市の顧客数 mysql> select count(*) from customer_tbl where c_address like '大阪市%’; +----------+ | count(*) | +----------+ | 2 | +----------+ ! ›  TAM⼀一郎郎の担当件数 mysql> select count(*) from director_tbl,cus_dir_tbl where cus_dir_tbl.d_id=director_tbl.d_id and director_tbl.d_name='TAM 一郎'; +----------+ | count(*) | +----------+ | 2 | +----------+ All Rights ! Reserved. Copyright (C) 2012, T ware 18
  • 20. 第六六回:データベース 12/07/25 SQL W ›  データ操作コマンド ›  検索索 select … from 〜~ where *** ›  挿⼊入(新しくデータを追加) insert into 〜~… values … ›  更更新(登録されているデータを置き換える) update 〜~ set … where *** ›  削除 delete from 〜~ where *** All Rights Reserved. Copyright (C) 2012, T ware 19
  • 21. 第六六回:データベース 12/07/25 SQL W ディレクタテーブル:director_̲tbl d_id d_name d_phone d_join 顧客担当ディレクタテーブル: 1 TAM ⼀一郎郎 090-5555-1234 2005.1 cus_̲dir_̲tbl 2 TAM ⼆二郎郎 090-5555-2345 2007.4 cd_id c_id d_id 3 TAM 三郎郎 090-5555-3456 2010.3 1 1 1 4 TAM 花⼦子 090-5555-4567 2002.1 2 1 4 5 TAM 葉葉⼦子 090-5555-5678 2010.6 3 2 2 4 2 4 5 3 3 顧客テーブル:customer_̲tbl 6 3 4 c_id c_name c_address c_phone 7 4 1 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 8 4 5 2 B株式会社 ⼤大阪市北北区 06-6666-1100 9 5 3 3 C株式会社 東京都港区 03-3333-1200 10 5 4 4 D株式会社 東京都⽂文京区 03-3333-1300 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware 20
  • 22. 第六六回:データベース 12/07/25 SQL W ›  SQLの例例 ›  TAM花⼦子の携帯番号変更更 mysql> update director_tbl set d_phone='090-6666-1111’ where d_id=4; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from director_tbl; +------+------------+---------------+------------+ | d_id | d_name | d_phone | d_join | +------+------------+---------------+------------+ | 1 | TAM 一郎 | 090-5555-1234 | 2005-01-01 | | 2 | TAM 二郎 | 090-5555-2345 | 2007-04-01 | | 3 | TAM 三郎 | 090-5555-3456 | 2010-03-01 | | 4 | TAM 花子 | 090-6666-1111 | 2002-01-01 | | 5 | TAM 葉子 | 090-5555-5678 | 2010-06-01 | +------+------------+---------------+------------+ All Rights Reserved. Copyright (C) 2012, T ware 21
  • 23. 第六六回:データベース 12/07/25 SQL W ディレクタテーブル:director_̲tbl d_id d_name d_phone d_join 顧客担当ディレクタテーブル: 1 TAM ⼀一郎郎 090-5555-1234 2005.1 cus_̲dir_̲tbl 2 TAM ⼆二郎郎 090-5555-2345 2007.4 cd_id c_id d_id 3 TAM 三郎郎 090-5555-3456 2010.3 1 1 1 4 TAM 花⼦子 090-5555-4567 2002.1 2 1 4 5 TAM 葉葉⼦子 090-5555-5678 2010.6 3 2 2 4 2 4 5 3 3 顧客テーブル:customer_̲tbl 6 3 4 c_id c_name c_address c_phone 7 4 1 1 A株式会社 東京都⽬目⿊黒区 03-3333-1100 8 4 5 2 B株式会社 ⼤大阪市北北区 06-6666-1100 9 5 3 3 C株式会社 東京都港区 03-3333-1200 10 5 4 4 D株式会社 東京都⽂文京区 03-3333-1300 5 E株式会社 ⼤大阪市⽣生野区 06-6666-1200 All Rights Reserved. Copyright (C) 2012, T ware 22
  • 24. 第六六回:データベース 12/07/25 SQL W ›  SQLの例例! ›  ⼊入社3年年以内のディレクタが担当する顧客 mysql> select c_name,d_name from customer_tbl,cus_dir_tbl,director_tbl where customer_tbl.c_id=cus_dir_tbl.c_id and cus_dir_tbl.d_id=director_tbl.d_id and director_tbl.d_join >= date_sub(CURDATE(), interval 3 year); +-----------------+------------+ | c_name | d_name | +-----------------+------------+ | C株式会社 | TAM 三郎 | | E株式会社 | TAM 三郎 | | D株式会社 | TAM 葉子 | +-----------------+------------+ All Rights Reserved. Copyright (C) 2012, T ware 23
  • 25. 第六六回:データベース 12/07/25 データベースの定義(ER図) ›  ER図とは B ›  データを「実体(entity)」と「関連(relationship)」、「属性 (attribute)」の3つの構成要素でモデル化した「ERモデル」を 図式化したもの。 ›  設計情報として、案件引継ぎ時にやり取りされる場合がある ※MySQLWorkbenchで作成 All Rights Reserved. Copyright (C) 2012, T ware 24
  • 26. 第六六回:データベース 12/07/25 SQLインジェクションとは ›  SQLインジェクションとは(ウィキペディアより) B ›  セキュリティ上の不不備を意図的に利利⽤用し、アプリケーションが 想定しないSQL⽂文を実⾏行行させることにより、データベースシス テムを不不正に操作する攻撃⽅方法のこと。また、その攻撃を可能 とする脆弱性のこと ›  例例 W ›  ユーザログインのためのSQL⽂文 select * from user where uid=‘ID入力値’ and pwd=‘PW入力値’ ›  ⼊入⼒力力値 ID入力値:tam-taro、 PW入力値:’or‘t’=‘t ›  ⼊入⼒力力値を代⼊入したSQL⽂文 select * from user where uid=‘tam-taro’ and pwd=‘’ or‘t’=‘t’ ›  プログラム処理理で対策可能 › 型チェック、エスケープ処理理  等 All Rights Reserved. Copyright (C) 2012, T ware 25
  • 27. 第六六回:データベース 12/07/25 これだけは憶えよう ›  前回のフォローアップ ›  SQL ›  仕様の書き⽅方 ›  RDBMSへの問合せ⾔言語 ›  ⽬目的に即した情報をシン ›  ER図とは プルに表現する ›  データベースの設計情報 ›  データベースとは ›  引継ぎ時に要求される場合 ›  MySQL, PostgreSQL, がある SQLite、SQL Server, ›  SQLインジェクションとは Oracle Database  等 ›  SQLを利利⽤用したデータベー ›  リレーショナルデータベー スの不不正操作 スの仕組み ›  プログラム処理理で対策可能 ›  データの関係を利利⽤用して効 率率率的にデータにアクセスで きる仕組み All Rights Reserved. Copyright (C) 2012, T ware 26
  • 28. 第六六回:データベース 12/07/25 ご質問、お問合せお寄せ下さい   toru@tam-­‐tam.co.jp   support@i-­‐tware.com   All  Rights  Reserved.  Copyright  (C)  2012,  T ware 27