- ベストアンサー
MySQLについてのご質問
パソコンの勉強に向けて先生についてもらうはずだったのですが、 先生の体調不良で中止になってしまいました。 こうなったら独学でやろうと思っております。 そこで本来やる予定だった科目の特徴を教えて頂けたらと思って投稿しました。 気になっていることはAccessとMySQLが共にデータベースという枠に入っていることです。 疑問は幾つかありますが、 そもそも前提となるデータベースとは何か、 次にAccessとMySQLはどのように違うのか教えて頂けませんでしょうか。 どうぞ宜しくお願いいたします<m(_メ_)m>
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
データベースとは何なのかといわれますと、博士号などを持っているわけでもない普通の私には答えられませんが。 wiki などを見てもらったほうがいいでしょう。 私的には、本棚みたいなものだと思っていますが。 DBと書いて、デーベーと発音する人が日本には、たくさんいるというのが一番の特徴です。 世界に稀に見る現象です。 Accessは広義と狭義があるので、一概には言えないけど。 どちらもデータベースソフトウェアです。 仕様としての違いは、言語レベルでは、ほとんどありません。(入門レベルでの話) 共通の言語仕様がある程度決まっており、データベースは、その言語を使って利用することになります。 その言語というのはSQLといいますが、基本的には、そのSQLを使ってデータベースソフトウェアに指令を出します。 SQL文は人が読める形で書いてありますが、それを処理しやすいように効率化するために内部で変換する必要があります。 なので、無駄があり、効率を追求したい場合、直接ドライバーというのを操作する場合もあります。 で、AccessにはAccessのSQL構文、MySQLには、MySQLのSQL構文があり、若干の違いがあります。 それはそのデータベースソフトウェアの特徴(得手・不得手)を反映しているといってもいいでしょう。 その違いを吸収するソフトウェアもあり、それを経由して共通のSQL文をDBにアクセスすることもできます。 と、さまざまな接続方法があります。 Accessは Microsoft 社の製品です。 MySQLに関しては wiki でも見てください。 http://ja.wikipedia.org/wiki/MySQL もともとは機能が限定されて高速で軽量というのが特徴で私もよく利用してます。 今も高速性能は謳っていると思います。 昔は、MySQLを使うと言うと、けっこう馬鹿にされたものです。 もともとはオープンソースだったのですが、魅力的なソフトウェアなので何度か買収されたりしているので、複雑な背景があります。
その他の回答 (3)
- mitarashi
- ベストアンサー率59% (574/965)
当方一介の素人ですので、プロの方から見るとおかしなところもあるかもしれませんが、今までに聞きかじったところを述べさせていただきます。 Access=データベース部と、それを操作するインターフェース部が一体になったアプリケーションソフト。グラフィックユーザーインターフェースで、SQL文を生成し、データの抽出・操作ができる。また、ユーザーフォーム、レポート等も操作でき、プログラミング言語であるVBAも備えているパック商品。 MySQL=データベースのみなので、素のMySQLを操作するには、コマンドプロンプトから命令を打ち込んでやる必要がある(キャラクターインターフェース)。実際には、MySQLを取り扱う種々のインターフェースが公開されている。 Accessのインターフェース部は良くできているので、Accessから他のデータベースを取り扱う事が広く行われている。AccessからMySQLを扱う事も可能。(AccessからMySQLのデータベースにリクエストを出して、答えを受け取るのだが、Access自体のデータベースを扱うのと、ほぼ同じ操作が可能) Accessのデータベースは、Accessから取り扱う「ファイル」である。したがって、大勢から同時に読み書きするのには向いていない。(それなりの配慮をすれば、数人レベルなら実用可能)。通信トラブル等が発生した場合のデータの復旧機能も乏しい。 MySQLはサーバー上で動作するアプリケーションである。初めから大勢から同時に読み書きできる(大勢の相手が出来る)様に設計されている。また、自律的に動作しているので、通信トラブル等が発生した場合のデータの復旧機能を備えている。 と、思いつくのはこんなところです。 データベースとは、データを取り出して操作できるようにまとめた一塊のデータとも言えるでしょうし、それを取り扱うためのアプリケーションを言う場合もあるなど、一言では言えないので、ご自分でお調べ下さい。
お礼
補足を記載したはずが、 昨日と同様に記載されない当たりが、 このサイトさえ知らないという証左かも知れません。 上記のようにAccessからMySQLを取り扱えることから、 この2つについてはAccessを最初にやろうと思います。 貴重なご意見をありがとうございました。 また何かの折、ご指導いただけたらと願っております。
- imogasi
- ベストアンサー率27% (4737/17069)
質問者はACCESSの(特にSQLビューでの扱いの)熟練者ですか。でないなら、大上段にこんな質問をしないで、どちらかの学習が少し進んだ段階で、質問を発したら。 ACCESSはSQLであると言えば反論もあるでしょう。出来るだけそういう面は隠しているように見える。でもクエリに限ればSQLで出来ることは多いし、両SQLがどう違うのかは、SQLのハンドブックに、各、文,句以下解説ページの始め(上の方が多い)に、ORACLE、MySQL、ACCESS、・・では使えるとか、使えないとか、必ずといって良いほど記されている。 これを頼りに、どういう機能がMySQLでは出来て、ACCESSで出来ないのか勉強したら。 SELECT、INSERT,DROPなどでは余り違わないのではないかな。 これらは世界的に規格化標準化されたモデルがあって、できるだけそれらに準拠しているのだか。(SQLの歴史を一読をすすめる) しかし、まず主要なものを使いこなせるようになるのが先だろう。 >データベースとは何か、 アクセスの解説書の始めに書いてあるでしょう。しかしそれを知っても余り学習したことにならない。 人間の特性として、始めに「XXとは」の解説がほしいが、好奇心を一時しづめる役割しかない。 これにコダワリ、これを聞かないと・理解しないと、前に進めないタイプの人は、学習がスムーズに進むタイプではないようにおもう。 初心者からの学習は、演繹的という面より、帰納的な面の方が主流でしょう。沢山や問題・例題など事実を学んで後、原理を会得するものではないかな。
お礼
少しずつ情報を収集して順番を決めて勉強した方が自分には合うかと思い、 恐れながら質問させて頂きました。 窺ったご意見を参考に順番を組み立てさせてくださいませ。 この度は誠にありがとうございました。
補足
imogasiさん宛てに記載した内容が長文だったためか何故か反映されず、 恐れながら概要だけで再々挑戦してみます。 先ず私はこのサイトについて全く分からない初心者です。 上記の質問が不適切でお気を害されたならば申し訳ありませんでした。 次に私はAccessもMySQLも全く分からない初心者です。 コダワリはありません。 ただCとJavaという言語を教わる順番と理由を教わり、 その後で中止になってしまいました。 それぞれの科目に順番と理由があるのかも知れないと推察しました。 しかし、かも知れない、の領域から脱出することができず、 慌てふためいているだけかも知れません。
- Halical
- ベストアンサー率8% (5/60)
独学と言いつつ、思いっきり他人に教えてもらおうとしているのはどういう事なんでしょうか? ここで、その先生と同じことを教えてもらうのは不可能ですよ。
お礼
また性懲りもなく質問してしまうと思いますが、 寛容に見てやってくださいませ。 改めてありがとうございました。 恐縮です。
補足
このサイトで講義として教わることは無理だと思います。 このサイトでは教わる予定だった科目の特徴を教えて頂いたりして、 独学でやるための順番を決める助けとして活用させて頂きたい思いです。
お礼
改めてご意見ありがとうございました。 また何かの折は宜しくお願いいたします。
補足
詳細を有難うございます<m(_ _)m> 貼って下さったwikipediaで確認してみたところ、 確かに高速性に優れているのと、 大容量を扱うことがAccessより優れていることが分かりました。 ところがマイクロソフトとの互換性に乏しいという点については Accessの方が優れていることも分かりました。 データベースを最初にやるとしたらAccessかなと思っているところです。