目次(まとめ)
◾️ データを管理することに特化したデータベース管理システムに命令を出すときに使用するSQL文
◾️ 1つの処理を実行するための複数のSQL文をまとめて、データベース管理システムに保存する
◾️ 参考文献
こんにちは、みっちゃんです。
今回の記事では、データベース管理システム(DBMS: Data Base Management System)から必要なデータを取り出す際に使用する「SQL (Structured Query Language) 文」と、それらを一括してDBMSに保存する手続きであり「ストアドプロシージャ」について紹介します。
データを管理することに特化したデータベース管理システムに命令を出すときに使用するSQL文
大規模なデータを管理するためのシステムを「データベース管理システム(DBMS: Data Base Management System)」といいます。
イメージとしては、みなさんが日頃つかっている表計算ソフトウェア(Excelなど)を大きくしたものといった感じです。
例えば、"学籍番号"、"氏名"、"性別"、"出身地"、"得意科目" といった項目のデータを40人クラスの中で集める程度であれば、表計算ソフトウェアで十分ですが、データ数が増え、複雑になってくると、表計算ソフトウェアでは対応できません。
そこで「データベース管理システム(DBMS)」が用いられます。
このシステムに対して、データを取り出すなどの操作を行うためには「SQL (Structured Query Language) 文」を使用します。
例えば、"学籍番号"、"氏名"、"性別"、"出身地"、"得意科目" といった項目からなる「学生表」という表データがDBMSに保存されていて、"出身地" が "東京" の学生の "学籍番号" が欲しい場合には、以下のようにSQL文を記述します。
例:SELECT 学籍番号 FROM 学生表 WHERE 出身地=東京
1つの処理を実行するための複数のSQL文をまとめて、データベース管理システムに保存する
いま、SQL文を10個記述して、1つの処理が終了するような場合を考えます。
例えば、その処理がとても珍しい処理の場合には、SQL文を10個記述すればいいかもしれませんが、よく出てくる処理(毎日実行する必要がある処理など)の場合には、毎回SQL文を10個記述するのは、非効率です。
また、SQL文をDBMSというシステムに、ネットワーク経由で送るような場合には、ネットワークに対する負荷が、多かれ少なかれ生じます。
そこで、1つの処理を実行するための複数のSQL文をまとめて、さらに、DBMS側に保存しておく「ストアドプロシージャ」が便利です。
上に述べたような欠点を解消できるだけでなく、SQL文をまとめる段階で、手続きの最適化が行われるため、処理速度の向上も期待できます。
参考文献
きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社