2013-07-30 94 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等不同的工具是正确的,但是为了决定你更多地了解你的需求。 –

相关问题