このたび、あるチケット販売的なサイトを製作することになりました。
特定日時におけるあるイベントを1レコードとして設計を考えています。
このとき、同じイベントでも、日付が違う場合は、内部管理として、
1 2003-05-25 ○○ライブ
2 2003-05-26 ○○ライブ
二つに分けようと思っています。
ただ、表示は
5/25(月)~26(火) ○○イベントのように一行としたいと思っております。
この場合、表示用の文字列を別にフィールドとして追加したほうがよろしいのでしょうか?
1 2003-05-25 5/25(月)~26(火) ○○ライブ
2 2003-05-26 5/25(月)~26(火) ○○ライブ
それともフロントのプログラムのほうで無理やり表示用に変換したほうがいいのでしょうか?
スマートにできるノウハウご存知でしたら教えてください。
PS/このようなケースの場合、キーは連番または、日付どちらが都合がよいのですか?
No.2ベストアンサー
- 回答日時:
データベースソフトを使用するときには、「同じデータを重複して保存しない」のが普通です、
ご質問の場合ですと、クエリを作って、それを表示用とします。私がNo1で例示したテーブル構造の場合、クエリのフィールドは次のようになります。
公演番号(グループ化)
ライブ番号(グループ化)
会場番号(グループ化)
日付の最小値
日付の最大値
※クエリの作り方はソフトによって違います。
No.1
- 回答日時:
これだけの情報では、全体が見えてきませんが、販売のサイトということで、一応
ライブ名、アーティスト、単価、数量
会場、会場の定員、日付
という項目を考えました。
私が考えたテーブル構造は
ライブテーブル
ライブ番号(キー)、ライブ名、アーティスト
会場テーブル
会場番号、会場名、定員
公演テーブル
公演番号(キー)、ライブ番号、日付、会場番号
座席単価
公演番号(キー)、座席ランク(キー)、単価
申込テーブル
申込番号(キー)、公演番号、座席ランク、数量
です。
もっとも、たとえば「○○全国ツアー」を一つのライブ番号にするか、会場ごとに違う番号にするかで、テーブル構造は違ってきますし、「○○全国ツアー」で一つの番号にするにしても、すべての会場で単価が同じであるか、会場ごとに単価が違うのかでもテーブル構造は違ってきます。上に挙げた例は
(1) 全国ツアーを一つのライブ番号とする
(2) 座席にランクがある
(3) 会場ごとに単価が違う
(4) 同じ会場で複数の日程がある
(5) 同じアーティストで同日の公演は一つ
(6) ライブに出演するアーティストは一組(一人)
という条件で設定しています。
ノウハウに関しては「データベースの基礎」みたいな書籍を参考にしてください。
この回答への補足
回答有難うございます。
テーブル構造参考になりました。
今回は音楽ライブに限らず、スポーツや演劇などのイベント全般を扱います。
説明不足ですいません。
特にお聞きしたいことは以下の通りです。
例えば、データベース上は、05/25と05/26は別々のレコードとして存在するが、表示する際は、「5/25(月)~26(火)」「5/25(金)18:30、7(土)18:00 」のような文字列で表示したい場合に、この文字列を保存する為のフィールドを作って05/25と05/26のレコードにそれぞれ同じものを保存する方法がスマートな方法なのかどうかということです。保存しない場合は、プログラム上でやるしかないのでしょうか?
一般的にどのよな手法が使われているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ライブ・コンサート・クラブ 日産スタジアムで再び大型ライブ開催!? 1 2022/06/08 18:30
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- ライブ・コンサート・クラブ 人生初のライブに行ってきます。 2 2023/06/06 17:17
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- 婦人科の病気・生理 ピルで生理周期を整える(ずらす)方法について質問です。 遠方でのライブ観戦に行くかもしれないのですが 1 2022/10/06 09:00
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessでのレコード存在チェック
-
[Access]異なるレコード間の文...
-
Access:抽出して、色をつけたい。
-
【SQL】existsでの商演算
-
最新の日付とその金額をクエリ...
-
SQLの取得方法について
-
アクセスで「空き番」の確認
-
【アクセスVBA】テーブルにフィ...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
キーが同じを複数行を1行にま...
-
Excelで、改行がある場合の条件...
-
SELECTで1件のみ取得するには?
-
select句副問い合わせ 値の個...
-
SQL文で右から1文字だけ削除す...
-
select insertで複数テーブルか...
-
sqlplusの処理が途中でとまる
-
ファイル書込みで一行もしくは...
-
Excelでセルの書式設定を使用し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
access 自動採番 年が変わる...
-
最新の日付とその金額をクエリ...
-
Accessでのレコード存在チェック
-
【アクセスVBA】テーブルにフィ...
-
アクセスで「空き番」の確認
-
vba 直前の操作はキャンセルさ...
-
条件をつけて日付の古い行を抜...
-
質問です。 下記のテーブルとデ...
-
【Access】選択クエリのグルー...
-
[Access]異なるレコード間の文...
-
Access:抽出して、色をつけたい。
-
Access 文字+年ごとの自動採番
-
Accessで日付が変わると番号が...
-
access 自動採番 「10-AA-000...
-
Recordset.FindFirstについて
-
ACCESSでの行番号の自動採番
-
access2003で学籍番号から生徒...
-
【SQL】existsでの商演算
-
サイベースには、オラクルのROW...
おすすめ情報