4 返信 最新の回答 日時: Oct 28, 2015 11:58 PM ユーザー:user25748

    DBにおいて、外部キーは手入力(コピペ)なのでしょうか。

    user25748

       DB初心者です。宜しくお願いいたします。

       

       RDBMにおいて、仮に2つのテーブルをつなげる際、

      それぞれのテーブルに主キーを置き、それを外部キーとして

      一方のテーブルに置くと理解しています。

       

       この外部キーは、自動で入力されるということではなく、

      手入力(コピペ)で入力をするものである、という認識で合っていますでしょうか。

       

       ただ、この考え方ですと、顧客一人ひとりに顧客ID(主キー)が付与されており、

      それをいちいちコピペすることになります。

       

       そうなると、いちいち検索してコピペをしていくことになります。

       

       果てしない作業に思えるのですが、これを行わないことには

      データは繋がらないと思います。

       

       抽象的な話で誠に恐縮ですが、考え方をご教示頂けましたら

      幸いです。

        • 1. Re: DBにおいて、外部キーは手入力(コピペ)なのでしょうか。
          user14047

          リレーショナルシップグラフの設定で、[このリレーションシップを使用して、このテーブルでのレコードの作成を許可] にチェックを入れておくと、ポータル上に新規入力用の空行ができて、この空行のどこかのフィールドに入力すると自動的に外部キーが入力されます。

          • 2. Re: DBにおいて、外部キーは手入力(コピペ)なのでしょうか。
            user25748

            user 14047 様

             

             ご教示ありがとうございます。

             

             早速試したところ、自動で入力がされました。ありがとうございました。

             

             ご教示頂いた方法は、これから新しい情報を一つ一つ入力する場合に有効と思いました。

             

             既存の、すでにデータが入っているファイルメーカーファイル同士をつなげる場合は、

            一度CSVなどにして、仕組みを作ってから再度ファイルメーカーファイルに読み込みをする、

            というやり方をするのでしょうか。

             

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

             

             実は、今学園の卒業生に向けたセミナー出席簿を作成しています。

             

             今後出席者がどのセミナーに参加をしたかを記録していく予定です。

             

             セミナーのデータベースを作成しました。

             

             セミナー毎にUUIDを振っています。

             

             このような場合は、出席者のレコードにセミナー毎のUUIDをコピペで入力していく、

            というやり方は妥当なやり方なのでしょうか。

             

             今は、人数が少なくそれほど手間ではありません。

             

             ただ、やり方がどうもアナログだな、というのが正直なところです。

             

             今後は膨大な卒業生名簿とつなげたいと思っています。

             

             以上のようなことは実現できるのでしょうか。

             

             不躾で申し訳ありませんが、ご教示頂ければ幸いです。

            • 3. Re: DBにおいて、外部キーは手入力(コピペ)なのでしょうか。
              user14047

              どのデータとどのデータを結び付けるかを自動では当然できません。

               

              [セミナー] - [セミナー出席者] - [卒業生名簿]

              というようなテーブル構成になるかと思うので、卒業生名簿で検索した結果の卒業生名簿IDをセミナー出席者テーブルにインポートして外部キーであるセミナーIDを全置換するなどのスクリプト化は簡単にできそうですね。

              スクリプトの内容については、作業フローによって変わってきますので、いろいろ工夫してみてください。

              • 4. Re: DBにおいて、外部キーは手入力(コピペ)なのでしょうか。
                user25748

                user14047 様

                 

                 ご教示ありがとうございます。

                 

                 全置換を使って、該当レコード全てに一度に入力をする、ということなんですね。

                 

                 たしかに該当レコードを絞り込んで、一気に全置換するスクリプトは、自分でも

                出来そうな気がします。早速挑戦してみます。

                 

                 いつもご教示ありがとうございます。

                 

                 今後ともどうぞよろしくお願い申し上げます。

                 

                 まずはお礼まで。