我当然不是Drupal专家,但我之前已经策划并构建了一些数据库,所以我对第三方团队正在研究的数据库结构感到困惑,因为我有Sequel Pro进去添加一些虚拟内容。如果使用Drupal的后端GUI,我认为结构不会很明显,但我没有信用,只有ftp和ssh访问。
我有点惊恐地看不到我想要的单一表格,例如,一个组织,包括ID,姓名,地址,电子邮件,邮政编码等列。
相反,每个数据位都有一个表。也就是说,一个单独的表格用于姓名,地址,电子邮件,邮政编码等等。
从逻辑的角度来看,这看起来非常低效。例如,当加载组织页面时,为该组织加载的每个数据位都是从不同的表中调用并聚合的,而不是通过调用单个表,而是从一行中提取所有数据。
我是否一无所知(是的但是......)或者这是Drupal特有的db结构特性?
答案 0 :(得分:2)
是。 Drupal将字段内容存储在各个表中,以便最大程度地灵活(例如,如果您想在以后的“组织”之外的其他内容类型上重用这些字段),它已经在多连接表中。权衡是性能,Drupal通过缓存等来弥补(例如,当加载该组织节点时,它会对其进行缓存,以便如果在该页面请求中再次加载它,则不需要再次从这些表中读取,例)。由于它是一个功能强大的CMS,可以让您构建和重新构建和重新组织存储内容和字段的方式,因此可以更灵活地存储数据。