回答

0

我不明白的館員和卡之間的關係的效用,我不明白爲什麼書兩個實體分裂。

我會做3個實體:

-member

-card

-book

每個成員都有一張卡,每卡是一個成員的; 每個會員都可以拍很多書,每本書都可以被很多會員拍攝,

會員和書之間的關係在邏輯模式中創建另一個表:貸款。在插入新的貸款之前,您可以檢查該成員是否有多餘的活躍貸款(通過檢查貸款表中活動的屬性)。

0

您給定的環境對我來說是不完整的。我沒有看到你的問題/情況的全部描述,所以我會根據假設和我在生活中的經歷來回答。讓我們看看......


tino用戶質疑兩個實體,標題和體積的存在,這是重要的事情。讓我來解釋一下,這會消除這個錯誤。以前(前一段時間),我們有視頻租賃商店(我不知道你住的是正確的名稱,英文不是我的母語)。記得?我們曾經去那裏租VHS錄像帶在家觀看。

我們租的不是電影,而是更多的拷貝/ midia。電影總是會有相同的演員,導演,標題等,但副本可能具有不同的屬性/屬性,例如媒體制作年份,可用語言,到期年份等等。所以我們明顯有兩個不同的東西。

但是,儘管如此,我們必須考慮是否需要創建兩個持久性實體。我們必須記住,如果我們需要堅持這些信息。如果一個複製品/ midia沒有任何屬性,那麼它的實體不應該存在,而用戶真正租用的將是電影標題。

就你而言,音量和標題之間的關係,我相信,真的是表達了這種差異。

讓我們來談談圖書管理員和標題之間的關係。什麼是圖書管理員?它是否管理永不改變的標題,是抽象的東西,還是圖書館中存在的物理對象? :)


最後,我們來談談借款關係。當我們分解1-N(或N-1)關係時,我們總是將主鍵從1方傳遞到N方,從而解決與實體關係圖中物理模型形成的關係。

儘管這裏的關係是0-5,爲了分解它,我們不會有完全的0-5關係。無論如何,我們都必須將雙方的主要關鍵傳遞給由這種關係形成的表格。因此,在這裏我們最初有成員和數量之間的N-N關係。

N-N關係允許實體之間的可選關係。這意味着我們可以在這裏獲得零方面的基數。爲限制可租用的書籍數量,您需要使用SQL或數據庫中的任何過程語言實施限制/約束。在這種情況下,您可以實施一個插入前觸發器。這個觸發器有責任驗證這個限制,以允許或拒絕整個操作的完成。

讓我們清楚,我不是說你應該刪除這個符號。你的概念模型應該表達它。但是當你分解時,你必須記住這一點。我認爲你應該糾正它。請記住一條重要規則:具有屬性/屬性(屬性/屬性)的關係只能存在於N-N關係中。如果必須將屬性/屬性置於1-N(或N-1)關係中,則它們(屬性/屬性)將始終位於N側。總之,關係中沒有N-1(或1-N)與屬性的關係。只有N-N關係可以具有屬性/屬性。所以要小心這個。

如有任何問題或意見,請發表評論,我會回答。

0

我看不出有理由區分成員和卡片。卷和庫管理員沒有主鍵。他們應該是弱者嗎?這對圖書管理員來說沒有意義,卷需要標識符來區分不同的副本。