通过 TYPO3 显示数据库中的关系
Display a Relation in Database by TYPO3
我想知道在数据库 (phpMyAdmin) 中 table 之间有哪些关系来创建实体关系模型,但我在数据库的其他任何地方都看不到任何关系。
我用的是TYPO3版本。 10.4.21 带有扩展名:pizpalue 和 sitepackage builder。
我在我的网站包构建器扩展中创建了一个自定义内容元素,我想知道我的数据库中的哪些 table 有某种关系。我的内容元素的所有变量都在 table“tt_content
”。
如果我转到我的 phpMyAdmin 并打开“设计器”,那么我可以看到很多 table,但没有关系:
看起来每个 table 都只有一个主键,但没有辅助键(外键)。
我有一些关于我的问题的问题。
- table之间有关系吗?也就是说,所有table都是独立的吗?
- 我应该使用哪个 table 来创建像
entity relationship model
或 databbase model
这样的图表?
实体关系模型的一个示例是(来源:维基百科):
我的第一个想法是我需要按照 table 来创建图表:
pages
、tt_content
,也许还有 be_users
。我的图表还需要其他 table 吗?
如果table之间没有关系,我不能在实体关系模型中添加实体(关系),对吗?或者有什么制作图表的好方法吗?
很抱歉我的愚蠢问题。但我不知道 TYPO3 和数据库的 table 是如何协同工作的。
希望有人能给我一些答案或想法。谢谢。
如您所见,TYPO3 由许多 table 组成。这些 table 有不同的任务。
如果你想显示每个关系,你的图表将变得比给出数据印象更复杂。 [1]
由于 TYPO3 是一个 CMS,因此最重要的 table 是构建和包含前端内容的 table。
此选项卡是 pages
和 tt_content
,但取决于您安装的扩展还需要 table。
当然还有其他table对前端很重要,如sys_file
和sys_file_references
,它们管理图像等使用的文件(FAL =文件抽象层)。
取决于您使用的功能,其他 table 被使用或忽略:
如果您有前端登录,您可能需要 tables fe_users
和 fe_groups
来控制内容的可见性。
一般来说,您可以在TYPO3的TCA(Table配置数组)中获得更详细的table关系图。在这里您可以找到所有相关字段的声明,因为它们在 TYPO3 中使用(独立于数据库中的定义)
有关 TYPO3 的更多信息,请访问 https://docs.typo3.org
也许您可以在这里获得更具体的信息:
[1] 几乎每个 table 都有一些公共字段,这些字段与 table 的 pages
、be_users
、fe_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
中仅存储引用计数。
我想知道在数据库 (phpMyAdmin) 中 table 之间有哪些关系来创建实体关系模型,但我在数据库的其他任何地方都看不到任何关系。
我用的是TYPO3版本。 10.4.21 带有扩展名:pizpalue 和 sitepackage builder。
我在我的网站包构建器扩展中创建了一个自定义内容元素,我想知道我的数据库中的哪些 table 有某种关系。我的内容元素的所有变量都在 table“tt_content
”。
如果我转到我的 phpMyAdmin 并打开“设计器”,那么我可以看到很多 table,但没有关系:
看起来每个 table 都只有一个主键,但没有辅助键(外键)。
我有一些关于我的问题的问题。
- table之间有关系吗?也就是说,所有table都是独立的吗?
- 我应该使用哪个 table 来创建像
entity relationship model
或databbase model
这样的图表?
实体关系模型的一个示例是(来源:维基百科):
我的第一个想法是我需要按照 table 来创建图表:
pages
、tt_content
,也许还有 be_users
。我的图表还需要其他 table 吗?
如果table之间没有关系,我不能在实体关系模型中添加实体(关系),对吗?或者有什么制作图表的好方法吗?
很抱歉我的愚蠢问题。但我不知道 TYPO3 和数据库的 table 是如何协同工作的。
希望有人能给我一些答案或想法。谢谢。
如您所见,TYPO3 由许多 table 组成。这些 table 有不同的任务。
如果你想显示每个关系,你的图表将变得比给出数据印象更复杂。 [1]
由于 TYPO3 是一个 CMS,因此最重要的 table 是构建和包含前端内容的 table。
此选项卡是 pages
和 tt_content
,但取决于您安装的扩展还需要 table。
当然还有其他table对前端很重要,如sys_file
和sys_file_references
,它们管理图像等使用的文件(FAL =文件抽象层)。
取决于您使用的功能,其他 table 被使用或忽略:
如果您有前端登录,您可能需要 tables fe_users
和 fe_groups
来控制内容的可见性。
一般来说,您可以在TYPO3的TCA(Table配置数组)中获得更详细的table关系图。在这里您可以找到所有相关字段的声明,因为它们在 TYPO3 中使用(独立于数据库中的定义)
有关 TYPO3 的更多信息,请访问 https://docs.typo3.org
也许您可以在这里获得更具体的信息:
[1] 几乎每个 table 都有一些公共字段,这些字段与 table 的 pages
、be_users
、fe_groups
建立关系构建 back_and 中的数据并控制 front_end.
中的可见性
每条记录都有字段
uid
(唯一ID)标识记录pid
(页面ID,有时也称为父ID):与pages
的关系:记录存储在哪里(所有数据都存储在'pages'的树中从 tablepages
中的记录构建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
中仅存储引用计数。