我正在试图弄清楚如何为我正在开发的应用程序设计数据库。我只是想将它用作数据存储区来保存和访问配置参数。我以前从未设计过数据库。
我的应用程序为具有许多组件的系统配置设置。有些组件是唯一的,有些组件有子组件。每个组件都有许多参数,其中一些参数是单个值,另一些参数包含可变数量的记录。
我可以代表这样的系统:
<System>
<A P1="" P2="">
<E P3="" P4="" P5="" P6="" />
<F P7="" P8="" P9="" P10="" />
<G>
<H>123</H>
<H>123</H>
<H>123</H>
<H>123</H>
<H>123</H>
</G>
</A>
<B P1="" P2="">
<E P3="" P4="" P5="" P6="" />
<F P7="" P8="" P9="" P10="" />
<G>
<H>123</H>
<H>123</H>
<H>123</H>
</G>
</B>
<C P1="" P2="">
<E P11="" P12="" P13="" P14="" />
<I P15="" P16="" P17="" P18="" P19="" />
</C>
<D>
<E P11="" P12="" P13="" P14="" />
<I P15="" P16="" P17="" P18="" P19="" />
</D>
</System>
我不确定这将如何在表格和列中表示。我应该使用什么方法将其转换为关系数据库模型?
答案 0 :(得分:0)
标记属性将转换为表格列。每个子组件都由外键链接。这可以用一张表来完成。
// from scratch
create table system (
id char(1)
parent char(1)
p1 char(1)
p2 char(1)
p3 char(1)
p4 char(1)
p5 char(1)
);
insert into table system values("A",null,"","",null,null,null);
insert into table system values("E","A","","","","",null);
insert into table system values("F","A","","","","",null);
insert into table system values("G","A",null,null,null,null,null);
insert into table system values("H","G","123",null,null,null,null);
insert into table system values("H","G","123",null,null,null,null);
insert into table system values("H","G","123",null,null,null,null);
insert into table system values("H","G","123",null,null,null,null);
insert into table system values("H","G","123",null,null,null,null);
...