2013-07-30 77 views
0

我打算編寫一個web應用程序來開發類似於Zoho的定製軟件。我應該修改動態數據庫Web應用程序中的數據庫表結構嗎?

我想我應該使用DDL動態添加列到表中,當用戶添加或刪除窗體的控件。我前幾天和一位朋友討論這個問題,他建議修改數據庫結構不是一個好主意。由於您需要授予Web應用程序的管理權限,因此它可能非常不安全。而是使用類似MongoDB的東西。

我很想知道如何Zoho可能已經實現了這一點。從Web應用程序修改數據庫結構真的不是一個好主意嗎?

回答

2

我認爲你最好用其他的表格和用戶的id以及控件和其他一些標識符,這些標識符可能必須在你的應用程序中使它們獨一無二。

您事先定義數據庫和業務流程,然後用戶添加的信息應視爲數據。

想象一下你有2億條記錄,並且你想添加一個新的控件。您將爲2億條記錄添加一個新值(即使它爲空),而不是在另一個表中插入新值。

關於百會Creator,您可以檢查在幕後this post種方式,你可能會喜歡

+0

這是一個動態的數據管理應用程序。您無法事先定義數據庫結構/進程。 – Cracker

+0

我認爲它仍然適用。事先不能定義的部分是用戶正在創建的數據庫,但您的數據庫應事先被鎖定。在創建用於其應用程序的表的過程中,可以將他們選擇的控件的信息存儲在帶有用戶的ID,他們正在構建的表和控件的ID的表中,然後您將當他完成時,表格/列持續存在。 –

+0

@Cracker當然可以。僅僅因爲應用程序是動態的,並不意味着架構必須如此。當然,這可能是因爲你的需求證明MongoDB等不同的工具是正確的,但是爲了決定你更多地瞭解你的需求。 –

相關問題