SQL 標準とは? わかりやすく解説

SQL標準

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/06 15:54 UTC 版)

関係モデル」の記事における「SQL標準」の解説

SQLStructured Query Language)は、最初に関係データベース標準言語となったが、いくつかの面で関係モデルリレーショナルモデル)から逸脱している。SQLは、これらの関係モデルからの逸脱根拠として批判されることがあるDate C. J. "Database in Depth" 参照)。2008年現在、ISO SQL 標準は、関係モデル言及しておらず、関係モデルの用語も概念使っていない。しかしSQL使って関係モデル適合するデータベース構築することは、いくつかのSQL機能を使わなければ、可能である。 まずSQLの用語とそれに相当する関係モデルの用語の対応関係を示す。 SQLの用語と関係モデルの用語の対応関係SQLの用語関係モデルの用語表(テーブル; table) 関係変数リレーション変数; relvar; relation variable) 行(row) 組(タプル; tuple) 列(カラム; column属性attribute) 以下にSQL標準における関係モデルからの逸脱記述する。ただしSQL標準の全て実装しているデータベース管理システム (DBMS) はほとんど存在しない。ここで述べ関係モデルからの逸脱いくつかについては、ほとんどの SQL DBMS逸脱している。 NULLはほとんどの SQL DBMS にも存在するが、一つの表(関係モデルでは関係変数に相当)に同じ名称を2つ(以上)の列(属性に相当)に重複してつけることができるかどうか名前の無い列許容されるかどうかについては、SQL DBMS ごとにさまざまである行の重複 SQL一つの表では、同一内容の行が2回以上出現することを許容する関係モデル一つの関係変数では、同一内容の組が2回以上出現することはありえない名前の無い列 SQLの表では、名前の無い列存在することがあり、このためそのような列はSQLの式では参照できない関係モデルでは、あらゆる属性に名前が必要であり参照可能である必要がある列の名前の重複 SQL一つの表では、2つ上のに対して同じ名前をつけることができ、このためそのような列は明らかにあいまいでありSQLの式では参照できない関係モデル一つの関係変数では、2つ上の属性に対して同じ名前をつけることはできず、そのためあらゆる属性参照可能である。 列の順序づけの重要性 SQLの表では、列の順序定義されており重要である。この結果一つとして直積と和の演算SQL実装交換法則成立する演算ではなくなっている。関係モデルの関係変数では、列は順序づけられていないため、直積演算と和演算における交換法則成立するCHECK OPTION の無いビュー SQL では CHECK OPTION をつけずに定義されビューに対して更新を行うことができる。しかしその結果そうしたビューへの更新は必ずしも更新対象当該ビュー)に反映されるわけではない例えSQLでは、ビュー対すINSERT実行は可能であるが、追加された行ビュー反映されないことがある。またビューUPDATE行った場合ビューから更新対象データ消え可能性がある。関係モデルでは、ビュー対す更新基底関係変数対す更新と同じ結果になることが必要である。 表は必ず1つ以上の列を持つ SQLでは表は少なくとも1つの列を持つ必要があり、列が0個である表は定義できない関係モデルでは属性が0個である関係が2つ存在するそのうち1つ濃度(組の数)が1つであり、もう1つの関係は濃度が0である。関係モデルにおいてこの2つの関係は自由変数が0個である述語外延表現するために必要である。 NULL NULLという特別な印(マーク)は、ある行のある列の値など、原則としてどこであれSQLの値を設定できるところであれば値の代わりにつけることができる。この関係モデルからの逸脱は、SQLにおいてこの場当たり的概念実装三値論理採用関連しているという事実から、生じる。三値論理においてはNULLNULL自身比較すると真(true)とは評価されず、unknown という第三の値に評価される。またNULLNULL以外の何かと比較すると偽(false)とは評価されず、unknown評価される比較におけるこのような振る舞いのために、NULLは値ではなく印(マーク)であると説明されるのである関係モデル排中律依拠している。排中律のもとでは、真と評価されないものは何であれ偽と評価され、偽と評価されないものは何であれ真と評価される関係モデルでは、関係の本体全ての組の全ての属性には必ず値が割り当てられている。この逸脱一部人々の間で論争対象となった。なぜなら、エドガー・F・コッド自身最終的に特殊な印と四値論理採用提唱したからである。ただしこの四値論理の提唱コッド見解基づいていた。コッド見解とは値の代わりに特殊な印をつけたいと思う背景には2つ異な理由があるということである。こうした経緯はさらに多く異な理由発見するであろうような四値論理採用対す反対者招き19もの異な理由言及された。その場合は二十一値論理が必要となるであろうSQL自体は、NULLを「未知の値」の表現以外にもいくつかの用途使っている。例えば、空集合SUM関数合計値計算)を適用するNULLとなる。これは0を意味する空集合平均値NULLである。これは未定義を意味するNULLは左外部結合結果でも現れる。これは「右側には対応する行が存在しないため値は無い」を意味する

※この「SQL標準」の解説は、「関係モデル」の解説の一部です。
「SQL標準」を含む「関係モデル」の記事については、「関係モデル」の概要を参照ください。

ウィキペディア小見出し辞書の「SQL 標準」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SQL 標準」の関連用語

SQL 標準のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SQL 標準のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの関係モデル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS