SQLについてはまったくの初心者なのですが、奮起して始めてみようと考えています。
ひとまずMySQLを導入し、入門書を読みながら付属クライアントで操作して「お~追加できた~」とかやってるレベルなのですが、いくつか確認したいことがあるので教えてください。以下、私の脳内での認識です。
1) SQLは問い合わせの仕様であり、クライアントから見ればぜんぶ同じだが、基本的に各エンジンの持っているデータベースの中身に互換性はない。
2) SQLサーバは、クライアントがなければ意味がなく、運用時には自分で用意しないといけない。
3) MySQL,、PostgreSQLなどのフリーに比べ、商用エンジンは機能が段違いである。
4) MS-AccessはSQLクライアントとして使える。
5) ↑そのためには、自分でコーディングをしなくてはいけない。
6) ODBCとはなんですか?いつ使うと嬉しいんですか?
7) ↑自作ソフトにコレを組み込むとデータベースへのアクセスが容易になる。
8) SQLとは、エンジンに対する質問と応答のインタフェースやフォーマットを定義したものであり、クライアント側のソフトではこれを実装すればよい。
豪快に勘違いしてるかもしれませんが、正誤を含めてよろしくお願いします。
No.3
- 回答日時:
こんにちわ。
#1 のmuyoshid です。
> 自作のソフトウェアがODBCに対応することで容易にクエリを
> 発行できる・・・ということなんでしょうか。
について補足しておきます。
データベースにアクセスする部分をODBC インターフェイスを使用して
実装したとしても、クエリを発行するのが容易になると言う訳では
ありません。
色々ハンドルを獲得しなきゃいけないので、却って面倒です。
ただ、データソースを変更するだけで、別のデータベースをアクセス
させる事ができるのがメリットになると思います。
(DDBC から発行しているSQL 文がベンダー独自の機能を使用していない
事が前提となりますが・・・。)
参考URL:http://homepage1.nifty.com/kojama/works/rdbms/vc …
No.2
- 回答日時:
No.1のかたがお答えになってらっしゃいますね。
でも、一応わたしも...
2)
「運用時には自分で用意しないといけない」という点が
ちょっと違ってる可能性があるかもしれないですね。
たとえば、この「教えて!goo」でもデータベースが
使われているわけですが、運用に際して何かを
「自分で用意」しているかっていうと、そうではない。
たとえば、私はOSとブラウザ以外は用意してないわけで...
# 「自分」が指している意味によってくるわけですが。
# 念のため。
クライアントがないと意味ないっていうのは、そのとおり
ですね。
3)
これについては、どんな機能を基準にするのか
にもよってきます。
極端な話、軽さを重視するなら、OracleやSQL Serverより
MySQLのほうがよっぽど優秀ってことにもなります。
だから、絶対的に常にいつも間違いなく
商用がいいって考えてしまうと、たまに間違えます。
たまに、ですが。
人によって/価値観によって/用途によって
違ってくる場合もあるわけです。
7)
「データベースへのアクセスが容易になる」という
場合は多いです。
基本的に、そのとおりです。
でも、念のために言うと、
ODBCがその手の唯一のミドルウェアではありませんし、
常に最善の手段とも限りません。
もっと便利なミドルウェアが提供されている場合も
ありますし、されていない場合もあります。
念のため。
8)
ニュアンスとしての理解は、きっとOKなんでしょうね。
# 言葉の使い方に、ちょっと「?」がある...
もっとも、クライアントはSQLだけあればいいって
わけじゃないです。その前にサーバと通信して、
コネクションを張ることが必要ですし...。
もしVBなどで実装していくなら、そういう手順も必要に
なりますよ。ODBCを使うにせよ、別のものを使うにせよ。
何だか細っかい話ばっかり。
恐縮です。もうやめます。
失礼しました。
いえいえ、参考になりました。ありがとうございます。
なんとなくですが実体が見えてきた気がします。
私の場合はODBCとは何か、から始めないといけませんが・・・(汗
No.1ベストアンサー
- 回答日時:
こんにちわ。
私の分かる範囲で補足しておきます。
1) SQL はデータベースを操作するための言語仕様でISO 等で
標準化されていますが、各ベンダーによって独自に拡張が
行われています。
従って、あるデータベースで動作するSQL 文が他のデータベース
でそのまま動作する保証はありません。
2) SQLサーバって、データベースのサーバ側の事ですよね。
(MS のSQL Server ではなく) その場合、
クライアント : サーバに対して (SQL文を発行すると言う形で)
処理をリクエストする機能
サーバ : クライアントからのリクエストを受け取って、実際に
処理を行い結果をクライアントに返す機能
と言う感じになります。
従って、どちらか一方だけでは確かに意味を成しません。
3), 4) 正しいと思います。
5) ODBC で接続すれば、特にプログラミングの必要はありません。
6) Open Database Connectivity の略です。
「データベース接続標準」とでも訳せば良いでしょうか?
ODBC はMicrosoft が提唱したデータベースアクセスに関する
仕様で、各データベースベンダーが自社データベースにアクセス
するためのODBC ドライバを提供します。
クライアントアプリケーションがODBC に対応させる事で、
サーバ側のデータベースに依存しないアプリケーションを
作成する事ができます。
7) ODBC を使用する事でデータベースのアクセスが容易になる
と言う事はありません。
ODBC は実行するSQL 文を文字列 (パラメータ) としてODBC
ライブラリを呼び出すようになっていますので、SQL を直接使用
した方が、簡単です。
ODBC のインターフェイスを使用してアプリケーションを作成すれば、
サーバ側のデータベースが変更になった時の対応は容易になります。
8) SQL は、Structured Query Language の略です。
通常は「構造化照会言語」と訳されています。
SQL は、データベースを操作するための言語仕様です。
クライアントは、SQL を使用する事でデータベースを効率的に操作する
事ができます。
ありがとうございます。プログラム言語をインストールするとき、ODBCを入れます云々というのがありましたが、自作のソフトウェアがODBCに対応することで容易にクエリを発行できる・・・ということなんでしょうか。ここらへんは書籍で勉強したほうが良さそうですね。
いま、Accessからの問い合わせに興味を持っています。よく、店頭レジの在庫管理なんかで検索画面が出ていますが、あぁいうのを設計できるスキルがあればなと思います(これもやっぱり入門書がいいでしょうか(汗)。
もし、タコにもわかる解説ページなどありましたら紹介していただけたら嬉しいです。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CDの売上枚数を知りたいのですが
-
Accessのレポートで「縦書き」...
-
accessの勉強ができるサイトは?
-
Microsoft Accessについて
-
ADODB.Recordset エラー '800a0...
-
SQLて何ですか!
-
daoのrecordcountで件数が取れ...
-
マクロでデータベースの最適化...
-
oracleで別のグローバルデータ...
-
SQLserverやOracleなどの導入費用
-
ACCESS2019でのエラーメッセージ
-
NOTESでデータベースを開いたと...
-
DB2 UDBって?
-
バッファプールって?
-
白鹿亭綺譚について
-
RBDの反対語は?□DB??
-
アクセスの日付/時刻型で標準...
-
JCPDSカードについて
-
データベースの最適化をマクロ...
-
ODBC接続とDBLINK
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの最適化をマクロ...
-
AndroidからのAccessデータベー...
-
ACCESS2019でのエラーメッセージ
-
データベースとウェブ(WWW)の共...
-
Accessのレポートで「縦書き」...
-
accessの勉強ができるサイトは?
-
DB2 UDBって?
-
私があるアカウント発行の権利...
-
CDの売上枚数を知りたいのですが
-
バッファプールって?
-
DB2で複数DBからSELECT等
-
アクセスのデータがブッ壊れた...
-
【エクセル】自動保存先として...
-
Microsoft Accessについて
-
RBDの反対語は?□DB??
-
ADODB.Recordset エラー '800a0...
-
IPアドレスを数値に変換
-
AccessとSQL Serverの違い
-
マクロでデータベースの最適化...
-
SIDとは?
おすすめ情報