1

首先,我很抱歉标题不好,但 5 分钟后我想不出更好的东西。

请假设以下内容:有人和银行账户,我希望实现两个表来模拟它。一个人有一个 ID(主键)和一个名字。银行帐户还具有 ID(主键)、所有者(外键)和值。这是我的代码:

create table Person(
  ID integer primary key,
  name varchar(200) not null
);

create table Account(
  ID integer primary key,
  owner integer references Person(ID),
  value number not null
);

现在,有没有办法让一个人“知道”哪些帐户与其相关联select * from Account where owner = XY?我问了我的老师,但甚至没有得到与 SQL 相关的答案。在互联网上,我找不到任何建议,所以我在这里问。请原谅我这个问题,但我已经习惯了面向对象的语言,其中 Person 类将包含一个 Enumerable 来存储所有帐户。

4

1 回答 1

3

这就是关系数据库的工作方式,它们有带关系的表。

因为它是关系型的,所以您可以在一个查询中查询 aPerson并获取与该人相关的所有Accounts。为此,您需要执行JOIN.

代码示例

SELECT * FROM Person
JOIN Account ON (Person.ID = Account.owner)
WHERE Person.ID = XY;

如果您想要一个面向文档的数据库,您可以使用 MongoDB 之类的东西,您可以在其中将一个Account直接嵌入到Person文档中。

于 2012-05-20T22:37:47.230 回答