Database 为什么关系集很重要?

Database 为什么关系集很重要?,database,database-design,relational-database,Database,Database Design,Relational Database,一位朋友正在开发一个网站,他必须使用SQL创建一个数据库。他问为什么需要“has-a”或“is-a”关系,因为您可以获取一个实体集的主键并将其放置在另一个适当的实体集中(反之亦然)来查找关系 我无法回答这个问题,因为我刚刚被告知,关系集正是数据库工作的方式 编辑:我不想进入规范化。他指出,信息是在关系集中复制的。你的问题将两个不同的抽象层次混合在一起,即概念层次和逻辑层次 在概念层面,人们感兴趣的是描述拟议数据库的信息需求。这样做很有用,而不必将描述转向某个解决方案。一个用于此目的的模型是实体关

一位朋友正在开发一个网站,他必须使用SQL创建一个数据库。他问为什么需要“has-a”或“is-a”关系,因为您可以获取一个实体集的主键并将其放置在另一个适当的实体集中(反之亦然)来查找关系

我无法回答这个问题,因为我刚刚被告知,关系集正是数据库工作的方式


编辑:我不想进入规范化。他指出,信息是在关系集中复制的。

你的问题将两个不同的抽象层次混合在一起,即概念层次和逻辑层次

在概念层面,人们感兴趣的是描述拟议数据库的信息需求。这样做很有用,而不必将描述转向某个解决方案。一个用于此目的的模型是实体关系(ER)模型。在这个模型中,主题被分解为实体(subject)和这些实体之间的关系。所有数据都被视为描述某个实体或某个关系的某个方面

“Is-a”和“has-a”关系在这个抽象层次上是相关的。在这个层次上,确定了关系,但没有实现

在创建数据库的概念模型之后,但在创建数据库本身之前,有必要经历一个逻辑设计阶段,从而生成数据库的逻辑模型。如果数据库是关系型的,那么将逻辑模型设置为关系型是很有用的。关系模型是下一个抽象层次

这就是主键和外键的作用。这些键实现了在概念阶段确定的关系。这就是关系模型实现关系的方式。在这个阶段,您将涉及设计问题,如连接表、表组合和规范化

除了概念层和逻辑层之外,还有物理层和脚本层。但这些都超出了你的问题范围

这两种关系是待解决问题的特征。外键引用主键是建议的解决方案的特点