Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 如何创建动态数据库?_Database Design - Fatal编程技术网

Database design 如何创建动态数据库?

Database design 如何创建动态数据库?,database-design,Database Design,问题:我正在使用Oracle 10g,我的客户希望我创建一个动态数据库。是否有我可以用来创建一个的说明?关系数据库和动态数据库之间的区别是什么 谢谢 Wayne您应该了解客户所说的“动态数据库”是什么意思。不要认为他们是无知的;当他们使用这个术语时,他们可能会有一个特定的需求。一旦你明白了他们的意思,你就会知道他们是否只是在寻找符合流行语的要求,或者这是你必须理解和遵守的一项重要要求。Josh Yeager可能是对的,但这里还有另一种可能的选择:客户希望能够随时更改其数据库的模式 传统的关系型D

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

谢谢
Wayne

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

Josh Yeager可能是对的,但这里还有另一种可能的选择:客户希望能够随时更改其数据库的模式

传统的关系型DBMS(即与SQL一起使用的类型:Oracle、MS SQL Server、MySQL等)在这方面相当糟糕(或者更确切地说,他们没有将此作为设计目标)。您必须以特定的方式编写更改脚本,将其应用到表中(在大型数据库中可能会很耗时),更改依赖代码以支持新模式,制定处理现有数据的计划,等等

如果(这是一个非常大的假设:首先检查你的客户端),他们希望能够更频繁地改变模式,然后考虑去“文档”或“schema”数据库,如CoucDB或MunGDB。这类数据库假定数据是异构的(即:在正常操作过程中,不同的“记录”包含不同的“字段”)。基于XML的数据存储也是如此。与Oracle之类的东西相比,这是一个完全不同的范例,但它们可能非常适合您的问题


此外,还有一个问题,尽管要使RDBMS与自身相抗衡似乎需要做很多工作。

为什么不问问客户他想要什么?这里的“动态”一词很模糊。您想在其中加入动态内容吗?您是否希望模式是动态的(我不建议这样做)?另外,据我所知,Oracle是一个关系数据库,因此没有必要问动态数据库和关系数据库之间的区别(这就像比较“水果”和“苹果”)。您的客户希望从“动态”数据库中得到什么?所有数据库都是动态的。只需向您的客户保证,您将使用“具有跨数据查询支持的健壮多表动态数据库”。这可能会额外花费一点,但你会为你的客户使用最好的。我知道他们想要动态内容。他们还对关联数据感兴趣。动态数据库这个术语对我来说相对较新。我与另一个部门开会,收集他们使用动态数据库不断提出的需求。我有一个他们使用的模式,带有Fact和DIM,但通常与数据库的数据仓库类型有关。。他们想要的是“我相信”的二元内容。他们希望数据也能相互关联。还有一个部门声称拥有一个动态数据库。我觉得他们希望能够随时向数据库添加数据,然后向用户显示数据。你可以使用一个标准的“关系型”数据库——我不认为“动态数据库”是一种独立的技术。