我們有一個投資諮詢機構作爲客戶。他們向客戶提供有關其客戶投資的報告。我們正在爲他們設計一個報告結構,但我不確定最佳的數據庫設計是否適合客戶所擁有的兩種結構。最佳數據庫設計
結構1:客戶有一個退休基金,直接投資於共同基金/單位信托基金的組合。這些共同基金輪流投資於上市股票等證券。
結構2:客戶有一個退休基金,投資於內部投資組合(基金)的組合,投資於共同基金(投資於證券)。
它自己很容易迎合結構1,也很容易適應結構2本身。但是有些客戶會使用Structure 1和其他Structure 2,我不想爲他們分別查詢和報告。我想過的一個選擇是爲Structure 2設計,如果客戶在Structure 1上,那麼包含一個「虛擬」內部組合。例如,在下面的例子中,退休基金1是根據結構1構建的,退休基金3是根據結構2使用虛擬內部投資組合構建的。請參閱視圖vw_Structure1和vw_Structure2。
我正在尋找這樣做的最佳方式。有任何想法嗎?
PS:似乎是張貼DDL一個問題,所以會後剩餘部分作爲新的崗位
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [2-InternalPortfolio](
[InternalPortfolioID] [int] IDENTITY(1,1) NOT NULL,
[InternalPortfolioName] [varchar](50) NOT NULL,
CONSTRAINT [PK_2-InternalPortfolio] PRIMARY KEY CLUSTERED
(
[InternalPortfolioID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [2-InternalPortfolio] ON
INSERT [2-InternalPortfolio] ([InternalPortfolioID], [InternalPortfolioName]) VALUES (1, N'High Growth')
INSERT [2-InternalPortfolio] ([InternalPortfolioID], [InternalPortfolioName]) VALUES (2, N'Conservative')
INSERT [2-InternalPortfolio] ([InternalPortfolioID], [InternalPortfolioName]) VALUES (3, N'Dummy Internal Portfolio')
SET IDENTITY_INSERT [2-InternalPortfolio] OFF
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Security](
[SecurityID] [int] IDENTITY(1,1) NOT NULL,
[SecurityName] [varchar](50) NOT NULL,
CONSTRAINT [PK_Security] PRIMARY KEY CLUSTERED
(
[SecurityID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [Security] ON
INSERT [Security] ([SecurityID], [SecurityName]) VALUES (1, N'Company 1')
INSERT [Security] ([SecurityID], [SecurityName]) VALUES (2, N'Company 2')
INSERT [Security] ([SecurityID], [SecurityName]) VALUES (3, N'Company 3')
INSERT [Security] ([SecurityID], [SecurityName]) VALUES (4, N'Company 4')
SET IDENTITY_INSERT [Security] OFF
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
您在一些普通視覺模型,這是很容易比你的MSSQL服務器DDL,以瞭解哪些用戶不能夠執行,因爲他們可以使用MySQL,甲骨文...標籤這是MS SQL Server隨後沒有最好現在你的數據庫一個數據庫設計。 – 2011-02-27 10:12:31
好點Alex。有沒有辦法發佈圖片? – 2011-02-27 18:46:08