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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

4072閲覧

ER図で、順序を表したい。

rink

総合スコア80

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/05/26 14:35

イメージ説明

これはファミレスでのER図を作ってみたものなんですけど、
これに以下の条件を加えてみるといいう問題を解いてみたくて質問しました。
こういうものを触ること自体初めてで、解答を見て勉強をしようと思った次第です。

追加条件

同じ宅の複数の客が新規注文時に異なるセット料理を注文した場合、ある客の料理が遅れて出され、ときにはほかの客が食べ終わった後になることが散見された。そこで、料理を出す順番が特定の客に偏らないようにすることが、新たな要件として追加された、 そこで、、各料理の標準料理時間を今日慮したうえで、厨房用の短評を印刷することにした。これを実現する際の具体的な要件は、次の通りである。
1 料理を前菜、スープ、メイン及びデザートの四つの料理分類に分類する。(図の左下)
2 各料理分類ごとに標準調理時間を定める
3 料理分類に対して、料理を出す順序を定める。(ERずで順序を表すというこの問題が分かりませんでした…)
4 厨房用の短評に、調理に取り掛かる順序を指示する内容を追加する。(二枚目の画像です)
イメージ説明

グダグダですいません…
ER図で、順序を示すやり方が分からず困っています。。。
どなたかこの私にわかるように説明していただけるとありがたいです。
astahを使用しています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ER図はアルゴリズムやビジネスロジックを表現するための図では無いので、

ER図で、順序を示すやり方が分からず困っています。

という考え方をすると難しいと思います。

どのようなデータの持ち方をすれば、後でそのデータを見て順序を把握することが出来るのか
という感じで考えてみると少しは分かりやすくなるかもしれません。


もう少しシンプルなケースを考えてみましょう。
例えば、従業員を年齢順で並び変える事の出来るER図を書け
であれば、
従業員エンティティ(テーブル)に、アトリビュート(フィールド): 生年月日を追加すればOKだとわかるかと思います。
(従業員生年月日テーブルを用意しても可能ですが、一人の従業員が複数の生年月日を持つことはあり得ないので、冗長な設計になります)

質問のケースの場合

[前提]
設問と現在のER図に不明な点がいくつかあり、適切では無い様に思える部分もありますが、
質問文に書かれている図をベースにするものとします。
ここではテーブル=エンティティ、フィールド=アトリビュートとして表現しています。

1 料理を前菜、スープ、メイン及びデザートの四つの料理分類に分類する。(図の左下)

  • 料理分類テーブルを用意する

(提示の図では4つに分かれているが、持つべき情報は同一なので一つのテーブルに纏められる)
(「和風ハンバーグテーブル」が存在しないのと同じです)
フィールド: 料理分類名(PK)を持つようにする

  • 料理テーブル

フィールド: 料理分類名(FK)を追加する。
(料理テーブルと料理分類テーブルはn対1の関係)

これにより、料理がわかれば料理分類が分かるようになり、料理分類が持つデータにアクセス出来るようになる

各料理分類個別の具体的なデータ(スープは15分かかり、最初に提供する等)はレコードとして持つことになるので、ER図には記載しない。

2 各料理分類ごとに標準調理時間を定める

料理分類テーブルフィールド: 標準調理時間を追加する

3 料理分類に対して、料理を出す順序を定める。(ERずで順序を表すというこの問題が分かりませんでした…)

料理分類テーブルフィールド: 提供順序を追加する

4 厨房用の短評に、調理に取り掛かる順序を指示する内容を追加する。(二枚目の画像です)

これはER図の範囲外なのでここでは割愛

投稿2019/05/26 15:28

編集2019/05/26 15:33
tanat

総合スコア18716

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

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

rink

2019/05/26 16:11

この場合、料理分類名エンティティのしゅきーはなんでしょうか?
rink

2019/05/26 16:15

ごめんなさい、料理分類名ですね汗
rink

2019/05/26 16:24

料理分類エンティティには前菜などはいれますか?
sazi

2019/05/27 00:33

料理分類に提供順序の意図が良く分かりません。 注文には関係なく、分類ごとに提供順序を決める?
tanat

2019/05/27 00:42

>saziさん 例えば、 同じ注文の中でスープとメインにそれぞれ分類される料理があった場合、スープが先に提供される という機能を実現する事を想定しています。 料理は注文に紐付いているので、[注文には関係なく]とはならないと考えます。
sazi

2019/05/27 00:52

端的に云うとコース料理などの出す順番として捉えているという事ですか。 >料理を出す順番が特定の客に偏らないようにすることが、新たな要件として追加された。 >各料理の標準料理時間を考慮した上で、厨房用の単票を印刷することにした 同卓のお客様に一緒に料理を提供する為に、順序的なものがあるなら、標準調理時間から調理開始時刻のような類だと思ったので。
tanat

2019/05/27 01:03

> 端的に云うとコース料理などの出す順番として捉えているという事ですか。 そうですね。設問が 料理分類に対して、料理を出す順序を定める だったのでその様に解釈しました。 > 同卓のお客様に一緒に料理を提供する為に、順序的なものがあるなら、標準調理時間から調理開始時刻のような類だと思ったので。 なるほどですね。その観点はありませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問