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

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

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

1回答

1117閲覧

野球のスコアボード DB設計

Meitoku

総合スコア44

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

1グッド

0クリップ

投稿2020/09/28 07:09

編集2020/09/28 07:31

以下のようなスコアボードを実装する時は、数字1つづつにカラムを作成してDBに保存させる必要があるのでしょうか?

DB

idinning_1innning_2inning_3inning_4innning_5
110001

イメージ説明

###考察
初学者で、以上のようなDBしか思いつかないのですが、あまりにもカラムが多いと、良い印象を持たれないイメージがありました
DBにデータを保存、DBからデータを取ってくるにはviewファイル、controllerファイルに結構な量の記述をする必要があり、リファクタリングからは遠いと思いました

###調べたこと
DB関連の書籍はありますが、記載されておらず、ネットで検索しても情報がありませんでした

###試したこと
情報がなかったので試せませんでした

yakumo02👍を押しています

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

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

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

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

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

m.ts10806

2020/09/28 07:15

「Rails」とタイトルに書いてあるだけでほとんど関連性が見えません。 むしろ「データベース設計」のほうが直接関係するのでは。
Meitoku

2020/09/28 07:17

申し訳ありません
m.ts10806

2020/09/28 07:18

謝ってほしいわけではないです。こちらは「質問への追記修正依頼」のコメント欄。 指摘は敵意でもなんでもなく、不足している質問の情報充実をはかってもらいたいためにしています。 質問は編集できます。 自身の考察、調べたこと、試したことも追記してください。
guest

回答1

0

検索性も高い必要はなさそうですし、普通にjsonにして持てば良いと思います
特殊な検索や集計を想定しているならそれなりの持ち方が必要でしょう

投稿2020/09/28 07:12

yambejp

総合スコア116746

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

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

Meitoku

2020/09/28 07:32

回答ありがとうございます それについて勉強したいのですが、参考書籍、記事はございますでしょうか?
yambejp

2020/09/28 12:22

たとえば //score.json [ ["山梨学院","0","1","0","1","0","3","1","2","0","","","","","","","8"], ["白樺学院","1","0","0","0","1","0","0","0","1","","","","","","","3"] ] として
yambejp

2020/09/28 12:22

<script> window.addEventListener('DOMContentLoaded', async ()=>{ const score=await fetch('score.json').then(res=>res.json()); const scoreboard=document.querySelector('#scoreboard'); score.forEach((i,j)=>{ i.forEach((k,l)=>scoreboard.querySelectorAll('td')[l+i.length*j].textContent=i[l]); }); }); </script> <style> table{ border-collapse:collapse; } td,th{border:solid 1px} </style> <table id="scoreboard"> <thead> <tr> <th>SCORE</th> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th> <th>7</th> <th>8</th> <th>9</th> <th>10</th> <th>11</th> <th>12</th> <th>13</th> <th>14</th> <th>15</th> <th>計</th> </tr> </thead> <tbody> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </tbody> </table>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問