

DBに、受注曜日を保持しなければなりませんが
みなさんはどのようなカラム構成にしますか?
1)受注曜日1(日曜日を表す)~受注曜日7(土曜日を表す)の7項目を設け、
それぞれにON/OFFをセットする
例:月・水・金が受注日の場合、受注曜日2、4、6は1、その他はZERO
2)受注曜日1(1つ目の受注曜日を表す)~受注曜日7の7項目を設け、
受注曜日1から順に、曜日を表す区分をセットする
例:月・水・金が受注日の場合、受注曜日1=1、受注曜日2=3、受注曜日3=5、
受注曜日4~7はNull
3)受注曜日を7桁で設け、日曜日から順に受注曜日にはBitを立てる
例:月・水・金が受注日の場合、受注曜日=0101010
4)受注曜日を7桁で設け、受注曜日を表す区分をセットする
例:月・水・金が受注日の場合、受注曜日=135
以前、別のシステムでは2)を使用したのですが、ちょっと不評だったような・・・
ご経験のある方、アドバイスお願いします。
ちなみにDBはOracle8.1.7、この受注曜日を追加しようとしているTableは
既にかなりの項目数があります。
くだらない質問ですみませんがよろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
補足ありがとうございます。
なるほど、わかりました。
受注曜日にある程度パターンがあるようなら、これを別テーブルにしたらどうでしょう?
で、受注パターンテーブルにはパターンID+曜日(7つ)のカラムを作成する。
曜日のカラムは、CHAR(1)で0 or 1とかにしておく。
商品マスターにはこのパターンIDを外部キーとして追加。
こんな感じでどうでしょう?
例えば月曜日に発注するものは発注パターンテーブルから月曜日がONになってるIDを検索、この発注パターンIDをキーに商品マスターを検索すれば一覧が作れます。
副照会使って書けば↓こんな感じですね。
SELECT 商品 FROM 商品MASTER
WHERE 商品マスター.発注パターンID IN (
SELECT 発注パターンID FROM 発注パターンテーブル
WHERE 月曜日 = '1'
)
実際の業務での使われ方に則していない可能性もありますが、発注パターンがある程度絞れるなら、これでも充分なパフォーマンスが出ると思います。
No.2
- 回答日時:
何故、受注曜日を横持ちにするんでしょう?
一般的な受注処理なら受注毎に受注番号を振っていくと思うんですが。
で、受注番号をキーに1受注あたり受注日と曜日を1つずつ持てばいいはず。
それとも週単位で受注入力をしているから、といった理由でしょうか?
あるいは受注ではなく配送曜日?
いずれにしても、業務の流れと受注曜日を入力する理由が不明なので、明確な回答は難しいです。
この回答への補足
すみません、補足します。
これは商品Masterで、ある商品の発注サイクル/受注サイクルを持つために
「受注曜日」「発注曜日」を設けることになっています。
この曜日を、自動発注処理・所要量計算に使用することも考えられます。
「受注曜日」はこのMasterの所有者がSellerである際に、Buyerから発注を受け付ける曜日を示します。
説明が下手で申し訳ありません。
No.1
- 回答日時:
どういった内容のテーブルで受注曜日を利用するのかわかりませんが、
4つの選択肢から選ぶとなると
(1)は、カラムが7つ必要なので既にかなりの項目数があるのでしたら
おすすめできません。
(2)は、受注曜日カラムにデータが入っているかまず判定しないといけ
ないのでちょっとつかいづらい気がします。
(3)(4)は、曜日を条件にして検索はしやすいと思います。
ということから(3)または(4)がいいような気がします。
また、他の方法でも可と言うのでしたら
「稼働日」という項目を追加して 1 = 月~金、2 = 月、水、金、3 = 火、木、土
の数値を登録しておき、1、2、3それぞれの意味を「稼働日マスタ」テーブルとして
作成しておけば数値の意味も分かり、結合して稼働日内容表示もできるかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ビジネススキル・経営ノウハウ) 事務してる方教えてください 1 2022/04/14 20:50
- ポイント D払い 松屋テイクアウト キャンペーン いつ貰える? 1 2022/12/18 13:31
- Amazon Amazonで注文した後に自宅からコンビニ受け取りに変更する方法教えてください 表示は〇〇日〇曜日に 1 2023/08/10 22:54
- その他(ネットショッピング・通販・ECサイト) ご注文確認後、3営業日以内に発送致します。と言うことは3日以内に注文したのが自宅に届くということです 7 2023/03/23 18:07
- その他(買い物・ショッピング) 24時間コスメのファンデーションを購入を18時10分頃に購入しました。 ご注文後、通常2~3日以内に 1 2023/05/27 18:46
- 会社・職場 自分火曜日水曜日が仕事がお休みの日なんですが次の日きたら主任に怒られます。 火曜日水曜日の出来事の話 5 2022/11/10 12:53
- 郵便・宅配 コープで金曜日に注文書 出しましたが今日いつもくんで注文する物は金曜日に届きますか? 3 2023/04/01 14:47
- 郵便・宅配 ゆうメールで今回注文したものがあり局留めにしていて明日か明後日には届くと予想はしてますが自分の仕事が 1 2022/08/07 18:16
- その他(ネットショッピング・通販・ECサイト) ご注文確認後、3営業日以内に発送致します。と言うことは3日以内に注文したのが自宅に届くということです 3 2023/03/23 17:24
- 医療 新型コロナワクチン接種三回目の接種券が届きました。予約を入れたいのですが、来週月曜日に身体の痛み止め 1 2022/03/25 00:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのテーブルを分ける理...
-
Accessでクエリの作成、多対1対...
-
こんな関数か式?SQLってありま...
-
重複するデータのデータベース...
-
SQL Server 2005 Expressで営業...
-
受注明細テーブルについて
-
ACCESS VBA クエリを開く
-
Accessフォーム全レコードをPDF...
-
請求先
-
曜日を表す項目
-
Access2021 「ISNULL関数には引...
-
Accessの帳票フォームで重複デ...
-
Excel 2019 のピボットテーブル...
-
INSERT INTO ステートメントに...
-
アリエクで買った商品が破損し...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Oracle 2つのDate型の値の差を...
-
Accessクエリーで両方のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの帳票フォームで重複デ...
-
Accessフォーム全レコードをPDF...
-
あるフィールドの最大値を条件...
-
MS ACCESS 商品価格変更時の該...
-
アクセスのテーブルを分ける理...
-
ACCESS VBA クエリを開く
-
Accessでクエリの作成、多対1対...
-
Excelで重複する情報に番号を付...
-
【Access2000】マシンIDの取得方法
-
フィールド名が取得したい
-
再計算って出来ますか?
-
受注明細テーブルについて
-
SQL文でのDISTINCT
-
accessについて
-
Access2021 「ISNULL関数には引...
-
usingの意味がわからないのですが
-
曜日を表す項目
-
集計結果を別テーブルに更新ク...
-
SQL Server 2005 Expressで営業...
-
【Accessクエリ】存在しないデ...
おすすめ情報