你如何创建动态数据库?

时间:2009-11-19 14:54:17

标签: database-design

问题,我使用的是Oracle 10g,我的客户希望我创建一个动态数据库。是否有可以用来创建一个的说明?关系数据库和动态数据库之间有什么区别?

由于 韦恩

2 个答案:

答案 0 :(得分:2)

您应该通过“动态数据库”找出客户的意思。不要以为他们是无能为力的;当他们使用该术语时,他们可能会有一个特定的要求。一旦你弄明白了它们的意思,那么你就会知道它们是否只是在寻找流行语合规性,或者这是否是你必须理解和遵守的重要要求。

答案 1 :(得分:0)

Josh Yeager可能是正确的,但这里有另一种可能的选择:客户希望能够随时更改其数据库的架构

传统的关系型DBMS(即:您使用SQL的类型:Oracle,MS SQL Server,MySQL等)在这方面相当糟糕(或者说它们没有将其作为设计目标)。您必须以特定方式编写更改脚本,将其应用于表(在大型数据库上可能很耗时),更改依赖代码以支持新架构,计划处理预先存在的数据等。

如果(这是一个非常大的IF:首先与您的客户核实),他们希望能够更频繁地更改架构,然后考虑转到“文档”或“无架构”数据库,如CouchDB或MongoDB。这些类型的数据库假设数据是异构的(即:不同的“记录”在正常操作过程中包含不同的“字段”)。同一个球场是基于XML的数据存储。与甲骨文相比,这些是另一种范例,但它们可能非常适合您的问题。

此外,还有一个interesting article on using a RDBMS for schemaless data,,但是让RDBMS对自己起作用似乎要做很多工作。