【问题标题】:Dynamic SiteMap, BreadCrumb Based Off of Multiple Tables动态站点地图,基于多个表的面包屑
【发布时间】:2012-01-20 21:26:57
【问题描述】:

我有大约 20 个不同的表,每个表都内置了不同的父/子关系。我最近被要求根据所有这些表格为我们的网站创建面包屑和站点地图。

我的一个想法是从这些表中删除父/子关系,并基本上创建一个包含 id 和 parentId 的表,每当我需要拉出父子关系时,我只需加入 parent_child_relationships 表无论我是从哪张桌子上拉出来的。

这有意义吗?

无论如何,这个想法的问题是我不喜欢它。哈哈。

还有其他人对如何做到这一点有任何其他想法吗?或者根据由 20 个左右的表格组成的网站构建面包屑和站点地图的正确方法是什么?

如果有帮助,我的网站由 asp.net、ColdFusion 组成并使用 MSSQL 数据库。

谢谢!

【问题讨论】:

  • 基于表格结构的站点导航通常会导致可用性问题。应用程序的技术后端对最终用户来说并不那么重要。我会独立于您的表结构来处理导航(面包屑、信息拱等)。
  • 那么你作为开发人员的工作就是执行这个“愿景”——将前端和后端联系在一起:)

标签: asp.net coldfusion parent-child sitemap breadcrumbs


【解决方案1】:

不要让 UI 的实现影响您的模型设计,尤其是您的数据库。制作前端原型,让您的客户参与进来,让他们发表意见。构建您的面包屑和站点地图,而不会将其最初绑定到您的实际数据库中。一旦您的客户说“这就是我们想要的,就像那样”,然后冻结原型,然后进行实际实施 - 您的应用程序将如何请求数据,您将使用什么类型的数据对象,然后构建您的数据库,

“我的一个想法是从每个表中删除父/子关系,并基本上创建一个包含 id 和 parentId 的表”

这不是一个非常可扩展的解决方案,不要 *reverse normalize 你的数据库。遵循标准关系数据库建模/规范化技术。很多小的连贯表和很多关联表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多