• ベストアンサー

旅行サイトによくあるデータベースってどうやって作るのでしょうか?

楽天トラベルをはじめ、予約までできる旅行サイトには、必ずといっていいほど、日にちと行き先などから、そのツアーの価格や詳細を検索できるシステムがあります。 例:http://www.uoc.co.jp/tour_des_01.html こういうデータベース(?)はどうやって作っているのでしょうか?HTMLとは別にSQLとかでデータベースを組んでいるのでしょうか? そうだとしたら価格的に個人でできるレベルでは収まらないでしょうか? 個人のホームページにこういった抽出システムを導入したいと思っています。 抽象的な聞き方で申し訳ないですがよろしくお願いします。

  • put74
  • お礼率54% (53/97)

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

  • ベストアンサー
noname#18558
noname#18558
回答No.1

そうですね、概ねデータベースを使ってると思って間違いないと思います。 SQLの知識以外にも、サーバーサイドスクリプトが必要になってきます。 phpやperlですね。 レンタルサーバーにDBがついてるところもあるので、個人で作ることは可能だとは思います。 しかし、未経験者には敷居が高いのは確かですね。

put74
質問者

お礼

的を得たアドバイスありがとうございます。 HTML、CGI、JS程度なら何とか自分でやってきましたが、phpやperlまで要るとのことなので、今回は技術的に少し無理っぽいですかね‥。 抽出すべき情報項目を写真やテーブルごと持ってきて並べるわけですからね、そりゃぁ簡単じゃないですよね(__;) しかしながらホスティングサーバなどについているDBで出来そうだということが分かっただけでもありがとうです。勉強になりました。 外注も含めて検討してみます。

その他の回答 (2)

noname#18558
noname#18558
回答No.3

CGIの言語は何を使われてるんでしょう? perlならDBアクセスのためのモジュールはあります。 とは言っても、 データベースのテーブル設計だったりは自分でしないといけません。 また、データベースを使うとなると、クロスサイトスクリプティングだとか、セキュリティに関しても注意しなければなりません。

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.2

文字通りRDBMSとCGIを使用しています。中にはServletを使用している物もあるでしょう。 個人でデータベースを使用したシステムを運用したいとなると自宅サーバーですよね? Windows用でOracleやSQL Serverをインターネットで使用するとなると無制限ライセンスが必要になりますが、ライセンス料だけで高級車1台買えるくらいの金額になります。 コストを抑えるなら、 Windows Server(or Linux) + MySQL + Perl(or PHP) が妥当なところでしょうか。 コストを抑えるとなるとその分勉強する必要があります。

put74
質問者

お礼

こちらもありがとうございます。 自宅サーバではなく、DB付き(SQLなど)のホスティングサーバで稼動させたいと思っています。 勉強‥うむむ、アクセスも分かっていない現状からそこまでやると大分かかりそうですねぇ。 そういうDBライクのASPやCGIスクリプトがあるのではと、淡い期待があってお聞きしに来たのですが、甘かったようです。。 ありがとうございました!

関連するQ&A

  • ゴールデンウィークの旅行について

    来年のGWにツアーではなく個人旅行での海外旅行を考えています。航空チケットですが、GW内出発だと価格が高いと思うので3日ほど前(水曜)の出発を考えています。帰りの日にちもGW内と超えてとでは価格は違うのでしょうか?また、ホテルもGWは高騰しているのでしょうか?行き先はハワイとラスベガスです。値段の割には良いお奨めホテルがあれば教えて下さい。

  • 簡易データベース

     WEBベースでフリーの簡易データベース(SQLを使わないで使用できる) ものを探しています。 デヂエのフリー版のようなものはないでしょうか? 本体はMySQLのようなものでもかまわないのですが、ユーザインターフェース がデヂエのようにハードルが低いものを希望しています。 有料でも買い切りのリーズナブルな価格(個人利用レベル)ならいいのですが。

  • 社内データベース作成について

    ブラウザ上から社内共有サーバに設計図面(PDFやTIF)をアップロードし、その図面番号やカテゴリ情報なども一緒に登録できるようにしたいです。 そして、ブラウザ上から図面番号で検索が出来たりカテゴリでフィルタ・ソートなどがかけられるシステムを作りたいのですが、何をどうすればよいか取っ掛かりが欲しいです。 当方、前職がウェブデザイナーだったのでhtml関連の知識はありますが、PHP・SQLなどはほぼ無知です。 前職の会社では不動産サイトのホームページに物件データベースをセットで販売していて、データベース自体は社長がPerlで開発したもなんですが、管理画面上から物件の価格や間取り、写真などを簡単にアップロード出来るシステムで、エンドユーザーは駅や間取り・価格などで絞り込み検索をし、物件の一覧が出てくるというものでした。よくあるアパート探しのサイトなどのやつです。まさしくそのようなものが欲しいので、外注でデータベースシステムを導入すれば手っ取り早いですが、社内で図面を登録・検索・閲覧するだけなのでイニシャルやランニングコストはかけられません。 私はHTMLやFLASHが担当だったので、システム・プログラミングなどについては前述したとおりほとんど分かりませんが、自分でも出来そうであれば本格的に勉強したいと思います。 私が求めているものには何が必要か、もしくはこれが参考になるなど何でも良いので教えて下さい。

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

    データベースの選定についてアドバイスお願いします。 現在は各個人用の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サーバーは全く初心者です。もちろん勉強する意志はあります。 この状況を踏まえた上でデータベースを選定するなら、どの選択がよいでしょうか? ・導入の容易さ ・システムの安定性 の面からのご意見をお聞かせ下さい。 具体的な移行方法については自分で調べるつもりです。 宜しくお願いします。

  • どのデータベースを使うべきでしょうか

    スタンドアロンなWindowsXPで、顧客管理システムを作るとします。顧客の個人情報といつ商品をどれだけ購入した、といった情報を入力し、顧客のIDや日付で抽出したりする、よくありそうなシステムです。 これを作るとき、どんなものを使って作れば、一番安価でお手軽にできるか?というのが質問です。 そのPCにはExcelは入っていますが、Accessは別に購入する必要があります。 また、私の知識レベルですが、もともとJavaとかC言語屋でして、SQLはそれなりに組めるのですが、Excelは仕様書とか月報を作る程度、Accessはほとんど知識がありません。 今のところ候補としては、ExcelとAccessと考えていたのですが、ほかにもっとありますか?ご存知の方教えてください。

  • データベースサーバー構築

    質問場所がここで良いか少し不安ですが 主にWebで公開するデータベースのシステムを作ろうとしています 自分のスキルの範囲でやろうとしていますが少し分からないことがあるので 教えてください まず 自分のできること(やっていること)は ・Windows系サーバー(IIS)を使ってVBスクリプト(ASP)で ローカルにあるMDBファイルにアクセスし商品を紹介する動的ページの作成 です。 今後複数ユーザーでデータベースを使うことになるので システムを変えていく必要がでてきて MDBはダメだという事になり色々調べた結果、今後のことも考えWebサーバーとは別に データーベースサーバーを作ってやると言う結論になりました 分からないこと(あやふやな理解になっていること) 1.データベースサーバーとは何か?  これは OSは別として、SQL Server、オラクル、MYSQLといった  RDBMSをインストールしただけのデータベース置き場専用という感じのPCを指すと言うことで良いでしょうか?  例えば Win2000のIISでwebサーバーを作りその中のASPページから  別PCにあるデータベースにアクセスする構成がデータベースサーバーを別に設けると言うことで正しいのかどうかと言うことなのです。 2.データベースは何がよいか?(SQL Serverでよいか?)  本来であれば、webで商品在庫を公開することがメインで更新頻度が少ないデータベース  (300人ぐらいで共有し1万~3万レコードです)です、なおかつ複雑なSQLは発行しません。  ほぼASPからの接続で抽出(ID=** という単純な抽出条件)しか使わない、あとは並び替え位なので  MYSQLが向いているようでしたが、私はLinux系は全く分かりません。  なので メンテナンスの面や勉強する時間の節約からすれば  Windowsで動くSQL Serverが良いと思うのですが(MYSQLもWindowsで  動くけど得意とする高速性はLinux系でないと発揮しないみたいなのでやめようと思っています)  上記のような条件と使い方の場合、そんなに処理時間やマシンの負荷に両者間では大差があるのでしょうか?  MDBの時でもあまり不具合を感じなかったので、それよりは格段にSQL Serverは早いし負荷が少ないと聞いていますので  大丈夫かなと思っています。 3.SQL ServerをインストールするPCは何が最適か?  先も述べたようにデータベース専用として使う予定ですが  Win2000でよいのでしょうか?(XPより2000の方が安定がよいと思うので) それともWin2003Serverに  インストールできるならその方がよいでしょうか?  とにかく安定度が一番なのですが、そもそもWin2003Serverに  インストールできるのでしょうか?(もうすぐ2008?がでるからそれにしようかとも検討中です) 4.最終的に自分の思っていることと実体の構成(理解)は理解は以下のような感じで正しいのでしょうか?    複数でデータベースを共有するため、MDBでなくネットワークに強い (共有データベースで壊れにくい?壊れない?)データベースに変えるため、windowsで動くSQL Serverを使う  そのSQL ServerはwebサーバーがあるPCとは別のPCにインストールして使う  (データベースサーバーを別に用意する)ことでwebサーバーの負荷も減らし、データベースも快適に動くようにする 最終的にはWin2003Server×2台で1方はwebサーバー1方はSQL Server をインストールして使うことで上記を実現させる 5.SQL ServerのデータベースはMDBのような最適化というような作業が必要なのでしょうか?  そもそも 似ているようで違う MDBとSQL Serverでその特徴がきちんと理解できていないので  愚問なのかもしれませんが 気になるので教えてください 6.オラクルと違いSQL Serverはレコードの更新や追加の時  その行(レコード)だけロックすると言うことができない?  ようなので、Aさんが自分の商品を更新中にBさんも更新する  と言うようなことが起こった場合(MDBはこれになると壊れると書いているので MDBをやめました)  Aさんの更新が終わるまでBさんは更新できない(更新終了まで待つ)と言うことになるのでしょうか?  また、このとき商品一覧を要求された場合、更新中の情報はどの様になるのでしょうか?(更新終了まで見れない?) なんか 分かりにくい質問になってしまいましたが、お金をかけて 買ったはいいが、理解不足でやりたいことができなかったと言うことは 避けたいので ご教授下さい。 よろしくお願いします。

  • vb.netでデータベース(Access)を複数アクセス(編集)する方

    vb.netでデータベース(Access)を複数アクセス(編集)する方法について いつも大変お世話になっています。 vb.netでデータベース(Access)を複数アクセス(編集)する方法についてご教授願います。 'SQL文 Dim wrk_sql As String 'データベース Dim G_DATABASES As New System.Data.OleDb.OleDbConnection 'DBの型を定義 Dim dr As System.Data.OleDb.OleDbDataReader 'SQLの型を定義 Dim cmnd As New System.Data.OleDb.OleDbCommand 'データベースを開く G_DATABASES = DBOpen(D:\test\db1.mdb") 'データ抽出 ※1 wrk_sql = "SELECT * FROM TEST" wrk_sql &= " WHERE N_DATA = 0" cmnd.Connection = G_DATABASES cmnd.CommandText = wrk_sql 'コマンドの実行 dr = cmnd.ExecuteReader() While dr.Read() = True ' ………← ※2 End While <目的> [※1]で抽出した結果(複数行存在します)を保持したまま [※2]の中で同じDB(G_DATABASES)にアクセスし SELECT文で抽出した結果を保持したまま処理を続けたい。 <問題> ・実行時「指定したデータベースは既に開いている」とのエラーが表示。 ・DBの型の定義、SQLの型の定義 を複数用意してもエラーが表示。

  • データベースか、テキストファイルか

    VBかCGIでカルテみたいなものを登録できるシステムを作ろうと考えています。 各個人が100人以上はいる。また各個人が日にちを変えてやってくるので、その日ごとに詳細を記録する必要があります。 問題は、メモとして比較的長い文章が入ることと、日ごと(と言っても週3日くらい)ですから一人分のデータが多くなることです。 長い文章になっても、データベース(SQLServer、OracleDB)を使っても問題ないのでしょうか? 一人分のデータが多くなるとまずいことってあるでしょうか? 当方、一応受発注システムなどのPGを経験してたのですが、上記のような システムはつくったことない(poorです)ので質問しました。 よろしくお願いします。

  • 東南アジアに旅行したいのですが・・・

    生まれて1度しか海外旅行に行ったことがありません。 このたび東南アジアに行ってみたくなりました。 ただ、まったくどこで予約すれば安いのか、といった情報がありません。 また仕事が空いている日に羽田空港(家から20分)から土日飛んで 帰ってくるような旅行がしたいです。 東南アジア、フィリピン(マニラ)でそれは可能でしょうか? また、ホテルも取らなくてはいけません。 やはりひとりでツアーに参加するのが安くて手間要らずなのでしょうか? ひとりツアーで現地で離れて個人行動はいかがでしょうか? いくらくらいかかりますか? どうやって旅行予約すればよいのかわからないので、いいサイトがありましたら それも含めて教えてください。楽天トラベル使えればそれでもよいです。

  • データベース抽出ツールの問い合わせ対応、運用

    データベース抽出ツールを自社で導入を検討しています。 導入後は、営業部が主体となって運用するという取り決めになっていますが、それでも最初の内は情報システム部に問い合わせなど来たり、結局データベース構造など理解していないと抽出プログラムを作るのは難しかったりするかもしれません。 そのための窓口が必要となると思いますが、そういった役割を担う人は貴重だと思いますか? 貴重というのは、今申した業務は、その人のメインの業務になりえますか? ということでもあります。 具体的には、営業部から「毎月or年に2回、1回行なっている、こういったデータ抽出、現状だとこのツールでできませんよね?どうすればいいですか?なんなら作ってもらえませんか」 といった要望なりを受けて、対応をするといった感じです。 また、自社では個人情報の扱いを、今までうやむやだったところを明確にしていこうという方針もありまして、そういったデータベース抽出ツールで引き出した情報の履歴(誰がいつ、何の抽出プログラムを使ったか)を、営業本部にまとめて提供するといった運用も考えられています。 そういった意味も含めての「データベース抽出ツールの運用全般」を担う人というのは、会社にとってそれなりに重要な存在となりえるでしょうか。 ご意見よろしくお願いします。

専門家に質問してみよう