代码之家  ›  专栏  ›  技术社区  ›  Milind Ganjoo

在数据库架构中存储学校名称

  •  1
  • Milind Ganjoo  · 技术社区  · 14 年前

    我正在为一个事件注册系统设计一个模式,它将涉及来自许多不同地区的学校的学生。我的主要问题是在数据库中存储学校名称的方法。

    考虑到学生将分别注册,同一学校名称的拼写变异很可能会随着时间的推移而累积。我想要一个简单的方法来清除这些,特别是因为我们想要收集的统计数据之一是注册参加活动的学校和机构的数量。

    我在争论 school_name 作为 Participant school_id School 桌子(想不出别的办法)。在存储利用率、清除重复数据的方便性和其他因素方面,哪种方法更有效?

    4 回复  |  直到 13 年前
        1
  •  2
  •   FrustratedWithFormsDesigner    14 年前

        2
  •  2
  •   Ben S    14 年前

    最好将ID作为外键存储到School表中,因为这样可以减少重复。

        3
  •  2
  •   APC    14 年前

    “哪一个更有效率 当涉及到使用 存储,易于清除副本 数据和其他因素?”

    储存是便宜的,时间不是。因此,选择一种方法,通过提供预先准备好的学校列表,并强制使用外键,可以最大限度地减少重复数据消除所花费的时间,并为用户节省一些打字时间。

    当然,这意味着您必须获得这样一个列表,并提供一种搜索它的机制,这不可避免地比给用户一个自由文本框要费劲。没有什么是容易的:)但自由文本是标准化的敌人,所以尽可能避免它。


    根据您的个人资料,您位于新加坡。如果这是你的申请的基础,你可能会发现 this Wikipedia page Find out more .


    “自动完成”字段是否用作 灵活替换下拉菜单?'

    他们能做到。但它们可能会让人非常恼火,尤其是当它们让我们很难保证我们选择了我们想要选择的价值时。我发现那个 tag

        4
  •  0
  •   Donal Fellows    14 年前

    学校名称