1 / 33

5 章 データベース言語SQL

5 章 データベース言語SQL. p.79-90 1組. 5 章 データベース言語SQL. P79~82 H102065 高埜直樹 H102086 外松真一. SQLとは. SQLは関係モデルに基づく標準のデータベース言語。 データ定義からデータ操作まで 1 つの言語体系で構成されている。 ISO(国際標準化機構)によって標準化されたデータベース言語。. SQLの規格. 最初のSQLの国際規格 ( ISO/IEC 9075)1987 年に出版。 日本工業規格 (JIS X 3005)1987 年に制定。

krysta
Télécharger la présentation

5 章 データベース言語SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5章 データベース言語SQL p.79-90 1組 051019

  2. 5章 データベース言語SQL P79~82 H102065 高埜直樹 H102086 外松真一

  3. SQLとは • SQLは関係モデルに基づく標準のデータベース言語。 • データ定義からデータ操作まで1つの言語体系で構成されている。 • ISO(国際標準化機構)によって標準化されたデータベース言語。

  4. SQLの規格 • 最初のSQLの国際規格 (ISO/IEC 9075)1987年に出版。 • 日本工業規格(JIS X 3005)1987年に制定。  これまでに出版されたSQLは、1987年度1989年度、 1992年度版がある。 SQL-87 SQL-89 SQL-92  と呼ばれている。 JIS X 3005規格もSQLに対応し、改訂されている。

  5. SQL-87 • 関係モデルに基づくデータ定義 (スキーマ定義) • データベース操作の基本的な機能を データベース言語として規定。

  6. SQL-89 • 参照制約を含む整合性機能の拡張が 行なわれた。

  7. SQL-92 • SQL2とも呼ばれる。 • 整合性制約の拡張 • データ定義の操作(スキーマ操作) • 動的SQLなど大幅な機能拡張が行なわれた。 • クライアントサーバ環境での機能をサポートするため SQL/CLI(call level interface) SQL/PMS(persistent stored modules) 2つの機能が別冊パートで追加されている。

  8. SQL/CLI(call level interface) • SQL/CLIは クライアントサーバ間で、 SQL文を実行するための 1つの結合形態を提供する  呼び出しインターフェース。 この仕組みは、動的SQLと類似した仕組み。

  9. SQL/PMS(persistent stored modules) ● SQL/PMSは  SQLで記述されたプログラムを データベースに格納、呼び出す機能  を持っている • プログラムは、フロー制御を行なう文も提供されている。

  10. 水準 • SQLー87, SQL-89は SQLー92により置き換えられた。 • SQL-92には 初級SQL 中級SQL 完全SQL という水準が設けられている。

  11. 新しいSQL • SQLでは、SQL-92よりオブジェクト指向拡張などを行うSQL3の開発が行われている。 • SQLを用いて フルテキスト(全文情報) 地理情報 など マルチメディアデータベース アプリケーションパッケージ の標準を開発するSQL/MM (SQL multimedia and application packages) の検討が行われている。

  12. SQLのデータ構造

  13. 行 • SQLのデータベースのデータの構造 列 • SQLの表(table)、行(row)、列(column)は関係モデルのリレーションタプル、属性に対応する。

  14. 関係モデルのリレーション →タプルの非同値性という制約。 • SQL ・制約無し。 ・マルチ集合から構成できる。 ※マルチ集合・・・必ずしも異ならない対象の   順序付けられていない集まり。

  15. • 表には・・・ ・実表(base table) →永続的または一時的に実在。 ・ビュー表(viewed table) →ある視点からとらえ仮想的。 ・導出表(derived table) →問合せの評価によって他の表から生成。 がある。

  16. 行、列 • 行 ・表に挿入または削除できるデータの最小単位。 • 列 ・マルチ集合 ・同じデータ型(data type)または定義域でなくてはならない。 ・一つの列の一つの値は表から選択できて、更新できるデータの最小単位。

  17. データ型 • 表現可能な値の集まり。 ・データ列型(文字列型(CHARACTER,CHARA-CTER VARYING) ・漢字列型(NATIONAL CHAR) ・ビット列型(BIT,BIT VARYING) ・数型(真数型(NUMERIC,DECIMAL,INTEGER,SMALLINT) ・概数型(FLOAT,REAL,DOUBLE PRECISION)) ・日時型(DATA,TIME,TIMESTAMP)

  18. データベース論 テキストP83~P85のプレゼンテーション 発表日:平成16年11月17日(水) H102137 山田 雄大 H102021 大島 翔太

  19. SQLのデータ定義(スキーマ定義)(1) 定義域 表(列) ビュー 権限 表名 文字集合 照合順 文字変換 などの定義と制約を記述 スキーマ定義 スキーマ操作 変 更 削 除

  20. SQLのデータ定義(2) [定義域](店名) 定義域名店名を定義 [実表1](支店) 支店名、所在地、 代表電話番号 を列名として定義 主キー [実表2](社員) 社員番号、社員名、 所属支店、入社日 を列名として定義 「所属支店」は支店の 「支店名」を参照し、 参照元が削除、更新 されたら同様に更新 [ビュー表](みなと支店社員) みなと支店だけの社員 からなる表を生成

  21. SQLのデータ定義(3) ビュー表とは  「社員」実表の列「所属支店」が“みなと”のものだけを取り出し、  仮想的な表(ビュー表)を作成 ある条件を満たすタプルだけを 取り出して作成された仮想的な表

  22. SQLのデータ定義(4) 図5・2のスキーマ定義を元に表を作成した例 [定義域](店名) [実表1](支店) [実表2](社員) [ビュー表](みなと支店社員)

  23. SQL-92で追加されたスキーマ操作 • スキーマ削除文(スキーマの破壊) • 表変更文(列定義の追加・変更・削除・表制約定義の追加・削除など) • 表削除文(表の破壊) • ビュー削除文(ビューの破壊) • 定義域変更文(定義域制約定義の追加・削除など) • 定義域削除文(定義域の破壊) • 文字集合削除文(文字集合の破壊) • 照合順削除文(照合惇の破壊) • 文字変換削除文(文字変換の破壊) • 表名削除文(表明の破壊) • REVOKE文(権限の破壊)

  24. データベース論SQLのトランザクションP88-90データベース論SQLのトランザクションP88-90 H102008 池上直隆 H102403 花岡智史

  25. SQLのトランザクション • トランザクションはデータベースの処理単位

  26. ACID特性 • ACID特性 • 原子性(Atomicity) • 正常に完了(コミット) • すべて無効(ロールバック) • 一貫性(Consistency) • 隔離性(Isolation) • 持続性(Durability)

  27. SQL-92 • SQLのトランザクションはSQL文の並びで構成 • 正常に完了→COMMIT文で終了 • すべて無効→ROLLBAKC文で終了 • SQL-92はSETーTRANSACTION文が導入 • アクセスモード • 隔離性水準

  28. 隔離性水準 • 隔離性水準には四つの水準があり、次の三つ現象の可能性がある P1:汚れのある読み出し   (dirty read) P2:繰り返し不可能読み出し(non-repeatable read) P3:幻(phantom)

  29. P1: 汚れのある読み出し(dirty read) トランザクションT1        トランザクションT2 トランザクションT1で行を更新   ↓ T1がCOMMITされない状態   トランザクションT2がT1で ↓           更新した行を読み込む T1がROLLBACKを実行           ↓ T2が存在しなかった行を                     読み込むことになる

  30. P2: 繰り返し不可能読み出し(non-repeatable read)  トランザクションT1        トランザクションT2 トランザクションT1で行を   読み込む T2がT1の読み込んだ行                     を更新や削除しCOMMIT T1が再びその行を読み込む と以前の呼び出しと異なる

  31. P3: 幻(phantom)   トランザクションT1        トランザクションT2 トランザクションT1である   検索条件を満たす行の集合 を読み出す T2がT1の検索条件を満                     たす新しい行を生成する                          T1が再び同じ検索条件で 読み込むと以前の呼び出し と異なる

  32. 隔離性水準と現象

More Related