SQL チュートリアルでは、SQL の基本概念と高度な概念を説明します。 SQL チュートリアルは、初心者と専門家の両方を対象に設計されています。
SQL (構造化照会言語) は、レコードの更新、レコードの挿入、レコードの削除、データベース テーブルやビューの作成と変更など、データベースに保存されているレコードに対する操作を実行するために使用されます。
SQL はデータベース システムではありませんが、クエリ言語です。
データベースに保存されているデータに対して SQL 言語のクエリを実行するとします。 Oracle などのデータベース管理システムをシステムにインストールする必要があります。 MySQL 、MongoDB 、PostgreSQL 、SQL Server 、DB2 など。
SQLとは何ですか?
SQL は構造化クエリ言語の短縮形であり、S-Q-L またはシークエルと発音されることもあります。
img css 整列
このデータベース言語は、主にリレーショナル データベース管理システムでデータを維持するために設計されています。これは、構造化データ (テーブル形式で保存されたデータ) を処理するためにデータ プロフェッショナルによって使用される特別なツールです。また、RDSMS でのストリーム処理用に設計されています。
データベースの作成と操作、テーブルの行や列へのアクセスと変更などが簡単に行えます。このクエリ言語は、1986 年に ANSI の標準となり、1987 年に ISO の標準になりました。
データ サイエンスの分野で仕事に就きたい場合、データ サイエンスは学ぶべき最も重要なクエリ言語です。 Facebook、Instagram、LinkedIn などの大企業は、バックエンドにデータを保存するために SQL を使用しています。
なぜ SQL なのか?
現在、SQL はデータ サイエンスと分析で広く使用されています。それが広く使用されている理由は次のとおりです。
- データ プロフェッショナルおよび SQL ユーザーにとっての SQL の基本的な使用法は、リレーショナル データベースに対してデータを挿入、更新、削除することです。
- SQL を使用すると、データ専門家やユーザーはリレーショナル データベース管理システムからデータを取得できます。
- また、構造化データを説明するのにも役立ちます。
- これにより、SQL ユーザーはデータベースとそのテーブルを作成、削除、操作できるようになります。
- また、リレーショナル データベースでのビュー、ストアド プロシージャ、および関数の作成にも役立ちます。
- これにより、データを定義したり、リレーショナル データベースに保存されているデータを変更したりすることができます。
- また、SQL ユーザーがテーブルの列、ビュー、ストアド プロシージャに権限や制約を設定できるようになります。
SQLの歴史
「大規模共有データバンクのためのデータのリレーショナルモデル」は、偉大なコンピューター科学者「E.F. ジョンソン」によって発表された論文です。コッド』1970年。
IBM の研究者であるレイモンド・ボイスとドナルド・チェンバリンは、E.F. コッドの論文から学んで最初に SEQUEL (構造化英語クエリ言語) を開発しました。両名は 1970 年に IBM Corporation のサンノゼ研究所で SQL を開発しました。
1970 年代の終わりに、リレーショナル ソフトウェア社は、E.F. Codd、Raymond Boyce、Donald Chamberlin の概念を使用して独自の最初の SQL を開発しました。この SQL は完全に RDBMS に基づいています。現在 Oracle Corporation として知られる Relational Software Inc. は、1979 年 6 月に SQL 言語の最初の実装である Oracle V2 を導入しました。この Oracle V2 バージョンは VAX コンピュータ上で動作します。
SQLの処理
リレーショナル データベース管理システムで SQL のコマンドを実行すると、システムはリクエストを実行するのに最適なルーチンを自動的に見つけ、SQL エンジンがその特定のコマンドを解釈する方法を決定します。
構造化クエリ言語には、そのプロセスに次の 4 つのコンポーネントが含まれています。
- クエリディスパッチャー
- 最適化エンジン
- クラシッククエリエンジン
- SQLクエリエンジンなど
従来のクエリ エンジンを使用すると、データ プロフェッショナルとユーザーは非 SQL クエリを維持できます。 SQL のアーキテクチャを次の図に示します。
一部の SQL コマンド
SQL コマンドは、データベースの作成と管理に役立ちます。頻繁に使用される最も一般的な SQL コマンドを以下に示します。
- CREATEコマンド
- UPDATEコマンド
- 削除コマンド
- SELECTコマンド
- DROPコマンド
- INSERTコマンド
CREATEコマンド
このコマンドは、新しいデータベース、新しいテーブル、テーブル ビュー、およびデータベースのその他のオブジェクトの作成に役立ちます。
UPDATEコマンド
このコマンドは、データベースに保存されているデータの更新または変更に役立ちます。
削除コマンド
このコマンドは、データベース テーブルから保存されたレコードを削除または消去するのに役立ちます。データベースのテーブルから単一または複数のタプルを消去します。
SELECTコマンド
このコマンドは、データベースの 1 つまたは複数のテーブルから 1 つまたは複数の行にアクセスするのに役立ちます。このコマンドを WHERE 句と一緒に使用することもできます。
DROPコマンド
このコマンドは、テーブル全体、テーブル ビュー、およびその他のオブジェクトをデータベースから削除するのに役立ちます。
INSERTコマンド
このコマンドは、データベース テーブルにデータまたはレコードを挿入するのに役立ちます。レコードをテーブルの単一行または複数行に簡単に挿入できます。
SQL と SQL を使用しない場合
次の表では、理解する必要がある SQL と NoSQL の違いについて説明します。
SQL | SQL なし |
---|---|
1. SQL はリレーショナル データベース管理システムです。 | 1. No-SQL は非リレーショナルまたは分散データベース管理システムです。 |
2. このデータベースシステムで使用されるクエリ言語は構造化クエリ言語です。 | 2. No-SQL データベース システムで使用されるクエリ言語は、非宣言型クエリ言語です。 |
3. SQL データベースのスキーマは事前定義され、固定され、静的です。 | 3. No-SQL データベースのスキーマは、非構造化データの動的スキーマです。 |
4. これらのデータベースは垂直方向に拡張可能です。 | 4. これらのデータベースは水平方向に拡張可能です。 |
5. SQL のデータベース タイプはテーブル形式、つまり行と列の形式です。 | 5. No-SQL のデータベース タイプは、ドキュメント、キーと値、およびグラフの形式です。 |
6. ACID モデルに従います。 | 6. BASEモデルを踏襲しています。 |
7. 複雑なクエリは SQL データベースで簡単に管理できます。 | 7. NoSQL データベースは複雑なクエリを処理できません。 |
8. このデータベースは、階層データの保存には最適ではありません。 | 8. No-SQL データベースは階層データを保存するのに最適なオプションです。 |
9. すべての SQL データベースにはオブジェクト リレーショナル マッピングが必要です。 | 9. 多くの No-SQL データベースでは、オブジェクト リレーショナル マッピングは必要ありません。 |
10. Gauges、CircleCI、Hootsuite などが、このクエリ言語を使用しているトップ企業です。 | 10. Airbnb、Uber、Kickstarter は、このクエリ言語を使用しているトップ企業です。 |
11. SQLite、Ms-SQL、Oracle、PostgreSQL、および MySQL は SQL データベース システムの例です。 | 11. Redis、MongoDB、Hbase、BigTable、CouchDB、および Cassandra は、NoSQL データベース システムの例です。 |
SQL の利点
SQL にはさまざまな利点があり、データ サイエンスの分野で SQL の人気が高まっています。これは、データ専門家とユーザーがデータベースと通信できるようにする完璧なクエリ言語です。構造化クエリ言語の最大の利点は次のとおりです。
1. プログラミングは不要
SQL では、データベース システムを管理するために多数のコーディング行を必要としません。単純な SQL 構文ルールを使用することで、データベースに簡単にアクセスして保守できます。これらの単純なルールにより、SQL はユーザーフレンドリーになります。
2. 高速なクエリ処理
SQL クエリを使用して、データベースから大量のデータに迅速かつ効率的にアクセスします。データの挿入、削除、更新操作も短時間で実行されます。
3. 標準化された言語
SQL は、ISO および ANSI の長年確立された標準に従っており、世界中のすべてのユーザーに均一のプラットフォームを提供します。
4. 携帯性
構造化クエリ言語は、デスクトップ コンピューター、ラップトップ、タブレット、さらにはスマートフォンでも簡単に使用できます。ユーザーの要件に応じて他のアプリケーションと併用することもできます。
5. インタラクティブな言語
SQL 言語を簡単に学び、理解することができます。この言語は単純なクエリ言語であるため、データベースとの通信にも使用できます。この言語は、複雑なクエリに対する回答を数秒で受け取るためにも使用されます。
6. 複数のデータビュー
SQL 言語は、さまざまなデータベース ユーザー向けにデータベース構造の複数のビューを作成するのにも役立ちます。
SQLの欠点
SQL には利点がある一方で、次のような欠点もあります。
1. コスト
一部の SQL バージョンの運用コストは高くなります。そのため、一部のプログラマは構造化照会言語を使用できません。
2. インターフェースが複雑
もう 1 つの大きな欠点は、構造化クエリ言語のインターフェイスが難しく、SQL ユーザーがそれを使用および管理するのが難しいことです。
3. 部分的なデータベース制御
ビジネスルールは隠蔽されています。したがって、このクエリ言語を使用するデータ専門家やユーザーは、データベースを完全に制御することができません。