• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLとかPostgreSQLとかMicros)

リレーショナルデータベースとその違いについて

このQ&Aのポイント
  • MySQLやPostgreSQL、Microsoft SQL ServerなどのリレーショナルデータベースとMicrosoft AccessやFileMaker Proなどのリレーショナルデータベースソフトの違いについてわかりません。それぞれの特徴や使い方、共有使用やネットワーク上での複数ユーザー利用について教えてください。
  • 私は以前、ロータスアプローチでデータベースを扱っており、リレーショナルデータベースの便利さに感動しました。しかし、アプローチでのファイル管理や解説本の不足、他のユーザーの少なさに不安を感じ、Accessに移行しました。Accessの扱いやすさやレポートの表現力に魅了されましたが、共有使用やネットワーク上での複数ユーザー利用には不安がありました。結局、MySQLやPostgreSQLが推奨される理由が知りたいです。
  • MySQLをダウンロードしてみましたが、使い方がわかりません。テーブルの作成やフォーム・レポートの作成方法がわかりません。リレーショナルデータベースについてわかりやすく教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.2

RDBはIBMが最初に開発したデーターベースシステムです。 当時基本的にはプログラムを書いて情報を取り出し、設定はOSのコマンド(当時はコントロールランゲージ)で行いました。SQLというものを全面的に押し出したのはS38からだと思います。 その後UNIX用としてOracle、サイベースSQLServerが登場します。この時はPCのOSなんか貧弱でデーターベースを動かせるような物では無かったんですね。 マイクロソフトとIBMはDOSの次のバージョンとして共同でOS2を考えます。マイクロソフトではWindows New Technolgy(NT),IBMではOS2として発売します。UNIXやAS400に匹敵するOSを考えたのです。今のWindowsはXPからNTと同じものになってます。 これに載せるDBとしてMSがサイベースからライセンスを買い取ったのがMSSQLServerです。サイベースはまさかPCで業務処理なんかできるわけ無いと思い、競合することは無いと考えライセンスを売ったのです。まあ今ではUNIX並になりSQLSERVERと言えばMSだと思っている人の方が多い状況です。実はサイベースの優秀なテクノロジーが無ければMSSQLSERVERは存在してないのです。 でRDBに管理ツール(マネージメントシステム)をつけたものがRDBMSなのです。 DBにはロータスノーツのようなカード型DB、イメージやビデオを管理する階層型DB、さらにXMLデータを管理するXMLDBなどいろいろな種類があり目的に応じて使用するのです。 Accessは厳密にはRDBMSではなくISAMファイルという形式のものです。SQLをサポートして見た目上RDBに見せかけていますが基本的には大昔のファイル形式なんです。 まあRDBにはフォームやレポートなんて概念はありません。これらはプログラムで作成するものです。AccessはCaseToolのように簡単にフォームを作れる仕組みを、VBの技術から抜き出して作り提供したという事です。 通常のRDBはJavaの統合環境EcripsやMSのVisualStudio.NETのC#などで作ったプログラムからデーター制御します。 なぜこんな面倒なことをするのか?みんなAccessでいいじゃん。と思うでしょうが、大人数で利用するプログラムというのはたとえAccessのVBAで書いたとしても、膨大なコードになるのです。 それは高速処理、排他制御、ログイン制御などを記述する必要があるからです。Accessはこれらの処理を全部省いて簡単にしているが故個人利用しか出来ません。 たとえばテーブルのデーターを開いて好きな箇所を編集するなんてExcel見たいな処理を100人がやったら? どの人の処理が優先されてどこを書き込むか?全く制御無しに出来ないですよ。開いたときの情報は1秒後には他の人が変えてるかもしれません。1秒どころか0コンマ何秒です。逆に他の人が更新できないようにしてしまったら。一万件あったら一万件が一人のためにロックされその人が終わるまで待つことに。これでは仕事になりません。 つまりこれを頭を使って細かくプログラムで制御するように書くのです。コンピューターは自動では理解できない作業なんです。 印刷も同じ印刷するためにデーターを呼び出しているのか、編集するために呼び出しているのかこれをコンピューターに知らせる必要があるのです。どれだけ細かい作業か分かりますよね。 その他大きなRDBには更新失敗時には即時情報回復させる機能もあります。 まあ書き出したらきりがありません。RDBMSの管理だけでも食っていけるほど大変な作業なんです。プログラムもRDBが絡むだけで料金が跳ね上がります。世の中RDBは社会インフラを背負ってますので。 それとMSSQLSERVERもExpress版は無料。VisualStudio.NETも無料版があります。両方あれば一応無料で使えるシステムが組めるという事。制限はありますけどね。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>フォームやレポートはこれらにはないのでしょうか???? 無いです。 MySQL、PostgreSQL、SQLserverなどはデータベース機能しか無いので、アプリケーションは別の手段で作る必要があります。これらはクライアントサーバー方式で、クライアントアプリケーションにデータベース機能をサービスします。複数アプリケーションプロセスからの同時使用は可能です。 ファイルメーカープロやAccessなどは、データベース機能とアプリケーション開発機能が一体化した物です。その代わりに複数ユーザからの同時使用は想定されていません。どちらかというと、データベースっぽい機能がおまけに付いているというイメージ。Excelに毛が生えた物というか。

関連するQ&A