データベースソフトの選定条件と独自開発について

このQ&Aのポイント
  • データベースソフトの選定について質問があります。条件や目的に応じて、使用する言語やデータベースが異なってきます。
  • クライアント/サーバ型のシステムを構築する上で、目的、選定された言語とデータベースの相性、データベースの管理のしやすさなどを考慮する必要があります。
  • 個人事務所レベルでの独自開発において、クライアント側の言語とサーバ側のデータベースは自分の好きなものを使って問題ありません。ただし、同時アクセスなどへの対応やクライアント/サーバ型としての効率性を考慮する必要があります。
回答を見る
  • ベストアンサー

データベースソフトの選定について質問があります(システム開発関係実務未

データベースソフトの選定について質問があります(システム開発関係実務未経験です) 条件1:お金を出せるのはハードのみ。(それも格安で中古などでもよい) 条件2:所詮、個人経営の事務所に設置するレベル 条件3:サーバはLinux(Cent OSでやりたいと思います)windowsサーバを買う金が出せない 条件4:事務所のクライアント数は所詮、5台程度+サーバ1個(+αするかも) 条件5:クライアント/サーバ型のシステムを構築したい。(WEBアプリではなく) ※あえて何でサーバOSをCentOS(linux)を選ぶ?と聞かれるかもですけど、 答えは、「すべて無償でやる」だからです。 ********************************************************************************* データベースといえば、 ・Oracle (windows用やLinux用) ・SQL Server ・MySQL(PostgreSQL) (windows用やLinux用) ・Access などいろいろありますよね。多種の選択があるデータベースの中で 何を作りたいかで、使う言語やデータベースが違ってくるとは 思いますが、よく企業のシステム開発の実績として目にするのが、 VB.NET+SQL SERVERだったり VC++ +Oracle Java + Oravleだったり っていうクライアント/サーバ型って見るんですけど、 これって目的とするシステムが何を得意としなければいけないとか、 選定された言語とデータベースの相性とかデータベースの 管理がしやすさとか、どこで決めているんですか? 自分が個人事務所レベルでやりたいと思うクライアントサーバ型のシステム内容は 顧客管理や売上げ管理や現場管理など。 Accessで十分じゃね?って言われるかもしれませんが、あえて、言語とデータベースを 学びたいので、「Java + 無料のoracle」みたいなのにしたいです。 クライアント側で動作するものは自分が好きな言語使って サーバ側のデータベースも好きなものを使って。。。という具合に やってはいけないんでしょうか? (Accessはクライアントから同時アクセスされたとき、処理しきれない?ことがある? とか聞くので、これは使わないとして。。。) 具体的には クライアント側で動くプログラム:VB.NETまたはJAVAまたはVC++など サーバ側データベース:MySQL(CentOSもMySQLも無償だから) みたいに、データベースを勝手に無償だからという理由だけでWEBアプリケーション でもないのに、MySQLにするなど、そこでMySQLは使わないでしょ?みたいなのって あるんでしょうか? 以上の条件で、今後独学で何を勉強するしながら独自開発するなら 言語は何がいいかとか、 言語とデータベースの組み合わせはこれでやってみたら?ってのがあれば教えてください。 何もかもクライアント側はJAVA一本でやれば?ってなら、それを頑張ります。 レベルの低い質問かもしれませんが 教えてください。

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

  • ベストアンサー
回答No.3

でカネが出せないのにMySQLが候補に入っているけど 無料版のMySQLはDB接続ライブラリがGPLだから(MySQL側が開発したライブラリの事でサードパーティが開発した物があればそれはまた別。) 完成したシステムのソースもGPLに汚染されるけどいいの?GPLに汚染されるって事は クライアントにソースを提供する事とその提供したソースをクライアント側が自由にできるよ。 と言うわけでMySQLを無料で利用すると商用システムの場合めんどくさいことになる可能性有り。 だからPostgreSQLかSQLiteの方がライセンス的に楽。

その他の回答 (3)

  • sppla
  • ベストアンサー率51% (185/360)
回答No.4

“システム開発関係実務未経験”で“顧客管理や売上げ管理や現場管理など”を構築するまでの道のりはかなり遠い気がします・・・ 御質問にただ単純に回答すると、選択の余地は最初から全くなく「MySQL(PostgreSQL) (Linux用)」のみです。 条件1(お金)の時点でOracle、SQL Server(無償版を除く)、Accessが対象外になってしまいますし、条件3(Linux)の点でSQL Server Express Edition(無償版)もはずれます。 >これって目的とするシステムが何を得意としなければいけないとか、選定された言語とデータベースの相性とかデータベースの管理がしやすさとか、どこで決めているんですか? 使用するOS、かけられる費用、求められる処理性能、開発する会社が得意かどうか、クライアントの意向、その他・・・です。 質問文では不明なのですが、 “システム開発関係実務未経験”とはプログラミング経験が全くなしなのでしょうか?あるのならば言語やそのレベルを知りたいところです。 事務所用の業務システムを作りたいとのことですが、それは途中で断念して未完成になってもかまわないようなものでしょうか?それとも年単位の時間がかかってもできあがればいいという程度でしょうか?もしくはいつまでにできなければならないという期限的な制約はありますか? 上記について不明ですが、プログラミング経験なしであるならば、やっぱりAccessをお勧めしますね。パッケージを購入する費用はかかりますが、参考にできる書籍やWEB情報の多さ、データベースとのつながりが良いなど他よりしきいが低いですから。この場合にはデータのファイルとプログラムのファイルは最初から別のファイルに分けて開発してください。その方が将来データベース部分を他に置き換える際に楽ですから。またデータのファイルはこまめにバックアップしてください。 業務システムの作成に期限的な制約がある場合には、自分で開発するのではなくその業務をこなせる既存のパッケージソフトがないかどうか調査されることをお勧めします。 時間は十分に取れ、システムが完成しなくてもかまわないなら、MySQL(PostgreSQL)(Linux用)」+JAVAでもいいかもしれません。

noname#198951
noname#198951
回答No.2

実務未経験かぁ。 Javaは何がなんでも必要なんでしょうか? Mysql+PHPという組み合わせがスマートだと思いますが。 「マイクロソフトからAccessを業務では使わないでくれ」と社内のマイクロソフト窓口を通して以前に言われたので、わが社ではAccessは使用禁止アプリになりました。(苦笑)

  • gtx456gtx
  • ベストアンサー率18% (194/1035)
回答No.1

質問の内容を読むとJavaが必要? と思います。 私ならWinodws XPにXAMPPをインストールして、 Apache + MySQL + PHP でアプリを書きます。

method2027
質問者

補足

ご回答ありがとうございます。 しかし質問の内容を理解してください。 Javaが必要だとは誰も言っていません。 Java+なんらかのデータベースでJavaやVC++などを 「勉強したいがために」、やろうとしているのです。 PHP+Apache つまりブラウザでのアプリ構築を前提としているのなら、最初から 上記のような質問をしていません。 そのくらい分かります。

関連するQ&A

  • システム開発ライセンスについて

    システム開発ライセンスについて Linux + RubyOnRails + MySQL をベースにしたシステム開発(受託)をする予定です。 以下の条件を契約に入れたいのですが、よくある GPL等のライセンスだと何が一番私に合っていますかね? 『ソースコードはお客様に提供する。改変しても構わない。ただし著作権は開発側にある』

  • Javaで使用するデータベースの選定方法について

    現在、データベースの選定に困っています。 レコードが約100万件もある場合、どういうデータベースを選定すればいいんで しょうか? Javaで扱えるデータベースとして、「Oracle」、「SQLServer」 、「Postgre」、「MySQL」は有名ですが、レコード件数が膨大である場合の 選定方法(ポイント)を教えてください。ちなみにサーバー側のOSは、Windows2000 を想定しています。皆様、宜しくお願い致します。

    • ベストアンサー
    • Java
  • MySQL/DBサーバって、MySQL/DBクライアントみたいなものりますか?

    Linux+Apache+MySQLでサイト構築を検討しています。 MySQL/DBって、ORACLE8で言うところの、 いわゆる「Net8クライアント」のようなものってあります? 実は、今まで、NT+MS-SQLServer7でサイト構築してたのですが、 Linuxで再構築することとなっちゃいました。 で、MS-SQLServer7だったら、クライアントPCから、 GUIを使って、データベースのデータを簡単に変更することができます。 しかし、LinuxではMS-SQLServerは使えないので、じゃぁ、ORACLEって手もありますね。 そこで、ORACLEだったら、Net8があるので、多分、 上記のような使い方もできると思うのですが、 ORACLEは、導入コストが高すぎるので、却下されてしまいました。 で、Linux+MySQLにしようかと・・・。 しかし、サーバ機にLinux+MySQL/DBを構築するのはいいのですが、 Windowsなどのクライアントから、ORACLEでいうNet8でODBCのような接続で、 Microsoft-Accessなどを使って、データベースのデータを編集させたいんです。 よろしくお願いします!

  • ローカルデータベースについて、質問なのですが。

    ローカルデータベースについて、質問なのですが。 開発言語:VB2005で、サーバをたててクラサバのプログラムを作成しようと思うのですが。 現状は、サーバ1台に,クライアント2台(XP・7)ですが。将来的にはクライアントは40,50台まで増える予定  サーバ機には、SQL Server2005を使い、クライアント機のローカルデータベース(ワークテーブル、一時テーブル) を迷っているのですが 将来、クライアントが増設されるあたりを考えると、 ・SQL serverを入れようか迷ったのですが。 40台でインストールとアップデートをするかと思うと後々管理が大変そう・・・   ・ローカルデータベースがわりにテキストデータも考えましたが・・・ やっぱりプログラム作成の部分で大変そう。 ・アクセスmdbを使い、ローカルデータベース代わりにと思ったのですが。 Accessが入ってない環境で試したことがないので、できるか未知数ですが。 ソフトのインストール自体は、フォルダごとXCOPYで設置するつもりなのですが。 規模によってマチマチかと思いますが。 台数が増えた場合を考慮した場合など。皆さんローカルデータベースはどうされているのでしょうか? 各パソコンに一々SQLserverをインストールされているのでしょうか? アドバイスをもらえたら幸いです。

  • データベース選択のポイントを教えてください。

    こんにちわ。 はじめて質問します。 WINDOWS系のOSで開発言語はVBでコンパクトな販売管理のシステムを構築しようと考えています。 出来るだけ開発コストをかけずに開発したいのですがデータベースをどれにするかで迷っています。 調べてみたら postgreSQLやMySQL等は無償で使用できるみたいなのですが 商用にしようしてもいいのでしょうか? どのデータベースを選択するべきか悩んでいます。 何かポイントがあれば教えてください。 抽象的な質問で申し訳ありません。 宜しくお願いいたします。

  • データベースを利用したアプリケーションの開発(一般的な質問含む)

    私は、今度、業務でデータベースを利用した アプリケーションの開発をやることになりました。 しかし、私はデータベースのことがよくわかって いないため、どのタイプのデータベースが最適か、 どんな技術が必要で、何から勉強すれば良いのか わかりません。よって、皆様のご意見から開発の 方向性を見つけることができればと考えています。 開発するアプリケーションは、研究開発で利用される アプリケーションです。データベースは研究開発で 得られたデータを管理します。(実は現時点で仕様が はっきり決まっていません) 上記の事を踏まえて質問ですが、 ア)数十GBにもなるデータをデータベースで管理する   場合、データベース側では1つのファイルに   全データを格納しているのですか?それとも、   複数のファイルに分けているのですか? イ)データベースで管理している数十GBのデータを   他のコンピュータに移植する場合はどうするの   ですか?例えば、研究開発した企業が、研究開発   を依頼した企業に研究開発の成果物として   データベースごと収める場合です。 ウ)データベースがサーバ上に置いてある場合と、   データベースがローカルのコンピュータに置いて   ある場合とでは、データベースにアクセスする   プログラムのコードは違ってきますか? エ)データベースで管理しているデータをバージョン   管理することは可能でしょうか?例えば、ある   データAが管理されているとして、このデータAの   内容を変更してBに、さらに内容に変更を加えてC   になったときに、最初のデータAに内容を戻すこと   が可能なのでしょうか? 以上、よろしくお願いします。

  • 会社のシステム開発、ソフト開発担当

    質問させていただきます。 会社内にパソコン関係が出来る人がほとんどいない状態なので、社内システムの開発やソフト開発を自分でできるようになりたいと思っています。予約システムのあるWEBサイトやデータベース開発など、挑戦したいこと、会社に必要なものは多々あるのですが、比較的勉強しやすく、企業で重宝されて勉強がおもしろい言語ってないでしょうか? 今は勉強のしやすさからPHPを考えています。 今現在管理者をしておりますので、勤務時間中も多少は勉強ができます。 PHPとかpearlとか、JAVAとかいろいろありますが、JAVAはあまり初心者には多少敷居が高いような気がします。

  • 社内システムを開発していく言語

    いつもお世話になっています。 今、ACCESSで簡単な社内用のアプリケーションを開発しているのですが、ACCESSだけでは不安になってきました。 今後、SQL Serverを導入して本格的なデータベースシステムに移行しようと考えています。 ACCESS + SQL Serverでどのくらいのシステムが開発できるものか、分からないので不安です。 会社は建設業で、今後、見積書作成ソフト、顧客管理ソフト、現場事務所とのリモートアクセスが可能な業務支援ソフトなどを開発していくと思います。 社内SEの経験者の方で、どんな開発環境がよいのか ご教授願えないでしょうか。 例えば、C言語でこんなものを開発したとか、フリーのソフトだけでここまで開発したとか、将来的にはこの組合せが妥当だとか。

  • データベースの選定について

    データベースの選定についてアドバイスお願いします。 現在は各個人用のPC数台と共用PC1台をLANで結んでいます。 共用PCにはアクセスで作成したシステムが入っており、このシステムを利用する者が必要なときに共用PCを使って作業しています。 アクセスの運用はデータ保存テーブル用MDBファイルとアプリケーション用MDBファイルを接続して利用しているという状況です。 最近になって各個人のPCからデータベースを利用する方が便利だろうということでシステムの改良を考えています。 共用PCをデータベースサーバーとして運用することで問題を解決できると思うのですが、具体的にどのような方法が最適なのかアドバイスをお願いしたいのです。 1)各個人用PCにアプリケーションMDBファイルを配布して、サーバーにはデータ保存テーブルMDBを置く。 2)SQLサーバーを導入する。 1)の方法が一番お手軽だと思っていますが、MDBは同時に複数が使用することができないということなので問題が生じる可能性があります。 しかし、そういうケースはそれほど多くないと思われますので実際の運用面では大きな問題は発生しないかもしないだろうと考えています。 ただ、あくまでもアクセスファイルは共有することを念頭に置いていないらしいので不安もあります。 2)の方法はSQLサーバー導入のハードルが高いですが、時間的余裕は多少ありますので余っているPCでテストしながらチャレンジする価値はあると考えています。 この場合、どのSQLサーバーを選定するかが問題となります。 データ件数がMDBの限界を超える心配は当面ありません。 現在のところ、一日に共有PCを使ってアクセスを利用する頻度は多くても10回までです。 SQLは無償で利用できるものを考えています。具体的にはMySQLかマイクロソフトのSQL Server Expressです。 アクセスは一般的な作業ならこなせますが、SQLサーバーは全く初心者です。もちろん勉強する意志はあります。 この状況を踏まえた上でデータベースを選定するなら、どの選択がよいでしょうか? ・導入の容易さ ・システムの安定性 の面からのご意見をお聞かせ下さい。 具体的な移行方法については自分で調べるつもりです。 宜しくお願いします。

  • データベース系システムエンジニアを扱う会社

    IT業界にはデータベース系(例えばOracle)に特化したシステムエンジニアを扱う会社があります。志望して入社できるものなのでしょうか?基本的に普通のソフトウェア開発会社と同じように、受かるときもあれば落ちるときもありその時によると思いますが、何か知ってる方いましたら、お願いします。また、そういう会社あったら、教えてください。