2009-10-22 13 views
0

我正在推測一個潛在的項目。該項目的核心是客戶希望能夠向不同的第三方提供的一組數據。客戶希望能夠向不同的第三方提供不同的數據子集。我應該如何在Web應用程序中定義一個公共數據集的不同子集?

數據將存儲在MySQL數據庫中。 Web應用程序將連接到數據庫並通過API將數據提供給客戶端應用程序。每個客戶端應用程序都可以訪問數據庫中的不同記錄。下面是一些示例數據:

fruit 
id name color 
1 apple red 
2 orange orange 
3 grape purple 
4 banana yellow 

location 
id name 
1 new york 
2 florida 
3 california 

fruit_location 
fruit_id location_id 
1   1 
2   2 
3   3 
4   2 

這個數據將有像get_all_fruit()get_fruit_by_location()方法的API。

默認情況下,客戶端應用程序可以訪問所有數據。但是,客戶可能只想要(或被允許)訪問來自佛羅里達州的水果信息。另一個應用程序可能需要訪問除葡萄記錄以外的所有數據。調用API方法對於每個應用程序來說都是相同的,但是會根據哪個客戶端應用程序發出請求,返回不同的數據,並且可能會省略一些結果。

我想知道有哪些令人驚訝的SO社區成員定義這種過濾器的建議。

  • 數據庫
  • 某些類型的配置文件的

的兩個主要的擔憂中定義:

  • 易於創建和修改指定的過濾器,這些將由管理最終用戶
  • 用於低至中等數量的併發用戶的性能

其他說明

  • 的數據將是隻讀的客戶端應用程序
  • 數據會隨着時間改變,因爲添加新的信息或更改

我知道這是一個如果我可以提供任何其他有用的細節,請告訴我。感謝您花時間提出建議!

回答

0

個人而言,我會在您的API級別處理此問題。你存儲標準的地方是無關緊要的。您的API必須將您擁有的任何規則轉換爲SQL,以便您可以將其作爲WHERE子句添加到所有查詢中。

相關問題