質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

0回答

468閲覧

データベース設計:クイズのカテゴリの名前が限られていた場合、データベース設計はどのようになる?

hiei1

総合スコア52

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

0クリップ

投稿2022/06/15 00:16

編集2022/06/15 19:41

私はクイズのアプリケーションを作りたいと思っているのですがその時に作るデータベース設計に悩んでいます。
クイズに多対1でカテゴリカルを作ろうと思うのですがこのカテゴリカルを何種類かで絞りたいと思っています。
例としてプロ野球の球団に関するクイズアプリだとしてカテゴリカルを12球団のみにするようなカテゴリカルテーブルを作りたいと思っています。
今考えていたのは
Categoriesテーブル

カラム名カラムの説明
idint型連番
namestring型カテゴリー名
created_atdatetime型作成日時
updated_atdatetime型更新日時

これであっているでしょうか?
具体的なアプリはユーザが4択問題を出し合うようなアプリを作りたいと思っていました。
その中で

https://www.techpit.jp/courses/8/curriculums/9/sections/70/parts/237

このサイトに載っているテーブル設計を真似しようかなと思いました。
しかし、今は12球団だけなのでCategoriesテーブルを何種類かで絞りたいと思いこの質問をさせていただきました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/06/15 01:23

> これであっているでしょうか? 質問者さんの考えていることや何がしたいのかの詳細が分からない赤の他人にそういう漠然としたことを聞いてもまともな答えが返ってくるとは思えないのですが?
hoshi-takanori

2022/06/15 02:03

created_at と updated_at をどう使うつもりか気になります。現状の 12 球団固定なら不要だし、球団名変更に対応するなら履歴を持ちたいでしょうし、球団統合や新規参入に対応するならもっとよく考える必要がありそうですね。(いま検索したら 16 球団にするなんて話もあるみたいですが、本気かなぁ。)
hiei1

2022/06/15 03:06

新規参入なんかにも対応していきたいので一応その2つをつけました。
hiei1

2022/06/15 03:06

具体的にアプリの詳細も入れておきます。
hoshi-takanori

2022/06/15 04:00

全然具体的じゃないというか、具体的に考えるというのは実際にそのテーブルにどんな値を入れて、具体的なクイズ問題をどう紐づけるか考えるということです。 例えば、現在の 12 球団のデータには「オリックス・バファローズ」が含まれると思いますが、「かつてイチローが所属した球団はどこか?」「野茂英雄が…」という 2 つの問題のカテゴリーはいずれも「オリックス・バファローズ」ということでしょうか?
hiei1

2022/06/15 04:15

知識不足ですいません。そのように考えていました。近鉄とオリックスはバッファローズとして同じなのでオリックスバッファローズで問題を出そうと思っていました。その選手が今ある球団のどこか(球団名が変わっても)にいる場合いた時代の問題ならそのカテゴリに投稿できると考えていました。しかし、その選手がfaなどでいなくなった後の問題が設定されないようにすることは考えていないのでそこはユーザーの問題作りに任せようとしていました。
hiei1

2022/06/15 04:29

近鉄にいて楽天に行った場合は楽天に問題を書く感じです。
hiei1

2022/06/15 04:29

近鉄で一筋で野球を終えた場合はオリックスに書く感じです。
hoshi-takanori

2022/06/15 04:30

こちらこそ最近のプロ野球は見てないので、古い話を持ち出してごめんなさい。私が言いたかったのは、中途半端に「新規参入なんかにも対応していきたい」なんて言うと考えることが増えすぎて大変なので、とりあえず現在の 12 球団固定で構わないと思うし、そうすると created_at も updated_at も不要では (というか、実際にどんな値を入れるのか想像できない) ってことです。 参考にした記事ではすべてのテーブルに created_at と updated_at がありますが、たぶんどのテーブルにもユーザーが新しく情報を登録したり編集できるようにってことなんでしょうね。カテゴリーを球団名にこだわらず、あとから追加もできるようにしたいということならもちろん意味があると思いますよ。
hiei1

2022/06/15 04:36

そうですね。構造は簡単にしていきたいと思います。
YT0014

2022/06/15 09:57

先にクイズの問題をある程度作成されてはいかがでしょうか? その後、必要なカテゴリーを決めることをお勧めします。
hiei1

2022/06/15 10:04

まずはクイズのテーブルを作ってからユーザーやカテゴリのテーブルを作っていく感じですか?
YT0014

2022/06/15 10:36

いえ、クイズの問題そのものを、ある程度作ってみては?というご提案です。 カテゴリーを球団別にした場合、球団を選択肢にした問題、複数在籍した選手に関する問題、消滅したトンボや松竹などの問題、など、管理が難しくなるものが発生しますので。 実体が見えないままでは、正しい設計もできないかと。
hiei1

2022/06/15 10:41

なるほど、ありがとうございます。そうしてます。野球詳しいですね...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問