• ベストアンサー

アクセスについて

アクセスを使ったデータベースの作り方がよくわかりません。昔どうしても仕事で必要で覚えなければいけなかったのですが、どうやらDBというものの構造が理解できていないようでどれだけ本を読んでもちんぷんかんぷんでした。ある人に相談したところ情報処理2種の勉強の中で「リレーショナルDB」などDBの構造を理解するためのものが書かれているはずだからそれをやったら?」などと言われました。「DBの構造」というものがどんなものなのか、身近にある例で示していただける方はいらっしゃいませんか?どうもイメージがつかないのです。

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

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

「DBの構造」を身近にある例でっていうことなので、社内情報を例にしてみます。 リレーショナルDBってテーブル(表)の集まりです。 このような「社員テーブル」があったとします。 ------------------------------ 社員番号 名前 所属部署コード ――――――――――――――― 2046  田中   J 2047  鈴木   E ------------------------------ 所属部署コードが記号で表されています。 もう1つ次のような「部署テーブル」があったとします。 -------------------- 部署コード 名称 ――――――――――   J     人事   E     営業 -------------------- 社員テーブルの所属部署コードと部署テーブルの部署コードが連携してるような感じですね。 あるテーブルではコードをもっていて、他のテーブルがそのコードの名称をもっているというのが多いパターンではないかと思います。 DBの構造のイメージがちょっとはわかったでしょうか?(説明が下手だからわかりにくいかなぁ) 補足でつっこんでもらっても構いません。

mimizuku
質問者

お礼

補足に対する回答、どうもありがとうございました。 お礼が遅くなってしまってすみません。 わかりやすく説明いただきました。みなさんの回答を拝見してやっとDBの構造というものの大枠はつかめたように思います。(友人にも確認しました)本当にどうもありがとうございました。

mimizuku
質問者

補足

回答ありがとうございました。補足OKということでしたので、お言葉に甘えて質問させていただきます。よろしくお願いします。 私はエクセルをよく使うのですが、たとえば -------------------- 部署コード 名称 ――――――――――   J     人事   E     営業 -------------------- という表を関数の「定義」を使って定義しますよね? そのあと、別のシートの中にある、 -------------------- 部署コード 社員番号 ――――――――――   J     000   E     001 -------------------- の表で「VLOOKUP」関数で部署コードから部署名を呼び込むことをしますが、リレーショナルDBというのはこれと 同じような考え方なのでしょうか? これをアクセスでやる場合には「定義されたDB」と 基になる(ここでは下の表)DBをつなぐための「クエリー」という機能を使う ということですか? ということはいくつかのDBをすべてリレーショナルにするときには、共通の項目(たとえば社員番号など)をすべてのDBに設けておく必要があるということですか? お忙しいところすみませんが、よろしくご回答お願い致します。

その他の回答 (5)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.6

>データベースアプリケーションという言葉は初めて聞いたのですが、アクセスですと、テーブル以外のすべての機能、すなわち「クエリー、フォーム、レポート、マクロ、モジュール」がすべてデータベースアプリケーションということでしょうか? データベース → 蓄積されたデータの事。 データベースアプリケーション → データベースを利用するためのソフト。 ですから、 ・テーブル(に蓄積されたデータ)=データベース。 ・フォーム、レポートマクロ等を駆使して、使いやすいように作ったソフト = データベースアプリケーション ってことでいいと思います。

mimizuku
質問者

お礼

お礼が遅くなりましてすみません。 どうもありがとうございました。後は実際に使って学びたいと思います。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

リレーショナルDBについて 仮に下のような表があったとします。 [売上表] 顧客名称 売上 ○○商店 \100 △△販売 \200 ○○商店 \150 ○○省店 \300 「○○商店」が何度も登場して、入力するのがなんとも面倒臭そうですね。 おまけに、4件目のデータには入力ミスがあります。これじゃぁ、後で「○○商店」の売上を集計しようと思っても、正確な値は出ません。 もし仮に以下のような表もあったとします。 [顧客表] 番号 顧客名  住所 1  ○○商店 どっか 2  △△販売 あっち これなら、[顧客表]の[番号]を使って、[売上表]の入力を楽できそうですね。 [売上表] 顧客 売上 1  \100 2  \200 1  \150 1  \300 っていうのがリレーショナルDBの考え方です。 一見、顧客番号をいちいち覚えなくてはいけなくて、件数が多いと大変な気がしますが、実際には、「1」って入力した段階で隣に「○○商店」って表示させたり、顧客の一覧を表示して、マウスで選択すると「1」が入力できたりするので、それほど大変じゃないです。 二つの表を合成して、 [売上-顧客] 顧客名称 売上 住所 ○○商店 \100 どっか △△販売 \200 あっち ○○商店 \150 どっか ○○省店 \300 どっか と表示させたりする事も出来ます。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

この手の知識は、本を読むだけでは、まず身につきませんよん。 理解してから作るのではなく、作りながら理解するっていうのが、正しい勉強方法です。(多分ネ。) アクセス(Access)に関しては、「そもそもデータベースとは」ってとこから始めた、ビギナー向けの書籍がいっぱい出ておりますので、まずはそれらを読みながら、実際に作ってみられるのがいいと思います。(情報処理2種云々の本は、基本的に分かってる人向けのものだと思うので、お勧めしません。) どの入門書も肌に合わないときは、Accessを教えてくれるパソコン教室も結構ありますので、それを利用するって手もあります。 ***** さてさて、絶対に入門書の方が分かりやすいことに自信がありますが(笑)、とりあえず説明してみます。(文字だけで伝えるのって難しいですネ。) DBって基本的に表だと思ってください。 例えば、Excelの表にしても、商店の帳簿にしても、電車の時刻表だって、データベースだってことです。 そして、この「表」から、「住所の一覧」や「昨日最後に発送した商品の個数」といった情報を取り出して、表 示/編集したり、あるいは帳票を印刷する機能を持たしたものを「データベース・アプリケーション」といいます。 ですから、「Accessでデータベースを作る」と言った場合、実際には、「データベースと、データベース・アプリケーションを作る」と言った意味合いになるんですね。 AccessでDBアプリを作成するには、以下のような部品を作成して、それを組み合わせることによって実現します。 ・「テーブル」  テーブルとは、データベースの基礎となる「表」です。この表にデータを入力して、蓄えます。 ・「クエリー」  「テーブルからどのようにデータを取り出すのか」という条件を記述したものです。  中身は「住所録にある赤川氏の電話番号」のようになっているので、仮に他の誰かが赤川氏のデータを書き換えたとしても、常に最新のデータを得る事が出来ます。 ・「フォーム」  テーブルやクエリーからデータを受け取り、それを表示したり編集したりするためのものです。  データの入力チェックを行ったり、効率よくデータを入力するための支援機能を組み込んだりできます。 ・「レポート」  印刷物を作成するために使います。 ・「マクロ」「モジュール」  DBアプリを使いやすくするために必要です。

mimizuku
質問者

補足

回答ありがとうございました。データベースアプリケーションという言葉は初めて聞いたのですが、アクセスですと、テーブル以外のすべての機能、すなわち「クエリー、フォーム、レポート、マクロ、モジュール」がすべてデータベースアプリケーションということでしょうか?お忙しいところすみませんが、ご回答よろしくお願い致します。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

多分。分からないのはRDBのことではなく アクセスの操作方法ではないかと思うのですが(^^; あれは非常にとっつきにくいソフトです。 身近にあるRDBと言えば・・・そうですなぁ たくさん所有しているクラシックCDのデータベースと かどうでしょう。 この場合の情報は CDのタイトル・曲目・作曲者・演奏家・出版社・値段などなどが考えられますが。 テーブル一つで作ろうと考えた場合非常に無駄が多い ですよね。 CD1・曲1・作曲者A・演奏家A・出版社A・値段A CD1・曲2・作曲者B・演奏家A・出版社A・値段A CD2・曲1・作曲者A・演奏家C・出版社B・値段B ってな感じになるとどうしても重複するでしょ。 この場合 CD・出版社・値段 曲目・作曲者 演奏家 は別テーブルで作ると無駄が少なくなるし それぞれのテーブルの管理も楽になるというのは 分かりますかね? んでそれぞれのテーブルを関連付け (リレーショナル)させて一つのものとして扱う 訳なんですが。 どうなんでしょ。こんなんで分かりました?

  • Naka
  • ベストアンサー率44% (527/1181)
回答No.1

◆mimizukuさんが、どの程度理解していらっしゃるのか、ちょっとわからないので、私がいつも「生徒さん」に説明するような初歩的な内容のお話をさせていただきます。 例えば、個人の名簿のようなものを考えてください。 そこには、個人の住所、氏名、電話番号、誕生日、会社、などが記載されているものとします。 通常の名簿ですと、これがまとめて、または1枚1枚カードのようになっていて、一括に管理されていますね。 そこから、「神奈川県」に住んでいる人だけを抽出しようとすると、それを1件ずつ見ていって抜き出す、という作業をしなければなりません。 だったら、住所の都道府県別に分けておけばいいだろう、ということになるのですが、そうすると今度は「9月が誕生日の人だけ選びたい」というとき、また大変な作業になりますよね。 このように、個々のデータはその種類や項目に応じて分けておきたいのですが(テーブルと言います)、そのためにはテーブルごとに名簿を用意しなければなりません。 Accessなどのデータベースソフトは、それを必要に応じて自動的にやってくれます(クエリーと言います)。 そして、必要な情報だけを検索・抽出して、新たなデータの集合を作ることができるのです。 手順としては… 1.まずデータの入れ物となる「データベース」を作成します。 2.データの項目を定義して、テーブルを作成します。 入力する項目を「フィールド」、個々のデータの集まりを「レコード」と言います。 3.各場面で必要なデータを検索したり、加工をしたりするためのクエリーを作成します。。 4.データを入力するための画面(フォーム)を作成します。 5.レポート(全体の調整、印刷するためのフォーマット)を作成します。 という流れになります。 また、マクロを用いることによって、作業の自動化を行うこともできます。 具体的な操作については、何か1冊、わかりやすい参考書を買ってきて、実際にやってみるのが一番だと思います。

関連するQ&A

  • アクセスとデータベースの勉強について

    仕事で使うので、アクセスとデータベースの勉強をしたいと思っています。 が、田舎のため書店にあまり専門的な本がありません…。 アクセスの本はなんとか数冊ありますが、内容が既知のものばかりです。 そこで、ネットから購入しようと考えているのですが、オススメのものありますか? 現在の職種とスキル、今後の希望は以下のとおりです。 職 種:事務職 スキル:初級シスアド・MOSアクセス・ExcelVBAの記述(中級程度) 希 望:アクセスVBAとフォームの応用を学びたい。     同時によりデータベースへの理解を深めたい。 技術者になるつもりはないのですが、仕事で扱う情報量がエクセルでは重過ぎるため、今後はアクセスに切り替えていくようにしたいのです。(現在はエクセルで時間をかけて処理していますが)それにしてはもう1歩、知識と技量が足りないというか…。 デキがいいほうではないので、出来れば順を追って理解していけるようなものを探しています。 どうぞよろしくお願いします。

  • データベースの形式について

    データベースの形式にはツリー形式と表形式のものがあるということを聞いたことがあります。 表形式はリレーショナルデータベースのことで現在の主流のデータベースの形式ということがわかるのですが・・・。 (1)ツリー形式のデーターベースとはどのようなものなのでしょうか、いわゆる昔あったカード型のデータベースといわれているもののことなのでしょうか?データベース=表形式と思っていましたのでイメージが湧きません、いったいどのようなものなのでしょうか?。 (2)上記のツリー形式のDBと表形式のDBには互換性があるのでしょうか?、たとえばツリー形式のDBを表形式のDBに置き換えることは簡単にできるのでしょうか、困難(不可能)なことなのでしょうか? なにかアドバイスなどいただけないでしょうか

  • ACCESSフォームでDB操作するには

    Access2002で、フォームを作ってDBを操作しようと思って、ためしにフォームを作ってみました。 ところが、プログラム開発は10年近く前にやったのが最終で、 オープン系の開発経験が希薄なため、この後がさっぱりわかりません。 一応、クエリを作ってみたりしたのですが、さっぱり・・・。 フォームはDB構造とは、異なる設計にしたので、 ACCESSの解説書にあるような単純な動作を構築することはできません。 VBAを使わないとできないと思うのですが、いまいち書籍の説明がわかりません。 データベースをオープンして、値を処理させて、 ポインタを移動させて、DBに書き込んで、DBをクローズする、汎用機系の処理では、理解が及びません。 一応、SQLの知識はあるつもりだったのですが・・・。 何かこれから先に進めるために、ヒントとなるようなものは無いでしょうか・・。 質問自体が、あいまいで、恐縮してしまいますが、何とか前に進めたいので、どうか、何でもいいので、アドバイスよろしくお願いします。

  • リレーショナルデータベースとは

    アクセスを勉強中のものです。 リレーショナルデータベースとは 平たく言うと 「テーブルを基にしたデータベース」 と言う認識であってますか? ご教授よろしくお願いします。

  • ACCESS2003のファイルが、ACCESS2000で開かなくなりました。

    ACCESS2000で作成した自作データベースが、ACCESS2000で開かなくなりました。 今まではそのDBにACCESS2000からも、ACCES2003からも接続して仕事に活用していましたが、数日前からはACCESS2003でしか開きません。 どうすればACCESS2000でも開くことが出来るのでしょうか? 下位互換という機能があるようなのですが、HELPで見ても理解できませんでした。 よろしくお願いします。 

  • ACCESS2003のファイルが、ACCESS2000で開かなくなりました。

    ACCESS2000で作成した自作データベースが、ACCESS2000で開かなくなりました。 今まではそのDBにACCESS2000からも、ACCES2003からも接続して仕事に活用していましたが、数日前からはACCESS2003でしか開きません。 どうすればACCESS2000でも開くことが出来るのでしょうか? 下位互換という機能があるようなのですが、HELPで見ても理解できませんでした。 よろしくお願いします。 

  • Access2000でデータベース作成、分かりやすい解説本

    論文や専門図書、新聞記事などの抄訳について、データベースを構築することを考えています。データベースのソフトはAccess2000を予定しています。 いくつか解説本を見たのですが、顧客管理や販売管理のデータベースの事例は載っているのですが、文献や抄訳をDB化する事例が見当たりません。 ズバリ的中した解説本は少ないのでしょうが、文献と抄訳などのテキストデータをデータベース化する実践例や参考例が掲載されている解説本やWebサイトをご存知でしたら教えてGoo!

  • Access2000について

    Access2000を使用してデータベースを作っています。 マスタファイルを管理者以外の利用者からアクセスできないところに置きたいのですが何か方法はないのでしょうか? 環境としては、以下のような環境です。  OS :Windows2000/XP  DB :MS Access2000(その他のDB(SQLserver)は使用していない)    現在の構成:   各パソコンに画面&処理用のデータベース(xxx.mdb)を配布し、マスタファイルは、ネットワークで共有しているフォルダにあるマスタファイルにテーブルリンクしている。

  • ACCESSで、簡単なカード型データベース

    ACCESSで、簡単なカード型データベース  WindowsXPのもとで、  ACCESS2002  を動かしているのです。  何とか使いこなせるように四苦八苦しているのですが、なかなかマスターできません。  ACCESSには、作成するサンプル練習問題が作ってあってこの順序通りを入力すれば、データベースを作れるようになっています。  しかし、この入力が何を意味して、どのような意図で、この入力をしているのか分かりにくく、途中で入力をあきらめてしまうか、中断してしまいます。  意味が理解できず、また、言葉が理解できないです。  できる人には、まだ、努力が足りないの一言ですが、作りたいのは、練習問題のような複雑なデータベースではなく、ひとつのデータベースのみの 簡単なカード型データベース を作りたいのです。  もともと、ACCESSが、カード型データベースを意図したものでなく、 リレーショナルデータベース を意図して作成されているので、どうしても、練習問題も、複数のデータベースとの関係を関係付ける説明になります。いろいろの複数のデータベースを関連付けることができます関連付けのいろいろな機能を使用できます。  となります。  簡単なひとつのデータベースのみの 簡単なカード型データベース の作り方がホームページに解説があれば、初心者には、これをなぞればよく、導入しやすい便利だと考えるしだいです。  作るうえで、何か要領がありましたら、よろしく教授方お願いします。  敬具

  • リレーショナルデータベースの概念とエクセルのマクロとVBA

    よろしくお願いします。 2つあります。 1.リレーショナルデータベースの概念とはどのようなものなのでしょうか?会社から「リレーショナルデータベースの概念は理解している?」と聞かれたのですが、正直言ってどういうものかわかりませんでした。 2.エクセルのマクロとVBAとはどう違うのでしょうか?私は同じような気がするのですが・・・同じく会社から「マクロとVBAが出来ないとだめだよ」と言われました。 私のスキルとしてはアクセスで簡単なマクロが組めます。 エクセルは簡単なマクロが組めます。 よろしくお願いします。

専門家に質問してみよう