
SQLを学ぼうとしているのですが。。。
概要で煮詰まってしまいました;;
SQLはRDBMSにおいてのデータベース言語で、直接データベースに宣言を実行でき、PL/SQLはOracle社が開発した、手続き型に組み込めるSQLで、
MS SQLServerは。。。?
Oracle SQLは。。。?
と、調べれは調べるほどに、訳が分からなくなってきました;
PL/SQLとMS SQLServerの違いはなんなのでしょうか?
Oracle SQLとSQLは別物と考えてよいのでしょうか?
使用できるOSが違うのか、組み込める言語が特定されているのか、具体的な違いが判らず、どのような条件下で使用したらよいのかわかりません。
お手数ですがご解答よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
SQLServerは既存のストアドプロシージャに加えて.netでも記述できるようになったのです。
誤解させてすみません。「SQL CLR」で検索をかけてもらえればわかると思います。DBに対して言語は問わないと思います。
MS製品ならADOやODBCを通じて、javaならJDBCを通じてDBに接続します。これらはデータベースと言語のインタフェースになって、DB間の色々な違いを吸収してくれます。
OSはMS SQLServerはWinでしか動かないと思います。
OracleはWin版やLinux版などOS毎に発売されています。
nfushiさん
ご返答ありがとうございます。
SQLCLRの機能によってSQLServer 2005バージョンから、ストアドプロシージャに.netも提供。
言語によるDBの使い分けは無く、
OS毎にDBを使い分けている。
と解釈したのですが。。。あってますでしょうか;
今回もご返答ありがとうございました。
ストアドプロシージャの言語はまだまだありそうですね;
OracleとSQLServerのSQLから学習していき、
PL/SQLやTransact-SQL?を学習していこうと思います。
No.4
- 回答日時:
#3です。
>SQL Serverのストアドプロシージャ言語で調べると「Transact-SQL」
そうですね。失礼しました。
商用RDBMSをリリースしている会社は、主なものでも以下のようなものがあります。
Oracle・・・Oracle社
SQL Server・・・マイクロソフト
DB2(UDB)・・・IBM
また、国産RDBMSにも、以下のようなものがあります。
Symfoware・・・富士通
HiRDB・・・日立
RIQS・・・NEC
オープンソースでは、以下のようなものがあります。
MySQL
PostgeSQL
SQLiteなど
各RDBMSでは、標準SQL準拠で機能を実装する場合もあれば、標準SQLにない独自機能も数多く実装しています。特定RDBMSが開発した機能が、後に標準SQLに入ることもあれば、標準SQLにはならず、独自機能としてそのまま残る場合もあります。
Wikipediaに、ストアドプロシジャのコード例を記載しています。
http://ja.wikipedia.org/wiki/CREATE_PROCEDURE
MySQL、PostgreSQL、SQL Serverのコード例は、私自身が書き込んだものなので、参考まで。
お礼が遅くなって、ごめんなさい。。。!
chukenkenkouさん
ご返答ありがとうございます。
リレーショナルデータベースの種類がなぜにて多様にあるのか、
悩みたくなるほどに沢山ありますね;;
ストアドプロシージャのコード例、拝見いたしました。
。。。先ず、コードの一つ一つの意味がまだ、習得できていないので、
詳しくは解析できていませんが、学んで理解していきたいです。
Oralce SQL、SQLServer SQLの学習を初めており、終了しましたらストアドプロシージャ言語の学習に入っていこうと思います。
(PL/SQLを学ぼうと思っています)
沢山質問に答えていただいて、ありがとうございます。
No.3
- 回答日時:
違いについては、他の方の説明通りです。
ストアドプロシジャは、SQL99で標準SQLに入りました。
Oracleなど、先行してストアドプロシジャを独自機能として実装している場合、その記述言語に、PL/SQLなどの独自の名前がつき、実装されています。
PostgreSQLのPLpg/SQLなども同様です。
SQL Serverのストアドプロシジャは標準SQL準拠ではないですが、特別な呼び名は付いていません。
DB2やMySQLのストアドプロシジャは、標準SQL準拠であり、こちらも特別な呼び名は付けていません。
http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sq …
chukenkenkouさん
ご返答ありがとうございます。
な、なんだか初めて聞く単語が多数出てきたのですが。。。;
PostgreSQLもRDBの一つでストアドプロシージャ言語がPL/pgSQL。
MySQL、DB2もRDBの一つ。
ストアドプロシージャの言語で独自の名称があるのはPL/SQLとPL/pgSQLなど。。。
で、有ってますでしょうか;
疑問に思ったのですが、
SQL Serverのストアドプロシージャ言語で調べると「Transact-SQL」がヒットするのですが、これは「特別な呼び名」とはまた違うのでしょうか?
DBをリリースしている会社も沢山あって、フリーでも沢山あって、其の分のストアドプロシージャの数もあって。。。凄い数の種類です;
が、色々な種類を知ることが出来勉強になりました。ありがとうございます。
No.1
- 回答日時:
オラクル社のDBがOracle。
マイクロソフト社のDBがSQL Server。
ここまではOKですよね?
OracleもSQLServerもそれぞれストアドプロシージャと呼ばれる、DB内部に記述できるプログラム言語があります。
私が知る限りでは、これらはDBによってバラバラで統一されていないものです。
そして、PL/SQLとはOracleで使用されるストアドプロシージャの言語名です。
ちなみにSQLServerは2005から.netFrameworkでストアドを記述できるようになりました。
!
お早いご返答ありがとうございます。
Oracle社のDBがOracleでストアドプロシージャの言語がPL/SQL。
マイクロソフト社のDBがSQLServerでストアドプロシージャの言語が.netFramework。
ですね。ありがとうございます!
SQLServerもストアドプロシージャに近いものだと思っておりました;(危ない・・・)
ここで質問なのですが、
Oracle とSQLServerはどういった言語ででも使用できるのでしょうか?
マクロやスクリプトに組み込む際、どちらを使用するかなどは決まっているのでしょうか?
OSに合わせてDBを決定しなければならないとか、在るのでしょうか??
質問攻めでゴメンなさい。
ご返答よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルト復旧ソフト”Pndora R...
-
更新クエリをリンクデータベー...
-
データベースファイル(.db)を開...
-
accsessで顧客コードで氏名を呼...
-
エクセルのフィルタ抽出が固まる
-
ACCESSのSQLで、NULLかNULLでな...
-
警察はスマホに保存した動画や...
-
将棋のDB。「この局面と同一の...
-
20万行あるデータを動かしたい
-
Accessのリンクテーブルについて
-
QSL でのフォーム画面作成について
-
データベースソフトの「TCARD f...
-
マクロの別シートのデータ振り...
-
android版のMs accessはありま...
-
DBのタイプの指定とサイズにつ...
-
リスト形式の表とデータベース...
-
縦書きテキストボックスの表示"...
-
c言語の問題です。これを踏まえ...
-
Q&Aフォームを作成したいのです...
-
「1004:アプリケーション定義...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PL/SQLとMS SQLServerの違いを...
-
「2チャンネル」に構築されて...
-
どのプログラムがどのDBを使用...
-
Word、Excelのファイル名に自動...
-
付加価値を加える?
-
QGISでの円(圏域)描画方法に...
-
Movable typeで作ったサイトの...
-
VBAをDLL化する方法を教えてく...
-
パケットキャプチャツール(Wir...
-
RAID5+HS vs RAID6
-
不倫でバレた後、再構築と仮面...
-
ツールチップ
-
diffツールでコメントを比較対...
-
VB5.0からVB.NETへの移行
-
ChatGPTが書いた文を判別するツ...
-
Perlソース(拡張子.cgi)のス...
-
VB6の変数宣言で、末尾に"*"と...
-
写真を半分覆う半透明な四角の...
-
Windows serverでマルチキャス...
-
Excel VBA book名の取得
おすすめ情報