0
我正在研究涉及多個應用程序的數據庫設計。Multi App One數據庫
例如:大學
- 系統信息(學生,年級,學科,專業,等等),圖書館(成員,書籍,類別等)
大學的學生和圖書館的成員具有相同的數據。因此,爲了獲得同步數據,我將兩個應用程序的數據庫都設計爲一個數據庫,這意味着來自兩個應用程序的表都混合在一起。
有沒有更好的解決方案呢?
我正在研究涉及多個應用程序的數據庫設計。Multi App One數據庫
例如:大學
大學的學生和圖書館的成員具有相同的數據。因此,爲了獲得同步數據,我將兩個應用程序的數據庫都設計爲一個數據庫,這意味着來自兩個應用程序的表都混合在一起。
有沒有更好的解決方案呢?
大多數現代SQL DBMS支持模式。架構本質上是一個可以用於任何目的的容器。一個明顯的目的是作爲表,視圖,存儲過程等容器,在功能上密切相關。
PostgreSQL's CREATE SCHEMA syntax
所以,你可以爲每個的這些東西是不同的模式。
由於每個模式是一個數據庫對象,通常可以GRANT和REVOKE特權架構級別。這使得管理具有個人可識別信息的模式變得更加容易,特別是像「健康和健康」這樣的模式。 (實際上,對於健康數據,您可能需要更強的隔離。)
應用程序的數量並不一定與模式的數量有關。我已經開發了一個運行數據庫,其中有很多模式,但有數百個應用程序,在過去的三十年中以至少25種語言進行編程。
對此沒有更好的解決方案。只要確保這兩個應用程序不具有它不需要的對象的讀/寫訪問權限即可。 –
那麼,如果會有更多的應用程序將被添加? 這意味着在一個數據庫中將會有n個應用程序的數據庫。 我想爲每個應用程序的表使用前綴。 – Kiddo