0

データベースを設計しましたが、すべて問題ありません。データベース内に Age 列があります。

要件の 1 つは、簡単に選択できるように、年齢を 1 ~ 12、13 ~ 17、18 ~ 25、26 ~ 35 などのカテゴリにグループ化する必要があることです。

これを行う方法に少し困惑していますか?データベースを実際に実装することは求められておらず、ERD を設計するだけです。

誰かが答えるのに十分な情報かどうかはわかりませんので、さらに何か必要な場合はお尋ねください.

編集:

時間の経過とともに年齢が変わることを許可する必要はないと言われました。

4

2 に答える 2

0

情報の損失を最小限に抑えるために、AgeBracket に沿ったものと呼ばれる別の列を追加することをお勧めします。

次に、2 つのことのいずれかを行うことができます。1) update ステートメントを使用する (または挿入で行う)...

UPDATE customer 
SET AgeBracket = case when Age<=12 then '1-12' when Age<=17 then '13-17' .... end
WHERE AgeBracket IS NULL
-- alternative approach    
INSERT INTO Customer(Name,Age,AgeBracket) 
VALUES(@Name, @Age, case when @Age<=12 then '1-12' ....end)`

または 2) 構造を持つルックアップ テーブルを作成し、MaxAge , AgeBracketLabelそれを結合Age<=MaxAgeしてラベルを参照することもできます。これは、より複雑になったり、ブラケットに関する詳細情報が必要になった場合に役立ちます。

于 2013-06-03T12:41:19.010 に答える