通过 TYPO3 显示数据库中的关系

Display a Relation in Database by TYPO3

我想知道在数据库 (phpMyAdmin) 中 table 之间有哪些关系来创建实体关系模型,但我在数据库的其他任何地方都看不到任何关系。

我用的是TYPO3版本。 10.4.21 带有扩展名:pizpalue 和 sitepackage builder。

我在我的网站包构建器扩展中创建了一个自定义内容元素,我想知道我的数据库中的哪些 table 有某种关系。我的内容元素的所有变量都在 table“tt_content”。

如果我转到我的 phpMyAdmin 并打开“设计器”,那么我可以看到很多 table,但没有关系:

看起来每个 table 都只有一个主键,但没有辅助键(外键)。

我有一些关于我的问题的问题。

  1. table之间有关系吗?也就是说,所有table都是独立的吗?
  2. 我应该使用哪个 table 来创建像 entity relationship modeldatabbase model 这样的图表?

实体关系模型的一个示例是(来源:维基百科):

我的第一个想法是我需要按照 table 来创建图表: pagestt_content,也许还有 be_users。我的图表还需要其他 table 吗?

如果table之间没有关系,我不能在实体关系模型中添加实体(关系),对吗?或者有什么制作图表的好方法吗?

很抱歉我的愚蠢问题。但我不知道 TYPO3 和数据库的 table 是如何协同工作的。

希望有人能给我一些答案或想法。谢谢。

如您所见,TYPO3 由许多 table 组成。这些 table 有不同的任务。
如果你想显示每个关系,你的图表将变得比给出数据印象更复杂。 [1]

由于 TYPO3 是一个 CMS,因此最重要的 table 是构建和包含前端内容的 table。
此选项卡是 pagestt_content,但取决于您安装的扩展还需要 table。

当然还有其他table对前端很重要,如sys_filesys_file_references,它们管理图像等使用的文件(FAL =文件抽象层)。

取决于您使用的功能,其他 table 被使用或忽略:
如果您有前端登录,您可能需要 tables fe_usersfe_groups 来控制内容的可见性。

一般来说,您可以在TYPO3的TCA(Table配置数组)中获得更详细的table关系图。在这里您可以找到所有相关字段的声明,因为它们在 TYPO3 中使用(独立于数据库中的定义)

有关 TYPO3 的更多信息,请访问 https://docs.typo3.org

也许您可以在这里获得更具体的信息:

[1] 几乎每个 table 都有一些公共字段,这些字段与 table 的 pagesbe_usersfe_groups 建立关系构建 back_and 中的数据并控制 front_end.
中的可见性 每条记录都有字段

  • uid(唯一ID)标识记录
  • pid(页面ID,有时也称为父ID):与pages的关系:记录存储在哪里(所有数据都存储在'pages'的树中从 table pages 中的记录构建 pages-records 存储在 pages-records 中构建树(如硬盘上的文件夹)
  • crdate(创建时间戳)
  • tstamp(上次更改的时间戳)
  • cruser_id(创建用户 ID)与 be_users
  • 的关系
  • deleted(删除记录在后台不可见)
  • hidden(后端可见,前端隐藏)
  • starttime(前端可见性开始时的时间戳)
  • endtime(前端可见性结束时的时间戳)
  • fe_groups 根据登录的前端用户控制前端可见性。
  • sorting 记录顺序

语言处理:

  • sys_language_uid 记录语言(与 sys_language 相关)
  • I18n_parent 已翻译记录的(国际化父项)(与相同 table 的关系)
  • l10n_source (localization_source) 翻译来源(与 table 相关)

版本控制:

  • t3ver_oid(TYPO3 版本原始 ID)(与 table 相同)
  • t3ver_... 版本控制信息

类别:

  • category(与sys_category相关)

最后一个字段是间接关系的一个很好的例子,因为它使用中间 table sys_category_record_mm 作为真实关系。那里有 sys_category 记录的 uid 字段 (uid_local) 和 uid 的字段以及 table 的名称和字段 (uid_foreign, tablenames, fieldname) 引用 tables/fields.
在字段 category 中仅存储引用计数。