我有數據庫表頁與領域contenttype_id和的content_id。我想一個頁面通過contenttype_id通過的content_id鏈接到的contentType,並參考實際內容。問題是內容取決於contenttype_id並且建模方式不同,因此content_id參考不同的表,具體取決於contenttype_id。如何建模一個頁面可以有不同內容類型的數據庫?
CREATE TABLE "page"
("id" "INT",
"author" "VARCHAR(45)",
"created" "DATE",
"content_type" "INT",
"content_id" "INT")
CREATE TABLE "contenttype"
("id" "INT",
"name" "VARCHAR(45)")
CREATE TABLE "content_redirect"
("id" "INT",
"url" "VARCHAR(45)")
CREATE TABLE "content_script"
("id" "INT",
"url" "VARCHAR(45)",
"params", "VARCHAR(45)")
CREATE TABLE "content_text"
("id" "INT",
"text" "TEXT")
CREATE TABLE "content_process"
("id" "INT",
"step1" "TEXT",
"step2" "TEXT",
"step3" "TEXT")
CREATE TABLE "content_extprocess"
("id" "INT",
"system_id" "INT",
"process_id" "INT")
如何做到這一點?還是它在理論上已經錯了?
爲什麼被存儲在不同的表中的內容?需要更多的信息,否則我會用實際內容替換'content_id',因爲它看起來像是一對一的關係。 – 2010-09-07 19:47:34
可能的內容從「簡單文本」到「外部腳本」到「包含多個步驟的過程」有所不同,因此內容結構需要不同的表格 – timpeti 2010-09-07 19:52:35
我認爲沒有理由將不同的表格與您的解釋結合起來。爲什麼我們不能同時使用簡單文本和腳本鏈接? – 2010-09-07 19:54:53