1

我想将以下范围存储在一个表中,template01 中的项目数是 6,第二个是 4。我们如何构造表来存储这些信息。将这些值显示为逗号分隔或为每个范围值设置一列将是我的最后一个选择。您能否帮助了解如何构建表格以存储以下信息。

Template01      0      10       20         30      40       50
Template02      0      50      100        150
Template03      0     100      200        300     400      500      600 

基本上,我想将这些范围存储为模板,然后用它来说明如果行李重量在 0 到 10 之间,每公斤的价格为 5 美元,如果是 10 到 20 美元,则每公斤的价格为 4.8 美元等

这就是模板的使用方式,

Domain: XYZ
Template01      0      10       20         30      40       50
Increment01%   125%    120%      115%       110%    105%    100%

Domain: ABC, am using or picking the same template 'Template01' but Increment% 
will be different for different domain, hence

Template01      0      10       20         30      40       50
Increment02%   150%    140%      130%       120%    110%    100%

想法是,我想存储重量休息的模板,然后我想与不同的 Increment% 相关联。因此,当用户选择一个重量中断模板时,可以显示所有适用于该模板或为该模板配置的增量百分比值,供用户选择。

Template01      0      10       20         30      40       50
Increment01%   125%    120%      115%       110%    105%    100%  [Choice 1]
Increment02%   150%    140%      130%       120%    110%    100%  [Choice 2]
4

2 回答 2

5

标准方法是:

Template_Name  Weight_From  Weight_To  Price
-------------  -----------  ---------  -----
Template01     0            10         5
Template01     10           20         4.8
...
Template01     40           50         ...
Template01     50           (null)     ...
Template02     0            50         ...
...
Template03     500          600        ...
Template03     600          (null)     ...
于 2013-03-19T10:53:13.200 回答
1

对于规范化模式,您需要有用于模板、增量、模板权重和增量因子的表。

 create table luggage_weight_template (
   luggage_weight_template_id number primary key,
   template_name varchar2(100) unique);


 create table luggage_increment (
   luggage_increment_id number primary key,
   increment_name varchar2(100), 
   luggage_weight_template_id  references luggage_weight_template(luggage_weight_template_id)); 


 create table template_weight (
   template_weight_id number primary key,
   luggage_weight_template_id references luggage_weight_template(luggage_weight_template_id),
   weight_from  number not null);


 create table increment_factor (
   increment_factor number primary key,
   increment_id references luggage_increment(luggage_increment_id),
   template_weight_id references template_weight(template_weight_id));
于 2013-03-19T17:46:16.043 回答