数据库设计-当一条记录具有多个属性时



我正在尝试设计一个数据库,但不确定如何处理这种情况。

假设我有一张有地理位置的表——几十万个。

现在假设我想为"小部件"存储数据。理论上,每个小部件都有一个"级别",对应于每个地理位置——有些小部件的"级别"为0或NA,其他小部件则有其他不同的值。每个小部件还有一个"级别",用于数百个地理位置的任何组合。例如,如果小部件A在芝加哥的级别为10,在纽约的级别为20,那么它在(芝加哥+纽约)的级别也为30。我没有能力存储每个小部件级别的所有地理位置组合(即,我无法访问所有这些数据)。

相反,我希望存储用户输入的每个小部件的级别。因此,用户可以根据自己的选择获得这些级别值(即,使用他们想要的任何地理位置组合)。他们告诉我这是什么小部件,他们选择了什么地理位置组合,以及级别的价值。

如何存储此数据?

答案可能非常简单,我可能只是没有正确思考,但任何帮助都将不胜感激!谢谢

听起来你可以做这样的事情:

  1. 带有PK GeoLocationID 的地理位置表

  2. 具有PK UserID 的用户表

  3. 带有PK WidgetID的小部件表
  4. 窗口小部件地理位置组合的用户定义级别表,即

    表用户小工具位置(

    UserID PK FK,
    WidgetID PK FK,
    GeoLocationID PK FK,
    Level )
    

我要在黑暗中试一下,看看我是否理解你的要求。我的意思是,这是最基本的格式,您不编辑当前使用的任何小部件,只想将用户输入存储为总和和连接的地理名称。

对于地理位置:

Geo_ID (INT) | Geo_Name (VARCHAR) | Geo_Value (VARCHAR) | ...Other Info...

对于小工具:

Widget_ID (INT) |  Widget_Name (VARCHAR) | ...Other Info...

对于小工具事件:

Event_ID (INT) | Widget_ID (INT) |  Geo_Sum (INT) |  Geo_Names (VARCHAR) | ...Other Info...

最新更新