构造MCD(分生组织),其中一个表包含来自另一个表的内容的列



我在为学校项目构思时遇到了一个问题。我有两个问题。

1/oracle有可能做这样的事情吗:https://mariadb.com/kb/en/dynamic-columns/

2/我如何用MCD(方法分生组织)对此进行建模。

感谢

从您的链接中引用:"它的工作原理是将一组列存储在一个blob中,并有一小组函数来操作它。"。我看不出有什么明显的原因不能为Oracle(或任何其他关系数据库)编写类似的东西。

或者,看看EAV,它是一种更传统的动态列解决方案。

对不起,我不熟悉Merise。

1/Oracle不是为创建动态列而设计的,但您可以通过使用PL/SQL函数(但不能在使用SQL查询时)来实现:

create or replace procedure add_table_column(table_name varchar2, column_name varchar2, column_type varchar2)
is
 v_script varchar2(4000);
begin
 v_script := 'alter table '||table_name||' add '||column_name||' '||column_type;
 execute immediate v_script;
end;
/

你可以这样称呼它:

begin
 add_table_column('toto','test','number');
end;
/

2/Merise方法不是为"动态对象"设计的,因为您必须从一个完整的数据字典开始。

您的对象是如何动态的,为什么必须添加列?

您总是可以通过使用"常规"表和关系来获得解决方案。

听起来你应该从分析技术实现开始。MERISE表示,首先分析您的数据模型,然后开始考虑技术解决方案

相关内容

最新更新