Slide 1

Slide 1 text

知っててうれしい SQL について 2024/12/31 貞元勝幸 1

Slide 2

Slide 2 text

目次 SQL について SQL の種類 SQL が実行される流れ まとめ ※ SELECT 文など SQL の具体的な記述方法については触れません。 目次 2

Slide 3

Slide 3 text

SQL について SQL (Structured Query Language )は、リレーショナルデータベース (RDB) を操作するための言語です。 ISO で標準化されており、様々なデータベース管理システムで利用さ れています。 しかし、データベース管理システムによっては、SQL の標準に準拠し ていない部分もあります。 そのため、データベース管理システムによって使用できる・できない SQL があることに注意が必要です。 SQL について 3

Slide 4

Slide 4 text

SQL の種類 SQL には、以下のような種類があります。 DDL (Data Definition Language ) DML (Data Manipulation Language ) DCL (Data Control Language ) SQL の種類 4

Slide 5

Slide 5 text

DDL (Data Definition Language ) DDL は、データベースの構造を定義するための言語です。 主に以下のようなものがあります。 CREATE DATABASE, CREATE TABLE, CREATE INDEX, CREATE VIEW ALTER DATABASE, ALTER TABLE, ALTER VIEW DROP DATABASE, DROP TABLE, DROP INDEX, DROP VIEW TRUNCATE TABLE SQL の種類 - DDL 5

Slide 6

Slide 6 text

DML (Data Manipulation Language ) DML は、データを操作するための言語です。 主に以下のようなものがあります。 SELECT INSERT UPDATE DELETE SQL の種類 - DML 6

Slide 7

Slide 7 text

DCL (Data Control Language ) DCL は、データベースに対する権限の設定するための言語です。 主に以下のようなものがあります。 GRANT REVOKE SQL の種類 - DCL 7

Slide 8

Slide 8 text

DDL, DML, DCL とトランザクションの関係 トランザクションは、DML をまとめて処理し、データの整合性を保つ ための仕組みです。 トランザクション中に DDL や DCL を実行すると、トランザクション がコミットされる RDB もあります。 そのため、トランザクション中は DML のみを実行するように注意が 必要です。 特に TRUNCATE TABLE は DDL に分類されるため、注意してくださ い。 DDL, DML, DCL とトランザクションの関係 8

Slide 9

Slide 9 text

SQL が実行される流れ SQL は RDB の中で以下のような流れで実行されます。 1. SQL の解析 2. SQL の実行計画の作成 3. SQL の実行 SQL が実行される流れ 9

Slide 10

Slide 10 text

SQL の解析 SQL は、まず構文解析されます。 構文解析によって、SQL の文法が正しいかどうかがチェックされま す。 SQL の文法が正しくない場合、エラーが発生します。 SQL が実行される流れ - SQL の解析 10

Slide 11

Slide 11 text

SQL の実行計画の作成 SQL の実行計画は、SQL を実行するための手順を示します。 実行計画を作成する際には、インデックスや統計情報などが参照され ます。 実行計画が作成されると、SQL が実行される準備が整います。 ここで作成された実行計画が、意図したものであるかどうかを確認す ることが重要です。 パフォーマンスの問題が発生する場合、実行計画を見直すことで改善 できることもあります。 SQL が実行される流れ - SQL の実行計画の作成 11

Slide 12

Slide 12 text

SQL の実行 SQL の実行は、実行計画に従って行われます。 実行中には、ロックやトランザクションの制御などが行われます。 SQL の実行が完了すると、結果が返されます。 結果はメモリや内部の一時領域に保持されるため、大量のデータを取 得する場合は注意が必要です。 DISTINCT や ORDER BY, UNION などの処理を行うと、一時領域の使 用量が増えるため、パフォーマンスに影響が出ることもあります。 SQL が実行される流れ - SQL の実行 12

Slide 13

Slide 13 text

まとめ SQL は、RDB を操作するための言語 SQL には DDL, DML, DCL があり、それぞれ異なる役割を持つ SQL は RDB の中で解析、実行計画の作成、実行される まとめ 13

Slide 14

Slide 14 text

ご清聴ありがとうございました。 14