2009-06-25 11 views
271

SQLとPL-SQLとT-SQLの違いは何ですか?SQLとPL-SQLとT-SQLの違いは何ですか?

誰でもこれらの3つの違いを説明し、それぞれが適切に使用されるシナリオを提供できますか?

+0

SQLは、一連のデータを選択し操作するためのデータ指向言語です。 PL/SQLはアプリケーションを作成する手続き型言語です –

+0

Microsoft SQL Serverが使用するクエリ言語は、ANSI標準の SQLの変種です。 SQL ServerのバリアントはTransact-SQLと呼ばれます。 –

+0

SQLは構造化問合せ言語ですPL/SQLはSQLに拡張された手続き型言語です。Oracleによって開発されました。T-SQLはMicrosoftによって開発されました。 –

答えて

287
  • SQLは、セットを操作するためのクエリ言語です。

    それは多かれ少なかれ、標準化、およびほぼすべてのリレーショナル・データベース管理システムで使用されますなどSQL ServerやOracle、MySQLの、PostgreSQLの、DB2、Informixの、

  • PL/SQLは、Oracleで使用される独自の手続き型言語であります

  • PL/pgSQL PostgreSQLの

  • TSQLが使用する手続き型言語であるSQL ServerでMicrosoftが使用される独自の手続き型言語です。

手順言語は、SQLとの統合が可能でありながらSQLの能力を拡張するように設計されています。ローカル変数や文字列/データ処理などのいくつかの機能が追加されています。これらの機能により、チューリング完了言語が作成されます。

これらは、ストアドプロシージャを記述するためにも使用されます。純粋なセットベースの操作では管理が困難または不可能な複雑なビジネスルールを管理するためのコードです。

+6

TSQLはSybaseでも使用されています。少なくともOracleでは、PL/SQLプロシージャは単に "ビジネスルール"を管理するだけではありません。 PL/SQLプロシージャはWebサイトにアクセスし、電子メールなどを送信できます。 –

+3

PL/SQLはデータベースにのみ存在するわけではありません。 Oracle Formsには、PL/SQLのクライアント側実装が含まれています。 –

+2

各データベースには独自のSQL実装があります(T-SQLとPL/SQLが一般的です)。ANSII標準SQLは、複数のバックエンドを使用する場合によく使用されますが、すべてのデータベースがすべてのANSI SQL機能を使用するわけではありません。そして、SQlのデータベース固有の実装は、そのデータベースに最も適したものになる傾向があります。つまり、データベースを使用する必要があるのは間違いありません。 – HLGEM

41
  • SQL データベースと通信するための言語。それは のデータを選択してデータベースオブジェクト (テーブル、ビューなど)を作成し、 データベース設定を変更します。 ANSI規格は、ほぼすべてで使用されます。SQL -
  • PL-SQL(組み込みSQLとの)手続き型プログラミング言語SQLのための
  • T-SQL (手続き)の拡張機能は、構造化照会言語は、SQL Serverによって
+0

SPL(Stored Procedure Lang)である必要がありますが、PLはあまりにも一般的です(つまり、C)。 – samosaris

7

を を使用しました世界中のSGBDのベンダー。基本的に、SQLはデータ[DDLとDML]の定義と操作に使用される言語です。

PL/SQLはOracleユニバースによって作成された言語です。 PL/SQLはプログラミング手順の指示を結合し、データベース・シナリオで直接動作するプログラムの作成を可能にします。

T-SQLは、Microsoft製品のSQLパターンであり、いくつかの特徴があります。だから、自由にあなたの限界をテストしてください。

78

SQL

SQLは、データベースとの通信に使用され、それは、リレーショナルデータベース管理システムのための標準 言語です。

詳細に構造化照会言語は、リレーショナルデータベース管理システム(RDBMS)に保持されたデータを管理するために設計された特殊目的のプログラム言語で、またはリレーショナル・データ・ストリーム管理システム(RDSMS)におけるストリーム処理のために。

元来、関係代数とタプル関係計算に基づいて、SQLはデータ定義言語とデータ操作言語で構成されています。 SQLのスコープには、データの挿入、問合せ、更新と削除、スキーマの作成と変更、およびデータ・アクセス制御が含まれます。 SQLは多くの場合、宣言型言語(4GL)として記述されていますが、宣言型言語(4GL)でもありますが、プロシージャー要素も含まれています。

PL/SQL

PL/SQLプログラミング言語の手続き型機能と一緒にSQLを組み合わせたものです。それは、オラクル・コーポレーション

でPL/SQLの

スペシャリティ

  • 完全にポータブル、高性能なトランザクション処理 言語を開発しました。
  • は、組み込みの解釈され、OSに依存しないプログラミング環境である を提供します。
  • は、コマンドラインSQL * Plusインタフェースから直接呼び出すことができます。
  • 直接呼び出しは、 というデータベースへの外部プログラミング言語呼び出しから行うこともできます。
  • 一般的な構文は、ADAおよびパスカルプログラミング 言語の構文に基づいています。
  • Oracleは別として、TimesTenのインメモリ・データベースと IBM DB2で使用できます。 SQL

    トランザクション-SQL、宣言された変数、トランザクション制御、エラーとexceptionhandlingと行処理を追加SQLの拡張形式のため

T-SQL

ショート

構造照会言語またはSQLは、リレーショナル・データベースの管理に焦点を当てたプログラミング言語です。 SQLにはの制限があります。Microsoftは独自の拡張機能を使用してSQLを構築し、SQLの機能を強化しています。 MicrosoftはSQLにコードを追加し、Transact-SQLまたはT-SQLと呼んでいました。 T-SQLは独自のものでMicrosoftの管理下にありますが、SQLはIBMによって開発されていますが、すでにオープンな形式です。

T-SQLには、SQLでは使用できない多数の機能が追加されています。

これには、アプリケーションの流れをより柔軟に制御するための手続き型プログラミング要素とローカル変数が含まれています。より強力なものにするために、T-SQLに多くの機能が追加されました。数学的演算、文字列演算、日時処理などのための関数。これらの追加により、T-SQLはコンピューティング言語の普遍性を決定するテストであるTuring完全性テストを遵守します。 SQLはチューリングが完全ではなく、できることの範囲が非常に限られています。

T-SQLとSQLのもう1つの重要な違いは、すでにSQLで使用可能なDELETEおよびUPDATEコマンドに対する変更です。 T-SQLでは、DELETEコマンドとUPDATEコマンドの両方で、JOINを使用できるFROM句を含めることができます。これにより、レコードのフィルタリングが簡素化され、SQLとは異なり、特定の条件に一致するエントリを簡単に選択できるようになります。

T-SQLとSQLの選択は、すべてユーザーの責任です。まだ、T-SQLを使用することは、Microsoft SQL Serverのインストールを扱う際にはさらに優れています。これは、T-SQLもMicrosoftのものであり、この2つを併用することで互換性が最大化されるためです。 SQLは複数のバックエンドを持つ人が優先します。

参照 、Wikipedea 、チュートリアルポイント :www.differencebetween.com

+3

現在、IMOは最善の答えです(ただし、manojの回答とブログ投稿も読んでおく価値があります)。 – salcoin

+1

私は同意します。この答えは少し良いです。 –

+0

なぜこの答えは上にありません。受け入れられた答えは良いですが、それは質問に答えるが、これははるかに優れている! – DanteTheSmith

25

1. SQLまたは構造化照会言語は、その製品の "システムR" 用にIBMによって開発されました。

その後ANSIは、すべてのクエリ言語に基づいており、独自のデータベースクエリ言語のスーツを作成するには、これを拡張している上標準としてそれを作りました。最初の標準は、SQL-86だったし、最新のものSQL:2011

2. T-SQLまたはTransact-SQLは、Sybaseによって開発され、後にマイクロソフト SQL Serverによって共同所有していました。

3. PL/SQLや手続き言語/ SQLは、 "リレーションソフトウェア" 当時として知らオラクルデータベース、でした。

これは私のblog postに記載されています。

+2

この回答は承認された回答よりも徹底しており、ブログの投稿は素晴らしい読書です。 – salcoin

0

SQLは標準であり、独自の独自の言語を使用してこの標準を実装するMicrosoft、Oracleなどのデータベースベンダーが多数存在します。

MicrosoftはT-SQLを使用してSQL標準を実装し、データとのやりとりを行い、OracleではPL/SQLを使用します。

関連する問題