我们如何在架构中将所有Page系统对象绑定在一起?

时间:2011-01-24 04:45:00

标签: mysql database database-design

我有一个页面。页面有表格。表格有字段。字段有价值。 页面还有菜单,文本,标签。与表单,字段,值共享。 一些文本是链接。一些菜单是消息窗口。

我想要做的事情将它们联系在一起,这样我就可以实现用户跟踪(链接跟踪,现场跟踪,页面跟踪等)。我认为策略是这样的:
1)为每种类型(链接,页面,字段,值,表单,文本,标签,菜单,窗口)创建查找表 2)使用FK将所有表格联系在一起? (这是我迷失在哪些FK与谁有关,如果它有意义的话,因为如果我必须每次在页面加载时加入5个表来提取信息并写入活动表从这些读取它将影响性能很多用户)。那么这在现实世界中是如何实现的?

字段值查找等一些数据来自不同的表,如“城市名称”,“公司名称”等。所以这些不能在1表中。

该网站是一个社交网络。正在为网站和移动应用程序构建用户跟踪,因此常见的表格。平台是php / mysql。

1 个答案:

答案 0 :(得分:1)

这是一个基本的表设计问题。

第一个概念。就像桌子一样。所以你至少有页面,表格和字段的表格。表格有FK到页面,字段有FK到表格。一旦我们对此进行了整理,值可能会更好地作为后续问题。

菜单通常作为层次结构存储在一个表中,通常是menuId,parentId,text,link。

到目前为止,这给了我们四个表,其优点是组织得很好,但是我们遇到了在每个页面加载上组合所有这些的问题,以及所有这些连接。

那么数据有多稳定?如果它非常稳定,您可以预先生成大量HTML到缓存文件中,只有在数据更改时才会更改。如果数据每周或每周更改一次,那么性能会更高。如果数据每分钟都在变化,您必须保持动态。