zfybs
2015-05-27 04:15
采纳率: 0%
浏览 5.1k

数据库设计:数据表的对象的属性

问题比较简单,
在某个地区有A1、B、C、D、E等区域District,每个区域中又分几个小区域Region(如东西南北),在程序设计中,每个Region中都有两个属性(一个是工作完成的日期,一个是此Region所属的District),然后此Region中就是它每一天所对应的工作数据, 另一方面,每个District对象中也有一些属性值,这此“属性”下都只有一个值。

图片说明

我想问一下,这样的结构应该怎样来设计数据库?
District和Region中那几个属性一共就几个数据,应该怎么来单独地将其保存呢,难道用一个专门的表格来放那几个值?

我以前是在Excel中做的,数据表格的形式如下:
图片说明

图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 知常曰明 2015-05-27 04:47
     表1:Region
    Id
    Name
    Area
    DimX
    DimY
    
     表2:District
    Id
    RegionId ==>Region.Id
    Name
    
    
     表3:BusinessData
    Id
    DistrictId ==>District.Id
    Date
    BusinessScore
    
    打赏 评论
  • zfybs 2015-06-03 01:19

    我有两个问题:

    第一:Region是属于大区域District之中的,难道不是每一个Region中有一个District字段吗,为什么是每一个District表中有一个Region字段?

    第二:在表3 BusinessData中,DistrictId只有几个值,而每一个DistrictId中都有一个Date与BusinessScore对应的数据表,按您的表3的意思,可能很多个Date-BusinessScore数据行都对应同一个DistrictId,如下图。我想问一下,我觉得这种方式有太多的重复的数据了,而这种方式与 为每一个DistrictId创建一个表的方式相比,其优点在哪里啊?(我是真想弄明白,不是质问您。)

    图片说明

    最后,还有一个小疑问: — — 如果我想在SQL中定义枚举类型,用来限制某列数据的输入,应该怎么定义啊。我听说可以通过外键实现,但是外键只能关联到一个表的主键,那么如果我有很多个枚举类型的那,岂不是要为每一个枚举类型创建一个表了吗,请问一下有没有什么好方法啊?

    打赏 评论

相关推荐 更多相似问题