# SQLリファレンス

# SQLとは何ですか?

Structured Query Language(SQL)は、関係データベース内の情報を格納および操作するために使用されるプログラミング言語です。関係データベースは、行と列がさまざまなデータ属性と値の間の関係を表す形式で情報を格納します。

# SQLはどのような問題を解決できますか?

SQLを使用すると、データベースからデータを取得したり、データをテーブルに挿入したり、データを更新したり、削除したりなど、さまざまな操作を行うことができます。

SQLは、次のようなさまざまな問題を解決できます。

  • データの格納と取得:SQLを使用して、データベーステーブルを作成および管理し、データの格納と取得を行うことができます。
  • データ分析:SQLを使用して、データの集計、フィルタリング、ソートなどのデータ分析を行うことができます。
  • データベース管理:SQLを使用して、データベースそのものを管理することができます。データベースの作成と削除、データのバックアップと復元、ユーザーアクセスの制御などが含まれます。
  • データベースのセキュリティ:SQLは、ユーザーの認証と認可などの機能を提供し、データベース内の機密情報を保護するのに役立ちます。

SQLは、構造化データの管理、格納、取得、分析に強力なツールです。ただし、AIや機械学習の時代においては、画像、動画、テキスト、音声、タンパク質などの非構造化データを分析する必要性が増しています。これらのデータは、埋め込みベクトルとして表現されることが多く、オブジェクト間の意味や類似性は、埋め込みベクトル間の類似性によって捉えられます。

このニーズに対応するため、MyScaleでは、構造化データに加えて、高次元ベクトルの高性能分析をサポートするために、SQLステートメントを拡張しています。これにより、SQLデータベースの範囲が大幅に拡大し、レコメンデーションエンジン、検索エンジン、その他の非構造化データ分析に使用することができるようになります。

MyScaleでのベクトル検索操作について詳しく学びたい場合は、ベクトル検索を参照してください。

# SQLシステムの構成要素は何ですか?

関係データベース管理システム(RDBMS)は、Structured Query Language(SQL)を使用してデータを格納および管理します。以下は、そのようなシステムの主要な構成要素です。

# SQLテーブル

SQLテーブルは、行と列で構成されるデータのコレクションです。テーブルは、SQLデータベース内の基本的なストレージ単位です。

たとえば、データベースエンジニアは、書店の書籍のためのSQLテーブルを作成します。

ID Name Classification Description Vector
0001 百年の孤独 魔法のリアリズム 百年の孤独は前例のない... [0.0208,0.0249,...,0.0862]
0002 時間の短い歴史:ビッグバンからブラックホールまで 天文学の科学 これは読んで理解できる時間の本です。... [0.0562,0.0329,...,0.0359]

Vector列は、深層ニューラルネットワーク言語モデルを使用してDescriptionテキスト列から抽出され、書籍の説明の意味検索を可能にします。

# SQLステートメント

SQLステートメントまたはクエリは、ユーザーが関係データベース管理システムを操作するために使用する命令です。これらのステートメントは通常、SQLインタプリタまたはクエリツールを使用して実行され、ステートメントがデータベースに送信されて結果が受け取られます。ソフトウェア開発者は、SQLステートメントを構築するためにSQL言語要素を使用し、識別子、変数、検索条件などのコンポーネントが含まれます。MyScaleは、高性能な構造化およびベクトルデータ分析をサポートする、完全なOLAP(オンライン解析処理)データベースです。

以下はよく使用されるSQLステートメントです。詳細なSQLステートメントの使用方法について学びたい場合は、これらのドキュメント (opens new window)を参照してください。