| パラダイム | 宣言的 |
|---|---|
| 家族 | クエリ言語 |
| デザイン: | ドナルド・D・チェンバリン レイモンド・F・ボイス |
| 開発者 | ISO/IEC JTC 1 (合同技術委員会 1) / SC 32 (小委員会 32) / WG 3 (作業部会 3) |
| 初登場 | 1974年 |
| 安定リリース | SQL:2023
/ 2023年6月 |
| タイピングの規律 | 静的、強い |
| OS | クロスプラットフォーム |
| Webサイト | www.iso.org/standard/76583.html |
| 主な実装 | |
| 多くの | |
| 方言 | |
| |
| 影響を受けた | |
| データログ | |
| 影響を受けた | |
| CQL、LINQ、SPARQL、 SOQL 、PowerShell、[1] JPQL、jOOQ、N1QL、GQL | |
| ファイル名拡張子 |
.sql |
|---|---|
| インターネットメディアの種類 |
アプリケーション/SQL [2] [3] |
| 開発者 | ISO / IEC 2000-2010 の認証 |
| 初回リリース | 1986 |
| フォーマットの種類 | データベース |
| 標準 | 9075 国際標準化機構 |
| オープンフォーマット? | はい |
| Webサイト | www.iso.org/standard/76583.html |
構造化照会言語(SQL)(発音は S-QL、歴史的には「後継者」)[4] [5]は、特にリレーショナルデータベース管理システム(RDBMS)でデータを管理するために使用されるドメイン固有の言語です。これは、構造化データ、つまりエンティティと変数間の関係を組み込んだデータを処理する場合に特に便利です。
1970 年代に導入された SQL は、ISAMやVSAMなどの古い読み取り/書き込みAPIに比べて 2 つの主な利点がありました。まず、 1 つのコマンドで多数のレコードにアクセスするという概念が導入されました。次に、レコードに到達する方法(インデックスの有無)を指定する必要がなくなりました。
もともとリレーショナル代数とタプルリレーショナル計算に基づいていたSQLは、多くの種類のステートメントで構成されています。[6]これらは非公式にはサブ言語として分類され、一般的にはデータクエリ言語(DQL)、データ定義言語(DDL)、データ制御言語(DCL)、データ操作言語(DML)に分類されます。[7]
SQL の範囲には、データ クエリ、データ操作 (挿入、更新、削除)、データ定義 (スキーマの作成と変更)、およびデータ アクセス制御が含まれます。SQL は基本的に宣言型言語( 4GL )ですが、手続き型要素も含まれています。
SQLは、エドガー・F・コッドのリレーショナルモデルを採用した最初の商用言語の1つです。このモデルは、1970年に発表されたコッドの影響力ある論文「大規模共有データバンクのためのリレーショナルデータモデル」で説明されています。[8]コッドが説明したリレーショナルモデル に完全に準拠しているわけではないにもかかわらず、SQLは最も広く使用されているデータベース言語となりました。[9] [10]
SQLは1986年に米国規格協会(ANSI)の標準となり、 1987年には国際標準化機構(ISO)の標準となりました。 [11]それ以来、この標準はより広範な機能セットと共通の拡張機能を組み込むために何度も改訂されてきました。標準が存在するにもかかわらず、既存の実装は事実上それを完全に準拠しておらず、ほとんどのSQLコードは異なるデータベースシステムに移植される前に少なくともいくつかの変更を必要とします。
歴史
SQLは、1970年代初頭にエドガー・F・コッド[12]からリレーショナルモデルについて学んだ後、IBMでドナルド・D・チェンバレンとレイモンド・F・ボイスによって最初に開発されました。 [13]このバージョンは当初SEQUEL(Structured English Query Language)と呼ばれ、 IBMサンノゼ研究所のグループが1970年代に開発したIBMのオリジナルの準リレーショナルデータベース管理システムであるSystem Rに格納されたデータを操作および取得するように設計されました。[13]
チェンバレンとボイスがリレーショナルデータベース言語に初めて取り組んだのはSQUARE (Specifying Queries in A Relational Environment) だったが、上付き/下付き表記法のせいで使いにくかった。1973年にサンノゼ研究所に移った後、彼らはSQUAREの続編に取りかかった。[12]元の名前であるSEQUELは、Ingresのクエリ言語であるQUELをもじったものだと広く考えられているが、[14]後に「SEQUEL」が英国を拠点とするホーカー・シドレー・ダイナミクス・エンジニアリング社の商標であったため、母音を削除してSQLに変更された。 [15] SQLというラベルは後にStructured Query Languageの頭字語となった。
IBMは、システムの有用性と実用性を判断するために顧客のテストサイトでSQLをテストした後、System Rプロトタイプに基づいてSystem/38、SQL/DS、IBM Db2などの商用製品の開発を開始し、それぞれ1979年、1981年、1983年に市販されました。[16]
1970 年代後半、Relational Software, Inc. (現在のOracle Corporation ) は、Codd、Chamberlin、および Boyce によって説明された概念の可能性に着目し、米国海軍、中央情報局、およびその他の米国政府機関への販売を念頭に、独自の SQL ベースのRDBMS を開発しました。1979 年 6 月、Relational Software は、 VAXコンピュータ向けの最初の商用 SQL 実装の 1 つであるOracle V2 (バージョン 2)を発表しました。
1986年までに、ANSIとISOの標準化団体は、標準の「データベース言語SQL」言語定義を正式に採用しました。この標準の新しいバージョンは、1989年、1992年、1996年、1999年、2003年、2006年、2008年、2011年、[12] 2016年、そして最近では2023年に公開されました。[17]
構文
SQL 言語は、次のようないくつかの言語要素に細分化されます。
- 文やクエリの構成要素である節。(場合によってはオプションであることもある。)[18]
- 式は、スカラー値、または列と行のデータで構成されるテーブルを生成できます。
- 述語は、SQL の3 値ロジック (3VL) (true/false/unknown) またはブール値 の真理値に評価できる条件を指定し、ステートメントやクエリの効果を制限したり、プログラム フローを変更したりするために使用されます。
- クエリは、特定の条件に基づいてデータを取得します。これはSQLの重要な要素です。
- ステートメントは、スキーマやデータに永続的な影響を与えたり、トランザクション、プログラム フロー、接続、セッション、診断を制御したりすることがあります。
- SQL ステートメントには、セミコロン(";") ステートメント終了文字も含まれます。すべてのプラットフォームで必須ではありませんが、SQL 文法の標準部分として定義されています。
- 通常、SQL ステートメントとクエリでは重要でない空白は無視されるため、SQL コードを読みやすくフォーマットしやすくなります。
手続きの拡張
SQL は、リレーショナル データベースに含まれるデータを照会するという特定の目的のために設計されています。SQL はセットベースの宣言型プログラミング言語であり、CやBASICのような命令型プログラミング言語ではありません。ただし、標準 SQL の拡張機能により、フロー制御構造などの 手続き型プログラミング言語機能が追加されます。
標準の SQL/PSM 拡張機能と独自の SQL 拡張機能に加えて、他の言語との DBMS 統合により、多くの SQL プラットフォームで手続き型およびオブジェクト指向のプログラミングが可能になります。SQL 標準では、SQL データベースでJavaコードをサポートするために、 SQL/JRT拡張機能 (Java プログラミング言語の SQL ルーチンと型) が定義されています。Microsoft SQL Server 2005では、 SQLCLR (SQL Server 共通言語ランタイム)を使用してデータベースで管理された.NETアセンブリをホストしますが、以前のバージョンの SQL Server では、主に C で記述された非管理拡張ストアド プロシージャに制限されていました。PostgreSQLでは、 Perl、Python、Tcl、JavaScript (PL/V8)、C など、さまざまな言語で関数を記述できます。[19]
相互運用性と標準化
概要
SQL の実装はベンダー間で互換性がなく、必ずしも標準に完全に従っているわけではありません。特に、日付と時刻の構文、文字列の連結、NULL、および比較の大文字と小文字の区別はベンダーによって異なります。PostgreSQL [20]とMimer SQL [21]は標準への準拠を目指していますが、PostgreSQL はすべてのケースで標準に準拠しているわけではありません。たとえば、PostgreSQL で引用符で囲まれていない名前を小文字に変換することは、引用符で囲まれていない名前を大文字に変換すると規定されているSQL 標準[22]と互換性がありません。 [23]したがって、標準によれば、はと同等であり、 と同等ではありません。
FooFOOfoo
DATE一般的なSQLの実装では、やデータ型などの標準SQLの基本機能のサポートが省略されるのが一般的ですTIME。最も明白な例、そして偶然にも最も人気のある商用および独自のSQL DBMSは、Oracle(、[24] [25]DATEのように動作し、型がない)[26]とMS SQL Server(2008バージョンより前)です。その結果、SQLコードを変更せずにデータベースシステム間で移植することはほとんどできません。
DATETIMETIME
互換性がない理由
データベース システム間の移植性が欠如している理由はいくつかあります。
- SQL 標準の複雑さと規模により、ほとんどの実装者は標準全体をサポートしていません。
- SQL 標準では、いくつかの重要な領域 (インデックス、ファイル ストレージなど) におけるデータベースの動作が指定されておらず、実装によって動作方法が決定されることになります。
- SQL標準では、明示的に名前が付けられていない結果列にどのような名前を付けるかなど、いくつかの決定を個々の実装に委ねています。[27] : 207
- SQL 標準では、準拠するデータベース システムが実装する必要がある構文が正確に指定されています。ただし、言語構造のセマンティクスに関する標準の指定は明確に定義されていないため、あいまいさが生じています。
- 多くのデータベース ベンダーは既存の大規模な顧客ベースを持っています。SQL 標準の新しいバージョンがベンダーのデータベースの以前の動作と競合する場合、ベンダーは下位互換性を壊すことを望まない可能性があります。
- ベンダーにとって、データベースサプライヤーの変更を容易にする商業的インセンティブはほとんどありません (ベンダーロックインを参照)。
- データベース ソフトウェアを評価するユーザーは、標準への準拠よりもパフォーマンスなどの他の要素を優先する傾向があります。
標準化の歴史
SQLは1986年にANSIによってSQL-86 [28]として標準として採用され、1987年にはISOによって標準として採用されました。 [11]これはISO/IEC JTC 1、情報技術、小委員会SC 32、データ管理および交換によって保守されています。
1996年まで、米国国立標準技術研究所(NIST)のデータ管理標準プログラムは、SQL DBMSのSQL標準への準拠を認定していました。現在、ベンダーは自社製品の準拠を自己認定しています。[29]
オリジナルの標準では、「SQL」の公式発音は頭字語であると宣言されていました: / ˌ ɛ s ˌ k juː ˈ ɛ l / (「ess cue el」)。[9]それにもかかわらず、多くの英語圏のデータベース専門家(ドナルド・チェンバレン自身を含む[30] )は、言語のプレリリース開発名「SEQUEL」を反映して、頭字語のような発音である/ ˈ s iː k w əl / (「sequel」)を使用しています。 [ 31 ] [13] [15] [30] SQL標準は、いくつかの改訂を経てきました。
現在の標準
この規格は、一般的にISO/IEC 9075-n:yyyy Part n: titleという形式で表記される。または、短縮形としてISO/IEC 9075とも表記される。関心のある団体は、ISO、 [36] IEC、または ANSIから規格文書を購入することができる。古い草案のいくつかは無料で入手できる。[37] [38] [39]
ISO/IEC 9075 は、 ISO/IEC 13249: SQL マルチメディアおよびアプリケーション パッケージといくつかの技術レポートによって補完されます。
代替案
言語としての SQL の代替と、リレーショナル モデル自体の代替を区別する必要があります。以下は、SQL 言語のリレーショナル代替として提案されているものです。リレーショナル モデルの代替については、ナビゲーション データベースとNoSQL を参照してください。
- .QL : オブジェクト指向データログ
- 4D クエリ言語(4D QL)
- Datalog:批評家は、DatalogにはSQLに比べて2つの利点があると主張している。それは、よりクリーンなセマンティクスを持ち、プログラムの理解と保守が容易であることと、特に再帰クエリに対してより表現力に優れていることである。[40]
- HTSQL : URL ベースのクエリ方法
- IBM Business System 12 (IBM BS12): 1982 年に導入された最初の完全なリレーショナル データベース管理システムの 1 つ
- 国際ビジネス
- jOOQ :内部ドメイン固有言語として Java で実装された SQL
- Java Persistence Query Language (JPQL): Java Persistence API およびHibernate永続ライブラリで使用されるクエリ言語
- JavaScript : MongoDB はクエリ言語を JavaScript API で実装します。
- LINQ : 言語構造のように記述された SQL ステートメントを実行して、 .Netコード内から直接コレクションをクエリします。
- オブジェクトクエリ言語
- QBE ( Query By Example ) は、Moshè Zloof 氏 (IBM 1977) によって作成されました。
- QUELは1974年にカリフォルニア大学バークレー校のIngresプロジェクトによって導入され、SQLよりもタプルリレーショナル計算に近い。
- XQuery
分散SQL処理
分散リレーショナルデータベースアーキテクチャ(DRDA)は、1988年から1994年にかけてIBM内の作業グループによって設計されました。DRDAにより、ネットワーク接続されたリレーショナルデータベースが連携してSQL要求を満たすことができるようになります。[41] [42]
対話型ユーザーまたはプログラムは、ローカル RDB に SQL ステートメントを発行し、リモート RDB から応答としてデータ テーブルとステータス インジケータを受け取ることができます。SQL ステートメントは、コンパイルされてパッケージとしてリモート RDB に格納され、パッケージ名で呼び出されることもあります。これは、複雑で高頻度のクエリを発行するアプリケーション プログラムを効率的に操作するために重要です。特に、アクセスするテーブルがリモート システムにある場合に重要です。
DRDA のメッセージ、プロトコル、および構造コンポーネントは、分散データ管理アーキテクチャによって定義されます。DRDA による分散 SQL 処理は、現代の分散 SQLデータベースとは異なります。
批判
デザイン
SQL は、その理論的基礎であるリレーショナル モデルとタプル計算からいくつかの点で逸脱しています。そのモデルでは、テーブルはタプルのセットですが、SQL では、テーブルとクエリ結果は行のリストです。同じ行が複数回出現することがあり、行の順序はクエリで使用できます (たとえば、LIMIT 句)。批評家は、SQL を厳密に元の基礎に戻る言語に置き換えるべきだと主張しています。たとえば、Hugh Darwen と CJ Date によるThe Third Manifesto (2006 年、 ISBN 0-321-39942-0 ) を参照してください。
直交性と完全性
初期の仕様では、主キーなどの主要な機能はサポートされていませんでした。結果セットに名前を付けることはできず、サブクエリは定義されていませんでした。これらは1992年に追加されました。[12]
合計型の欠如は、SQLのユーザー定義型を十分に活用する上での障害として説明されています。たとえば、JSONサポートは2016年に新しい標準によって追加される必要がありました。[43]
ヌル
Nullの概念は議論の対象となっている。Nullマーカーは値の欠如を示し、整数列の値0やテキスト列の空文字列とは異なります。Nullの概念は、一般的な3値ロジックの具体的な実装であるSQLの3値ロジックを強制します。[12]
重複
もう一つのよくある批判は、行の重複が許可されるため、 Pythonなどの言語との統合が難しいというものです。Pythonのデータ型では、解析とモジュール性の欠如の点で、データの正確な表現が困難になる可能性があります。 [12]これは通常、テーブル内の行を一意に識別する1つ以上の列を持つ主キーまたは一意制約を宣言することで回避されます。
インピーダンス不整合
オブジェクトとリレーショナル間のインピーダンス不一致に似た意味で、宣言型 SQL 言語と、SQL が通常埋め込まれている手続き型言語との間に不一致が発生します。[引用が必要]
SQL データ型
SQL 標準では、3 種類のデータ型が定義されています(SQL/Foundation の 4.1.1 章)。
- 定義済みデータ型
- 構築型
- ユーザー定義型。
構築型は、 ARRAY、MULTISET、REF(erence)、または ROW のいずれかです。ユーザー定義型は、独自のコンストラクター、オブザーバー、ミューテーター、メソッド、継承、オーバーロード、上書き、インターフェイスなどを持つオブジェクト指向言語のクラスに相当します。定義済みデータ型は、実装によって本質的にサポートされています。
定義済みデータ型
- 文字の種類
- キャラクター(CHAR)
- 可変文字 (VARCHAR)
- 文字ラージオブジェクト (CLOB)
- 国別文字タイプ
- 国語文字 (NCHAR)
- 国別文字変化 (NCHAR VARYING)
- 国別文字ラージ オブジェクト (NCLOB)
- バイナリ型
- バイナリ (BINARY)
- バイナリ可変長 (VARBINARY)
- バイナリラージオブジェクト (BLOB)
- 数値型
- 正確な数値型 (NUMERIC、DECIMAL、SMALLINT、INTEGER、BIGINT)
- 近似数値型 (FLOAT、REAL、DOUBLE PRECISION)
- 10進浮動小数点型(DECFLOAT)
- 日時型 (DATE、TIME、TIMESTAMP)
- インターバル型(INTERVAL)
- ブール
- XML(SQL/XMLを参照)[44]
- 翻訳
参照
注記
参考文献
- ^ Paul, Ryan (2005 年 10 月 24 日)。「Microsoft コマンド シェルのガイド ツアー」。Ars Technica。2011年4 月 10 日閲覧。
- ^ 「アプリケーション/SQL のメディア タイプ登録」。Internet Assigned Numbers Authority。2013年 4 月 10 日。2013 年4 月 10 日閲覧。
- ^ Shafranovich, Y. (2013 年 4 月). 「application/sql メディア タイプ、RFC 6922」。インターネット エンジニアリング タスク フォース。p. 3。doi : 10.17487/RFC6922。2013年4 月 10 日閲覧。
- ^ Beaulieu, Alan (2009 年 4 月). Mary E Treseler (編). Learning SQL (第 2 版). セバストポル、カリフォルニア州、米国: O'Reilly. ISBN 978-0-596-52083-0。
- ^ Chamberlin, Donald D.; Frana, Philip L. (2001-10-03). 「Donald D. Chamberlin とのオーラル ヒストリー インタビュー」. University Digital Conservancy . hdl :11299/107215 . 2020-01-14に取得。
誰かの弁護士から「SEQUEL」という名前はその人のものであるという手紙を受け取ったため、元の名前「SEQUEL」を SQL に変更しました。Structured Query Language (構造化照会言語) の略称である SQL に短縮され、製品は SQL/DS として知られていました。
- ^ SQL-92、4.22 SQL 文、4.22.1 SQL 文のクラス「SQL 文を分類する方法は少なくとも 5 つあります:」、4.22.2、機能別に分類された SQL 文「SQL 文の主なクラスは次のとおりです:」、SQL:2003 4.11 SQL 文、およびそれ以降の改訂版。
- ^ Chatham, Mark (2012). 例による構造化クエリ言語 - 第 1 巻: データクエリ言語。Lulu.com。p. 8。ISBN 9781291199512。
- ^ Codd, Edgar F. (1970 年 6 月). 「大規模共有データバンクのリレーショナルデータモデル」. Communications of the ACM . 13 (6): 377–87. CiteSeerX 10.1.1.88.646 . doi :10.1145/362384.362685. S2CID 207549016.
- ^ ab Chapple, Mike. 「SQL の基礎」。データベース。About.com。2009年 1 月 28 日閲覧。
- ^ 「Structured Query Language (SQL)」。International Business Machines。2006 年 10 月 27 日。2007 年 6 月 10 日閲覧。
- ^ ab "ISO 9075:1987: 情報技術 – データベース言語 – SQL – パート1: フレームワーク (SQL/フレームワーク)". 1987-06-01.
- ^ abcdef Chamberlin, Donald (2012). 「SQL の初期の歴史」. IEEE Annals of the History of Computing . 34 (4): 78–82. doi :10.1109/MAHC.2012.61. S2CID 1322572.
- ^ abc Chamberlin, Donald D; Boyce, Raymond F (1974). 「SEQUEL: A Structured English Query Language」(PDF)。1974 ACM SIGFIDET Workshop on Data Description, Access and Control の議事録。Association for Computing Machinery: 249–64。 2007-09-26 にオリジナル(PDF)からアーカイブ。2007-06-09に取得。
- ^ Starkey, Jim. 「動的 SQL、Plumbing、および内部 API」。www.ibphoenix.com。2023年 1 月 19 日閲覧。
- ^ ab Oppel, Andy (2004年2月27日). Databases Demystified.サンフランシスコ、カリフォルニア州: McGraw-Hill Osborne Media. pp. 90–1. ISBN 978-0-07-146960-9。
- ^ 「IBMの歴史、1978年」。IBMアーカイブ。IBM。2003年1月23日。2005年1月17日時点のオリジナルよりアーカイブ。 2007年6月9日閲覧。
- ^ 「ISO - ISO/IEC JTC 1/SC 32 - データ管理および交換」www.iso.org . 2021年1月2日閲覧。
- ^ ANSI/ISO/IEC 国際規格 (IS)。データベース言語 SQL - パート 2: 基礎 (SQL/Foundation)。1999 年。
- ^ 「PostgreSQL サーバープログラミング」。PostgreSQL 9.1 公式ドキュメント。postgresql.org。2011 年。2012 年 3 月 9 日閲覧。
- ^ 「PostgreSQL について」。PostgreSQL 9.1 公式ウェブサイト。PostgreSQL Global Development Group。2012 年。2012 年3 月 9 日閲覧。PostgreSQL
は標準準拠を誇りとしています。SQL 実装は ANSI-SQL:2008 標準に厳密に準拠しています。
- ^ 「Mimer SQL、標準に基づいて構築」。Mimer SQL 公式 Web サイト。Mimer Information Technology。2009 年。
- ^ 「4.1. 語彙構造」。PostgreSQLドキュメント。2018 年。
- ^ 「(第2次非公式レビュー草案) ISO/IEC 9075:1992、データベース言語SQL、セクション5.2、構文規則11」。1992年7月30日。
- ^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010 年 10 月) [1996]。「Oracle SQL の基本要素: データ型」。Oracle Database SQL 言語リファレンス 11g リリース 2 (11.2)。Oracle Database ドキュメント ライブラリ。カリフォルニア州レッドウッド シティ: Oracle USA, Inc。2010年12 月 29 日取得。
各
値について、Oracle は次の情報を格納します: 世紀、年、月、日、時、分、秒
DATE - ^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010 年 10 月) [1996]。「Oracle SQL の基本要素: データ型」。Oracle Database SQL 言語リファレンス 11g リリース 2 (11.2)。Oracle Database ドキュメント ライブラリ。カリフォルニア州レッドウッド シティ: Oracle USA, Inc。2010年12 月 29 日に取得。
日時データ型は
...
DATE - ^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010 年 10 月) [1996]。「Oracle SQL の基本要素: データ型」。Oracle Database SQL 言語リファレンス 11g リリース 2 (11.2)。Oracle Database ドキュメント ライブラリ。カリフォルニア州レッドウッド シティ: Oracle USA, Inc。2010年12 月 29 日取得。
次の SQL/DS および DB2 データ型の列は、対応する Oracle データ型がないため、定義しないでください。...
TIME - ^ Date, Chris J. (2013).コンピュータプロフェッショナルのためのリレーショナル理論: リレーショナルデータベースの本質とは(第 1 版). セバストポル、カリフォルニア州: O'Reilly Media. ISBN 978-1-449-36943-9。
- ^ 「検索補助」。X3H2レコード、1978~1995 年。アメリカ規格協会。
- ^ Doll, Shelley (2002 年 6 月 19 日)。「SQL はもはや標準か?」TechRepublic の Builder.com。TechRepublic。2012年 7 月 5 日時点のオリジナルよりアーカイブ。2016年 4 月 12 日閲覧。
- ^ ab Gillespie, Patrick. 「SQL の発音: SQL か Sequel か?」2012 年2 月 12 日閲覧。
- ^ メルトン、ジム、アラン・R・サイモン (1993)。「1.2. SQL とは何か?」新しい SQL を理解する: 完全ガイド。モーガン・カウフマン。p. 536。ISBN 978-1-55860-245-8.
SQL (一般的な「sequel」ではなく、「ess cue ell」と正しく発音します)...
- ^ ミヒャエル・ワーグナー (2010). SQL/XML:2006 - 標準銀行システムの評価。ディプロミカ・フェルラグ。 p. 100.ISBN 978-3-8366-9609-8。
- ^ 「SQL:2008 が ISO 国際標準として承認されました」。Sybase。2008 年 7 月。2011 年 6 月 28 日時点のオリジナルよりアーカイブ。
- ^ Krishna Kulkarni、Jan-Eike Michels (2012 年 9 月)。「SQL:2011 のテンポラル機能」(PDF)。SIGMODレコード。41 ( 3 )。
- ^ Fred Zemke (2012). 「SQL:2011 の新機能」(PDF)。Oracle Corporation。
- ^ 「ISO/IEC 9075」。
- ^ SQL:1992 ドラフト(テキスト)
- ^ SQL:2008 ドラフト(Zip)、Whitemarsh Information Systems Corporation
- ^ SQL:2011 ドラフト(Zip)、Whitemarsh Information Systems Corporation
- ^ Fernando Saenz-Perez. 「演繹データベースシステムにおける外部結合」(PDF) . Lbd.udc.es . 2017 年 1 月 16 日閲覧。
- ^ Reinsch, R. (1988). 「SAA 用分散データベース」IBM Systems Journal . 27 (3): 362–389. doi :10.1147/sj.273.0362.
- ^ 分散リレーショナル データベース アーキテクチャ リファレンス。IBM Corp. SC26-4651-0。1990 年。
- ^ Brandon, Jamie (2021年7月). 「Against SQL」 . 2021年8月2日閲覧。
- ^ 「Oracle Database 10g での SQL 2003 標準サポート」(PDF)。Oracle 。Oracle Corporation。2003 年 11 月。2024 年 3 月 27 日に閲覧。XML のサポートは、ANSI SQL 2003 パート 14 で追加されました。
出典
- Codd, Edgar F (1970年 6月)。「大規模共有データバンク用のリレーショナルデータモデル」。Communications of the ACM。13 ( 6): 377–87。doi : 10.1145/362384.362685。S2CID 207549016。
- SQL の欠陥に関する議論 (C2 wiki)
- CJ DateとHugh Darwen著: SQL 標準ガイド: 標準データベース言語 SQL のユーザー ガイド、第 4 版、Addison Wesley、米国 1997 年、ISBN 978-0-201-96426-4
外部リンク
- 1995 SQL Reunion: People, Projects, and Politics、Paul McJones (編) 著: リレーショナル データベースと SQL の個人的な歴史に焦点を当てた再会ミーティングの記録。
- アメリカ規格協会。X3H2 レコード、1978 ~ 1995チャールズ バベッジ研究所コレクションは、H2 委員会による NDL および SQL 標準の開発を記録しています。
- ドナルド D. チェンバリン氏への口述歴史インタビューチャールズ バベッジ研究所この口述歴史では、チェンバリン氏が自身の幼少期、ハーベイ マッド カレッジとスタンフォード大学での教育、リレーショナル データベース技術に関する研究について語っています。チェンバリン氏は System R 研究チームのメンバーであり、レイモンド F. ボイス氏とともにSQL データベース言語を開発しました。チェンバリン氏は、XML クエリ言語に関する最近の研究についても簡単に説明しています。
