データベース構築についての質問

このQ&Aのポイント
  • 初心者向けのデータベース構築について教えてください。
  • サーバーにSQL Serverをインストールする必要があるのでしょうか?
  • NTFSにSQL Serverをインストールする方法を教えてください。
回答を見る
  • ベストアンサー

データベース構築にチャレンジしようと思うのですが

お力をお貸しください。 職場の業務で利用する単純なデータベースを、学習を兼ねて作ってみようと思うのですが、初心者なものでまず実現可能かがわかりません。 環境は ・windowsXP,windows7端末が数台(microsoft SQL server 2008がプリイン済) ・DELLのPower edge T-310がサーバーとして1台(ファイルシステムはNTFS) ・サーバーのフルコントロールは(たぶん)上司に連絡すれば可能。 ・それぞれの端末からサーバーが共有できるが、端末同士で互いに繋がることは出来ない。 ・スタンドアロンでのアプリ作成経験は有り。VBかC#.NETで作成予定。 ・SQLは勉強中…Accessは使えます。 構想では、毎日出し入れするデータをサーバーにおいて、アプリを入れたどの端末からでも修正、更新が可能なようにしたいのです。データは小規模で、同時に何人も使用することはありません。 このような場合、まずはSQLserverをサーバーにインストールするのでしょうか?そもそもNTFSにインストールって…? それとも端末のSQLserver2008があれば、データ保存先でサーバーを選択して、他のPCから同じデータを操作できるものなのでしょうか? 書籍も読みましたがこの辺がよくわからず(というか基本的すぎて載ってないんでしょうね)馬鹿に解るよう解説してくださるとありがたいです。

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

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.6

サーバ上にmdbファイルを置いて クライアント上のAccessからネットワーク経由で共有されたサーバ上のmdbファイルを開く というaccessで時々やっているのを見かける方法をイメージして考えていませんか? SQL Serverは普通、こんなことはしません。(理由は後述) 1.サーバ機上で、SQL Serverを常時動かしておきます。 (当然、データファイルもこのSQL Serverからアクセスします) 2.クライアントとサーバの通信は、TCP/IPを利用します。 (後述のODBCやADOがTCP/IPの通信をします。) 3.クライアントからは、ODBCやADOその他の方法で、SQL言語を使って、SQL Serverとアクセスします。 4.ODBCやADOは、AccessやEXCEL、ExcelのVBAやVB.2008、C#その他の開発ソフトから利用できます。 ということで、 >・それぞれの端末からサーバーが共有できるが、端末同士で互いに繋がることは出来ない。 それぞれの端末からサーバーが共有できる必要はありません。 ただし、SQL Serverと接続するためのポートがウイルス対策ソフトなどでブロックされていないこと が必要です。 >このような場合、まずはSQLserverをサーバーにインストールするのでしょうか? まず、サーバ上にSQL Serverをインストールします。 >そもそもNTFSにインストールって…? NTFSだろうが他のファイルシステムだろうが、ファイル共有するわけではないので関係ないです。 >それとも端末のSQLserver2008があれば、データ保存先でサーバーを選択して、 >他のPCから同じデータを操作できるものなのでしょうか? 端末のSQLserver2008で、データファイルをネットワークドライブ(サーバー)上のファイルを 指定できなくはないと思いますが、ネットワーク経由にすると異常に遅いのと、 利用前に、SQLServerを起動して、利用後にSQLServerを停止しないとダメで、 停止していないと排他がかかって他の端末から利用できない。 ということ、使用前使用後で数分ずつかかり、なおかつ処理が遅いという、使い物にならない結果が 待っています。。。こんなことはしないことをお薦めします。 ## という説明でイメージくらいはつかんでいただけたかと。。。

rodefp
質問者

お礼

大変解りやすい説明ありがとうございます。 どうもNTFSを勘違いしていたようで、外付けHDのような記憶媒体としてしか使えないのでは、と疑問でした。 イメージがよくつかめました、ありがとうございます。

その他の回答 (5)

回答No.5

質問の内容から察すると DBサーバーがどういうものかを あまり理解されていないようです。 参照URL に自習書がありますので、 そちらを覗いてみてください。 ページの中程に基礎的なドキュメントがあります。 SQLサーバーを勉強しようと思ったら、Server OSの勉強も必要です。 マイクロソフトの講習では事前にServer OSの受講を進めています。 自習書でも、難しそうだったら、 市販の入門書などを探した方が良いですね。

参考URL:
http://www.microsoft.com/ja-jp/sqlserver/2008/r2/technology/self-learning.aspx
rodefp
質問者

お礼

難しいです、が大変ためになります。 確かにServerOSの学習を全然してませんでした。がんばって読んでみようと思います。ありがとうございました。

  • crowswork
  • ベストアンサー率63% (7/11)
回答No.4

>・サーバーのフルコントロールは(たぶん)上司に連絡すれば可能。 サーバーのOSが不明ですが、フルコントロールにするのはセキュリティ上かなりリスクがあるかと思いますのでやめておいたほうがよいかと思います。 >このような場合、まずはSQLserverをサーバーにインストールするのでしょうか?そもそもNTFSにインストールって…? →ファイルシステムがNTFSのサーバにSQLServerをインストールすることができるかと言う事でしょうか。  であれば、サーバーにSQLServerをインストールすれば、各端末からデータベースのデータを参照することが可能になるかと思います。サーバOSがわからないのでインストールできるかは不明です。インストールできれば当然、SQLServerの設定は必要ですが・・・。 >それとも端末のSQLserver2008があれば、データ保存先でサーバーを選択して、他のPCから同じデータを操作できるものなのでしょうか? →現状の状態では、端末にSQLServerがインストールされていてもデータを参照できないと思われます。 rodefp さんは、学習も兼ねて作成しようとされているとの事ですので、 例えば仮想環境を使うのはいかがでしょうか。サーバOSが不明なので使用できる仮想化ソフトが限定されるかもしれませんが・・・。 以下は手順です。  1)サーバにHyper-VやVMWare・VirtualBOXなどをインストールして仮想環境を作成する。  2)仮想環境のGuestにOSをインストールする。  3)仮想環境のGuestOSにSQLServerをインストールする。  4)各端末から仮想環境のGuestOSにアクセスできるように設定する。 このようにすれば、サーバに少し負担がかかりますが、仮想環境ですので学習だけで終わってしまった場合も仮想環境を削除するだけです。 ※ただし、仮想環境を構築するのであれば仮想環境の事をインターネットなどで調べてみてくださいね。  書籍をあまり見かけた事がありません。

rodefp
質問者

お礼

NTFS自体がよく理解できていないのかもしれません。どうも外付けHDのようなOSのない記憶媒体の認識でした。 仮想環境はおもしろそうですね。学習するうちにサーバの他のデータを傷つけても嫌ですし、是非調べてみます。 ありがとうございました。

  • hogya
  • ベストアンサー率67% (49/73)
回答No.3

おそらくAccessと同じイメージでデータベースソフトを捉えられているのでファイルの話になっているかと思います。 データベースソフトはサーバーにインストールするもので、端末のPCからはネットワーク(TCP/IPなどのプロトコル)で接続されます。 データベースに記録されたデータは、端末のPCからは作成したアプリケーションやインストールしたデータの閲覧ツールなどで見ることができます。 なので、ファイルアクセスとは無関係です。 SQLServerのExpressなどの無償の製品で学習されてみて難かしいと感じたらまた別の選択肢を考えてみてはいかがでしょうか。 SQLServerの入門書であれば、データベースとはなんぞや?というような話から動かせるまでの実際の手順やサンプルが豊富なものが書店でも手に入ると思います。 (実際に読んだ書籍名があれば回答者の方も説明しやすいと思います)

rodefp
質問者

お礼

正しくAccessのイメージで勘違いしているのだと思います。 書籍は何冊か持っているのですが、SQLServerのインストールの件にはどの書籍も数ページしか記載がなく、NTFSではたしてインストールできるのかがよく解りませんでした。 もっと入門書を深く読み込んでみます。ありがとうございました。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

現実的にはNo.1の回答に賛同します。 データベース構築が本業なら別ですが、どうしてもっていうのならプロに依頼する方が、 お遊び程度から始めたいのでしたら、こんな選択も 私が書いた回答なのですが、ともかくSQLデータベースのデータ登録と読み込みが簡単にできるものです。 http://oshiete1.nifty.com/qa7409116.html http://oshiete1.nifty.com/qa7258066.html のNo.5も

rodefp
質問者

お礼

今回は特段命令をうけての作業ではないので、学習がてら自分でやってみようと思います。 url先参考になります。ありがとうございます。

  • yasuto07
  • ベストアンサー率12% (1344/10625)
回答No.1

ファイルメーカーを数分購入してください。

rodefp
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • データベースに何を使うか

    こんにちは、よろしくお願いします。 VB2005+AccessでWindowsアプリをはじめて作りました。 このアプリはデータベースがAccessなのでスタンドアロン形式 として開発しました。(初めてのプログラミングです。) 次に、2~5台くらいまでのパソコンで使えるようなアプリを 開発したいと思っているのですが、 データベースに何を使ったら良いのかわかりません。 パソコンに、Microsoft SQL Server 2005がプログラムメニューに あるのですが、これが利用できるのでしょうか? 利用できるのなら使いたいのですが、 色々と調べていたら、SQLServerの価格表があり、高いものは 300万とか書いてあり、びっくりしました。 上記を使うと開発者やユーザーに何か料金が必要なのでしょうか? ExpressEditionは無料、とありましたが制約が多くて 使にくかったらどうしようかと思い、不安です。 Oracleも無料とありましたが、Windowsアプリに利用するにあたって 何も問題はないのでしょうか? 経験者の方、おすすめデータベースのアドバイスがありましたらお願い致します。 参考サイトや書籍などの情報がありましたらあわせてお願い致します。

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

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

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

    質問場所がここで良いか少し不安ですが 主に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さんは更新できない(更新終了まで待つ)と言うことになるのでしょうか?  また、このとき商品一覧を要求された場合、更新中の情報はどの様になるのでしょうか?(更新終了まで見れない?) なんか 分かりにくい質問になってしまいましたが、お金をかけて 買ったはいいが、理解不足でやりたいことができなかったと言うことは 避けたいので ご教授下さい。 よろしくお願いします。

  • いま自宅(linux)でPostgresqlでデータベースを構築し、1

    いま自宅(linux)でPostgresqlでデータベースを構築し、10万件規模のデータを管理しています。 このデータは日々更新されるのですが、この更新情報を 外部のレンタルサーバ内のPostgresqlに簡単にコピーする方法はないでしょうか? レンタルサーバ側はport=80/443くらいしか通さないので postgresqlに直接接続することができません。 今現在は、 自宅のpostgresqlからsql形式でdumpファイルを作成し、 その中身から比較的新しいSQLを抜き出し、  レンタルサーバ側のphppgadminをたちあげ、さきほどSQLをコピー&ペーストし実行 という面倒なことやってます。 上記を解決する ソフトやツール or レンタルサーバに置くWebアプリサンプル or 参考情報 などあればおねがいします。

  • SQLServer2008

    SQLServerは始めてです。 SQLServer2008 Management Studio Expressを自分のPCにインストールしました。やりたいことは、自分のPCでサーバー、データベースを作ってVB6でデータを取得したりするアプリを入れて動かせる環境に したいのですが。(他のPCにサーバーを設定せず)インストールした後、どうやってサーバー登録するのか本を見てもよく分かりません。複雑なSQLを作成しなくてもSQLServerでは簡単にできるような事を本に書いてあるみたいですが。 SQLServer Management Studio を起動するとサーバーへの接続画面が 表示されます。でもまだサーバーの登録がされていないので、エラーになってしまいます。左側のオブジェクトエクスプローラは空っぽです。この後何をすればいいのか分かりません。 それとも何か足りないのでしょうか?サーバーの登録、データベースの作成方法を教えてください。そしてサーバーへの接続画面で入力して エラーなくサーバーに接続し、データベースに接続できるように教えてください。

  • データーベースの共存は可能?

    表題のとおりなのですが、勉強のために同一マシンにSQLサーバーとORACLEをインストールしたいのですが 同一マシンに異なるDBをいれても問題ないのでしょうか? OSはWindows2000Pro SP4 同時にインストールしようとしているDBが SQLServer2000 DeveloperEdition と Oracle9i です よろしくお願いします

  • SQL SERVER2005とアクセス2007でデータベースを作成して

    SQL SERVER2005とアクセス2007でデータベースを作成しています。 データベース自体はできまして、自分のパソコンではACCESSからSQLSERVERへデータを書き込んだり、読み込んだりはできます。 次の段階として、社内LANにデータベースをおいて、ほかのパソコンからもデータの書き込み及び読み込みをしたいのですが、うまくいきません。 ほかのパソコンからデータベースを開くと、接続を拒否されてしまいます。 SQLSERVER MANAGEMENT STUDIO EXPRESSで何か設定が必要なのでしょうか? よろしくご教授お願い致します。

  • SQL Server 2000のデータベースサーバーインストール方法を教えてください

    Windows2003 Server評価版 SQL Server 評価版 を使用して、SQLServer2000をインストールしています。 WEBよりダウンロードしたファイルを使用しています。 インストールマニュアルを見ていると、 1.SQL ServerのCDをセットする 2.SQL Server 2000コンポ―ネントをクリックする 3.データベースサーバーのインストールをクリックする  と書いてあるのですが、WEBよりダウンロードしましたのでCDがありません。 どのようにデータベースサーバーをインストールすればよいのでしょうか? 初歩的な質問ですみません。 どうぞよろしくお願いいたします。

  • 現在、会社のデータベースをaccessで構築しています。

    現在、会社のデータベースをaccessで構築しています。 【 5台のPCで、1台のPCにメインのaccessを置き、他PCからはリンクして共有できるようにしています。 OSはそれぞれXP、メモリは512以上、accessは2000で、各PCのLANポート、LANケーブル、ハブ、はGiga bitに替えています。 管理者は、独学でaccessを使い始めたので、専門用語の使い方など至らない部分もありますが、ご了承願います。。。 】 accessを使いはじめてから1年くらいたちますが、検索するのにかなり時間がかかるようになりました。 【 業務内容は、主に顧客にTELして、会話の大まかな履歴を入力していくというカンジです。一覧の帳票フォームから選んだ顧客のボタンを押すと、詳細が書かれた単票フォームが表示され、それに入力していきます。 そのときの単票フォームが表示されるまでの時間が長いです。(10~30秒)→その単票フォームにサブフォーム、クエリがともに10個ほどはいっているため、遅いのだと思うのですが。ただ、これらは業務上不可欠なデータなので、そこは削れないのです。 テーブル、クエリ、フォームはそれぞれ100個以上あり、顧客データのみで6000件、会話履歴データのみ15000件ほどです。 】 それで何とか検索スピードを早くしたいとネットで調べ、できる限りのことは色々試してみました。 【 ギガビットの接続、テーブルのサブデータ名を『なし』にする、Autoexecで非表示のダミーフォームを開く、こまめな最適化 】 それで、一番手軽?で効果的なのが、テーブル自体はSQLに移行して、フロントエンドはaccessを使うことだという結論に達した(いろんな方の意見をまとめた)ので、早速お試しで、無償版のSQL server 2005 express をインストールしてみました。 インストール後、業務で使用しているメインのDBファイルをコピーして、ツール→アップサイジングと選択し、アップサイジングウィザードが表示されて、 ●『このデータベースに使用する SQL Server を指定してください。』 →(local)でないものを選択 ●ログイン、IDを入力 ●SQLデータベース名→既定の『upsized_detabase』 という流れで『次へ』のボタンを押すと下記のエラーメッセージが表示されます。 ---------------- 接続できませんでした。: SQLState:'01000' SQL Serverエラー:2 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (ocnnect()). 接続できませんでした。: SQLState:'08001' SQL Serverエラー:17 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました。 ---------------- ここから先に進めなくて困っています。 Office2000のSP3を当てたらうまくいったという内容も拝見しましたが、SP3インストール後リトライしても変わらずでした。 accessが古いというのに加え、無償のSQLを使おうとしている環境自体がよろしくないというご指摘もあるとは思うのですが、その環境で構築されている方もいらっしゃるみたいなので、なんとかできる限りはこの環境でできないものかと模索している状況です。 (一方でaccess2000から、SQL2005expressにアップサイズするのは無理、という内容もみかけたりもしました。) どなたか解決策がおわかりの方、知恵を貸していただければ幸いです(^^) 長文最後まで読んでいただき、ありがとうございました!!

  • SQL ServerにWindowsパスワードを入れると接続出来なくなってしまう

    Windows2000ServerとSQLServer2000を使用しています。 端末の台数は20台未満と少ないのですが、今までは、データベースアクセス時に SQLServer認証で使用していました。 クライアントPC起動時に、今まではパスワードも無しだったのですが、 セキュリティ面を考えて、Windowsのパスワードをユーザーにつけることにしました。 ところが、パスワードをつけると、サーバーのデータ―ベースを開こうとすると 「接続出来ませんでした。 SQLState:'28000' SQL Server エラー:18452 〔Microsoft〕〔ODBC SQL Server〕〔SQL Server〕ユーザー'(null)'のログインに失敗しました。 理由:SQL Serverの信頼関係接続に関連付けられていません。」 となって、データ―ベースにアクセス出来なくなってしまいます。 名前付きパイプの信頼関係接続も有効になっているし、マルチプロトコルも無効になっています。 どうしたらデータ―ベース接続時にエラーが出ないように出来るでしょうか?