No.3ベストアンサー
- 回答日時:
移植性と汎用性のためでしょう。
SQLで書かれていれば、基本的にオラクルでもSQLサーバーにでも移植できますが、アクセスのGUIがそこら辺を隠してしまうと移植できなくなります。
またDBをバックグラウンドにして、少し複雑なプログラムを作ろうとすると、アクセスのGUIだけでは生産性が落ちます。他の言語で作ろうとした場合、アクセスのGUI(クエリー)を介してやるのはかえって面倒です。アクセスでVBAを使用する際にも、直接SQLを使った方が楽です。
ちなみに私の場合、不勉強のせいか、さっぱりSQLをマスターできません。なのでアクセスのGUI(クエリー)で動作試験などしてから、SQLビューで見てSQL文を取り出しています(^^;
No.10
- 回答日時:
オートマ車とマニュアル車の様な物です。
性能限界近くの走りを求めていない、多くの一般ユーザー
にとってはオートマ車が楽ですが、走行性能を求める人や
レースカー等ではマニュアル車が求められます。
SQL言語によるデータベース操作(変速機のギアチェンジ)を
GUI(自動)を介して行うか直接(手動)で行うかの違いです。
AccessのGUIによるDB定義は一見すれば楽ですが、現在の
状態を資料として残したり、後から改変された場合にどの
部分が変更されたかの判別が極めて難しくなる場合が多い
ので、業務として使用する場合には注意が必要です。
#期待通りの結果がでない場合、結局Accessが吐く奇怪な
#SQL文を解析する羽目になって苦しむ事も....
No.9
- 回答日時:
SQLで考えたほうが分かりやすいものもあるから、私はもっぱらSQL派です。
ACCESSのGUIはFROM句のサブクエリ(インラインビュー)を表せませんし。
SQLの可能性という点では次の本が参考になるかも、
http://www.7andy.jp/books/detail/-/accd/31976176
No.8
- 回答日時:
Q、SQLで操作するよりAccessみたいなインターフェイスの方が便利なんじゃないか?
A、そりゃーそうです。ユーザにとってはアプリケーションの操作性が全てです。
1980年代、UNIX版のデータベース言語にSQLを直接に打ち込んで処理するツールが。
で、それに酷似したツールを開発して各所に配布。
SELECT 商品マスター.品名,
商品管理マスター.枝番1,
商品管理マスター.枝番2,
商品管理マスター.枝番3,
[当月期首在庫]+[当月仕入数]-[当月売上数]+[当月入庫数]-[当月出庫数] AS 現在庫数
FROM (仕入先マスター INNER JOIN 商品マスター ON 仕入先マスター.ID = 商品マスター.仕入先ID)
INNER JOIN 商品管理マスター ON 商品マスター.ID = 商品管理マスター.商品ID
WHERE ([当月期首在庫]+[当月仕入数]-[当月売上数]+[当月入庫数]-[当月出庫数])<>0
AND (仕入先マスター.フリガナ) Like '%{現在庫を参照する仕入先のフリガナを入力して下さい}%'
ORDER BY 商品マスター.品名;
このツールでは、このようなSQL文を記憶できます。
'%{XXX}%' の部分は入力されたデータと置換してSQL文を実行します。
実行結果の表示では、単なるエコー形式と表形式での整形を指示できます。
もちろん、印刷も可能です。
Accessだけではなくネットワーク上のいかなるDBのデータも参照できます。
もちろん、その際、SQLの履歴はDB毎に記憶されます。
なお、Update文、Insert文、Delete文の実行は管理者以外は不能なように仕組んでいます。
私としては、究極のツールを配布したつもりです。
しかし、このツールが実際に使われることは永遠にないでしょう。
ユーザが現実にSQL文を書いて実行するなんてありえない話です。
当然のことです。
このツールの各種機能が入力・処理・参照フォームとレポートを起動するボタン一つで実現。
となれば、ユーザも使うでしょうね。
そうなると、そこに出現するのはAccessの類です。
もちろん、配布ツールとAccessとの差異は SQLを手打ちするのかアプリケーションがそれを代行するのか?
どっちにしろ SQL文が活躍していることには違いはありません。
まあ、わざわざ、私が配布したツールを使うのはSQLオタクのユーザ位のもんでしょう。
普通は、定型化されたアプリケーションを使う筈です。
この回答へのお礼
お礼日時:2008/08/27 17:40
すみません、SQL文が読めません。
究極のツールを配布されたのですね。
私にもわかる時がくるようにSQLを勉強していきます。
ありがとうございました。
No.7
- 回答日時:
>Accessみたいなインターフェイスを作ってしまえばこのややこしい言語をいちいち覚えなくてすむし多くの人がデータベースを使えるようになると思うのですが、なぜわざわざSQL言語を使って操作するのでしょうか?
Accessのクエリデザインの画面で自動生成されたSQL文が腐っているからです。
クエリデザインの画面で、WHERE条件にちょっと複雑な条件を指定しただけで、出来上がるSQL文のWHERE句は「同じ条件文が何度も繰り返して現れる、冗長で処理が遅く使い物にならない状態」になります。
素人が使うだけなら業務で使用する訳じゃないので「冗長で処理が遅く使い物にならない状態」でも構いませんが、プロが業務で使用する場合Accessが自動生成したSQL文は使い物になりません。
No.5
- 回答日時:
ローマは一日にしてならず、ですね。
プロの視点で言わせてもらうと、AccessのようなGUIのツールが発行するSQLは、かなり非効率なことが多いです。
一日に何百万件ものアクセスがあるような巨大なデータベースを運用する場合、非効率なSQLが発行されると、どんなに高性能なサーバーを導入しても、ユーザーからの要求にデータベースが応えることができません。
効率よく高速度な結果を得るには、人がそれを実現するSQLをコーディングする必要があります。
ただ、Accessが売れているように、この手のツールは手でSQLを書くよりはるかに楽なので、昔からヒット商品が多いです。
Accessの他に、C/S開発ツールのPowerBuilerとか、BI系の商品はだいたいそのような機能をもっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server 大学でSQLの授業があるのですが全くわかりません。 表ではなく文で説明されているのですが調べても理解 6 2022/07/20 02:26
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- SQL Server SQLについて質問です。 a表がありその表には従業員名を保存するname列があります。 LIKE演算 1 2022/05/17 17:49
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- その他(プログラミング・Web制作) WEBアプリ開発に必要な言語 5 2023/06/28 16:57
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの2GBって・・・?
-
関係型、非関係型、オブジェク...
-
VBAかSQL?
-
SQL文ってなに?
-
アクセスのデータがブッ壊れた...
-
データベースの最適化をマクロ...
-
キャッシュとバッファの違いは?
-
型 varchar から型 numeric へ...
-
エクセルの重複データの曖昧検索
-
クエリをキャンセルしたいので...
-
データベースに接続したままの...
-
accessの勉強ができるサイトは?
-
PGAとUGA
-
希望の位置へフィールドを追加...
-
AndroidからのAccessデータベー...
-
Access 外部データ インポー...
-
カンマ区切りで格納するカラム...
-
SQLの文、節、句について
-
ビジネスロジックの実装
-
CDの売上枚数を知りたいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの2GBって・・・?
-
VBAかSQL?
-
ACCESS と SQLSERVER の違いを...
-
SQLって何のためにあるのでしょ...
-
SQLとORACLEの違いを教えてくだ...
-
SQL文ってなに?
-
カード型データベースを探して...
-
コンピュータ用語、データベー...
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
汎用カード型のデータベースソ...
-
キャッシュとバッファの違いは?
-
リスト形式の表とデータベース...
-
データベースソフトのTCARDにつ...
-
SQLを使いこなしている人が ETL...
-
エクセルのフォームについて(...
-
構文エラー:演算子がありませ...
-
AndroidからのAccessデータベー...
-
accessの勉強ができるサイトは?
-
access2019をダウンロードして...
おすすめ情報