【问题标题】:Display a Relation in Database by TYPO3通过 TYPO3 显示数据库中的关系
【发布时间】:2022-01-12 15:34:13
【问题描述】:

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

我使用 TYPO3 版本。 10.4.21 扩展:pizpalue 和 sitepackage builder。

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

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

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

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

  1. 表之间是否存在关系?换句话说,所有表都是独立的吗?
  2. 我应该使用哪些表来创建像 entity relationship modeldatabbase model 这样的图表?

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

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

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

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

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

【问题讨论】:

    标签: database typo3 relational-database


    【解决方案1】:

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

    由于 TYPO3 是 CMS,因此最重要的表是构成并包含前端内容的表。
    这个标签是pagestt_content,但取决于您安装的扩展,还需要更多的表。

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

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

    一般情况下,您可以在 TYPO3 的 TCA(表配置数组)中获得更详细的表关系图。在这里您可以找到在 TYPO3 中使用的所有相关字段的声明(独立于数据库中的定义)

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

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

    [1] 几乎每个表都有一些公共字段,这些字段与表pagesbe_usersfe_groups 建立关系,这些字段用于在后端构建数据并控制前端的可见性。
    每条记录都有字段

    • uid(唯一 ID)来识别记录
    • pid(页面 ID,有时也称为父 ID):与 pages 的关系:记录存储在哪里(所有数据都存储在从表 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(国际化父)翻译记录(与同一张表的关系)
    • l10n_source (localization_source) 翻译来源(与同一张表的关系)

    版本控制:

    • t3ver_oid(TYPO3 版本控制原始 ID)(与同一张表相关)
    • t3ver_... 版本信息

    类别:

    • category(与sys_category相关)

    最后一个字段是间接关系的一个很好的例子,因为它使用中间表sys_category_record_mm 来表示实际关系。那里有 sys_category 记录 (uid_local) 的 uid 和 uid 的字段以及引用表/字段的表和字段的名称 (uid_foreigntablenamesfieldname)。 在category 字段中仅存储引用计数。

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      相关资源
      最近更新 更多