對我有這樣的圖:繼承MS SQL的SQL Server
其中包括專業人員和患者從表用戶繼承。
用戶標識id a PK。 Professional.id和Patient.id是它們表的主鍵。 他們也是參考user.id的FK。
這裏的問題是爲什麼當我做select * from Professional時,我沒有從表User中得到精確的列。
我知道我可以加入他們,但我認爲繼承的概念應該從表格User到這個表格Professional和Patient分享fiels。
對我有這樣的圖:繼承MS SQL的SQL Server
其中包括專業人員和患者從表用戶繼承。
用戶標識id a PK。 Professional.id和Patient.id是它們表的主鍵。 他們也是參考user.id的FK。
這裏的問題是爲什麼當我做select * from Professional時,我沒有從表User中得到精確的列。
我知道我可以加入他們,但我認爲繼承的概念應該從表格User到這個表格Professional和Patient分享fiels。
要回答你的問題 - SQL Server不是OODBMS。雖然邏輯上定義了一種繼承類型,但引擎不提供任何直接支持以將繼承的屬性包含在子類「class」中。查詢「select * from table」將只包含來自指定表的列。 您開發人員必須編寫查詢來選擇您的語句需要的表和列。
謝謝,所以我必須做自己加入乾杯, – NelieluTu
您的圖正在顯示* join *表之間的關係。這與「繼承」不一樣。您可能會對實體關係圖顯示的內容感到困惑。 –
我應該在圖表Gordon Linoff中解決什麼問題? 我讀過一些關於繼承的內容,繼承的方式就像我在圖中所做的那樣描述:/。謝謝你的時間。 – NelieluTu
我相信你正在尋找「一對一」的關係。並非所有的E-R圖表工具都支持它。 –