我想知道資料庫 (phpMyAdmin) 中的表之間有哪些關系來創建物體關系模型,但我在資料庫中的其他任何地方都看不到任何關系。
我使用TYPO3 ver。10.4.21 帶有擴展名:pizpalue 和 sitepackage builder。
我在我的站點包構建器擴展中創建了一個自定義內容元素,我想知道我的資料庫的哪些表有一些關系。我的內容元素的所有變數都在表“ tt_content”中。
如果我去我的 phpMyAdmin 并打開“設計器”,那么我可以看到很多表,但沒有關系:

看起來每個表只有一個主鍵,但沒有輔助鍵(外鍵)。
我對我的問題有一些疑問。
- 表之間有關系嗎?換句話說,所有表都是獨立的嗎?
- 這表我應該使用它來創建像diagramm
entity relationship model或databbase model?
物體關系模型的一個例子是(來源:維基百科):

我的第一個想法是我需要以下表格來創建圖表:
pages,tt_content,也許還有be_users。我的圖表需要其他表格嗎?
如果表之間沒有關系,我不能在物體關系模型中添加物體(關系),對嗎?或者有什么好方法來創建圖表?
我很抱歉我的愚蠢問題。但是我不知道TYPO3和資料庫的表是如何協同作業的。
我希望有人能給我一些答案或想法。謝謝你。
uj5u.com熱心網友回復:
正如您發現的那樣,TYPO3 由很多表組成。這些表有不同的任務。
如果您想顯示每個關系,您的圖表將變得比提供資料印象更復雜。[1]
由于 TYPO3 是 CMS,因此最重要的表是構成和包含前端內容的表。
這個選項卡是pages和tt_content,但取決于您安裝的擴展,需要更多的表。
當然,還有其他對前端很重要的表sys_file,sys_file_references它們管理使用的檔案,如影像(FAL = 檔案抽象層)。
根據您使用的功能,使用或忽略其他表:
如果您有前端登錄,您可能需要這些表fe_users并且fe_groups可以控制內容的可見性。
一般來說,您可以在 TYPO3 的 TCA(表配置陣列)中獲得更詳細的表關系圖。在這里您可以找到 TYPO3 中使用的所有相關欄位的宣告(獨立于資料庫中的定義)
有關 TYPO3 的更多資訊,請訪問https://docs.typo3.org
也許你可以在這里獲得更具體的資訊:
- API:資料庫結構
- 三氯乙烯
[1] 幾乎每個表都有一些公共欄位,這些欄位與表pages,建立關系be_users,fe_groups用于構造 back_and 中的資料并控制 front_end 中的可見性。
每條記錄都有欄位
uid(唯一 ID)來標識記錄pid(頁面 ID,有時也稱為父 ID):關系到pages:記錄存盤在哪里(所有資料都存盤在從表中的記錄構建的“頁面”樹中pages。因此pages-records 存盤在pages-records 中構建了一棵樹(就像硬碟上的檔案夾)crdate(創建時間戳)tstamp(上次更改的時間戳)cruser_id(創建用戶 ID)與be_usersdeleted(洗掉的記錄在后端不可見)hidden(后端可見,前端隱藏)starttime(前端可見性開始時的時間戳)endtime(前端可見性結束時的時間戳)fe_groups根據登錄的前端用戶控制前端可見性。sorting記錄順序
語言處理:
sys_language_uid記錄語言(與 相關sys_language)I18n_parent翻譯記錄的(國際化父)(與同一個表的關系)l10n_source(localization_source) 翻譯來源(與同一張表的關系)
版本控制:
t3ver_oid(TYPO3 versioning original ID) (同表的關系)t3ver_...版本資訊
類別:
category(關系到sys_category)
最后一個欄位是間接關系的一個很好的例子,因為它使用中間表sys_category_record_mm來表示實際關系。在那里,您有sys_category記錄的 uid 欄位( uid_local) 以及uid表的欄位和名稱以及參考表/欄位的欄位 ( uid_foreign, tablenames, fieldname)。
在該欄位中category僅存盤參考計數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/377356.html
