初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-10-05 19:03:05

けんじ
Guest

データベース(リレーション)構築について

OS:[windows10]
FileMaker Ver:[FMP13]

野球大会の運営用に当初構築したものを改良するにあたりご教示いただけると幸いです。

元々は連盟内にある50のチームを対象にした大会を運営するにあたり構築しました。
チーム単位にレコードを作成し、そのチームの代表者や大会申込状況の管理をしていました。
最初は継続して使用するかどうかをあまり考えていなかったのですが、今になり改良が必要になりました。

まず最初にですが、
チームの代表者が毎年変わるので、当初作成した代表者名というフィールドを上書きせずに年度ごとに新たにフィールドを作成
(例えば「代表者名2015」、「代表者名2016」)して、チームの代表者情報を入力するレイアウトも同じもの複製し、レイアウトを切り替えて使用していたのですが、年を重ねるごとにフィールドが恐ろしく増えてしまい、今では何が何だか分からなくなってしまいました。
(名前だけでなく「連絡先」や「メールアドレス」など10ほどの項目があります)
チームをレコードの作成単位にしたので、新規レコードを作成するわけではない状態です。

独自に調べたところ、「チーム情報テーブル」と、「代表者情報テーブル」に分けて設計すればよかったのではないかと思います。
実際には、チーム情報はレコードとして追加せずに、各年度の代表者の情報更新があった際にそちらだけを新規レコードとして作成追加していくようにするにはどの様にデータベースを改良すればよいのでしょうか。

また、選手登録を管理するために、メンバー登録というレイアウトを作成し、名前や背番号を各フィールドとして作成しましたが、こちらも同様にフィールドが膨大になってしまい管理がしにくくなってしまいました。
例えばですが、レイアウト名「2016年選手登録」に、その中身を構成するフィールドが「2016選手①名前」「2016選手①背番号」「2016選手②背番号」...という形です。
こちらも各年度ごとにうまく管理するにはどうすれば良いでしょうか。
基本的には最初のチーム情報と代表者情報に分けて管理する形と同様でよいかと思っているのですが、頭がこんがらがってしまいまして。

更に当初は全く想定をしていなかったのですが、1つの大会に1つのチームから複数登録があった場合に、
(例えば、東京ジャイアンツというチームの大会参加があり、チームの人数が多いのでジャイアンツA、ジャイアンツBと参加)
選手登録を管理をする場合はどのように構築すればよいでしょうか。
Aチーム・Bチームと別々に参加しているが、ジャイアンツという1つのチーム情報の中に、複数の参加チームがありその選手登録を管理したいのですが、どのようにテーブルを作成すればよいのかが知りたいです。

いずれの場合も、各テーブルごとにデータを構築し、リレーションをすれば解決するのではないかと解釈しておりますが、リレーションそのものをあまり理解できておらず、長々とした文章になり大変恐縮ですが、よろしくお願い致します。

#2 2016-10-05 23:52:50

旅人
Member

Re: データベース(リレーション)構築について

入力用テーブルを作って、フィールドは年度とチーム名
代表者テーブルを作って、フィールドは年度とチーム名と代表者の連絡先など
選手テーブルを作って、フィールドは年度とチーム名と選手名と背番号、守備位置など

入力テーブルと代表者テーブルを年度とチーム名でそれぞれリレーションして
入力テーブルに代表者テーブル::代表者名やその他の関連フィールドを置いて
これに代表者情報を入力。

同様に
入力テーブルと選手テーブルを年度とチーム名でそれぞれリレーションして
入力テーブルに選手テーブルのポータルを作って、選手テーブル::選手名などを入れて
ここの各行に選手情報を入れる。

複数登録があった場合も別チームとしたらいいのでは。

Offline

#3 2016-10-06 11:41:45

yaya
Member

Re: データベース(リレーション)構築について

年度ごとにファイルを分けてしまう手もあります。
年度変わりにファイルを複製して、代表者や選手の入れ替わりだけ修正すれば済みます。

Offline

#4 2016-10-06 14:06:21

Shin
Member

Re: データベース(リレーション)構築について

年度ごとのファイルで、実質問題無く使えるかもしれませんね。

統合的に管理するには、団体名テーブルと所属員(管理者、監督、選手)をすべて(過去から現在まで)登録していくテーブルを作ります。
別に、出場毎のチームテーブルを作り、チームの代表者と構成員をそのテーブル内に繰り返しフィールドで入力するか、別テーブルに入力すると良いかと思います。
この2系統を、適当にリレーションしておけば、例えば、所属員のクリックでチーム構成を入力できる、などの動きを作れるでしょう。
今のファイルからは、インポートしていけば、比較的簡単に移行できると思います。

Last edited by Shin (2016-10-06 23:13:09)

Offline

#5 2016-10-11 17:42:47

けんじ
Guest

Re: データベース(リレーション)構築について

旅人様、yaya様、Shin様

皆様、ご回答ありがとうございます。
いただいた内容でひとまずチャレンジしてみようと思います。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 513.17 KiB (Peak: 517.71 KiB) ]