access建立查询时,啥情况下两表之间要建立关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access建立查询时,啥情况下两表之间要建立关系相关的知识,希望对你有一定的参考价值。

在ACCESS二级考试指导中,有时候在创建查询时会建立关系。如果不建的话,不影响得分么?

1.首先打开Access数据库后,建立两个数据表来作为举例。


2.建立好数据表以后,点击表可以看到两个表中包含不同的字段内容,如果我们要查询任何一个字段的记录内容,就要将两个表建立起关系,相互关联。

选中任何一个表,然后点击工具栏上的视图图标。

3.现在切换到设计界面,点击工具栏上的【关系】按钮,打开关系窗口。

4.在关系窗口的【添加表】中,依次选择要添加的表,然后点击添加按钮,将表添加到关系窗口中。添加好以后点击关闭,回到关系窗口。


5.鼠标点击其中一个表的主键字段,即没有重复值的唯一字段。按住鼠标不放,然后拖动到另一个表的相同字段松开,在弹出的窗口中点击确定。

6.现在两个表已经建立了以【上岗证号】为关联的关系。以后可以通过查询来显示任何一个表中的符合条件的字段记录。

参考技术A 如果你建立的查询需要引用两个表中的字段,那就需要建立关系,否则数据的对应关系就会出现错误啊。追问

是不是,创建查询的时候选了多个表,只要这些表之前没有建立连接,就需要连一下呢

追答

是这样的,而且有的时候如果你不建立关系,是无法创建查询的。

本回答被提问者采纳
参考技术B 查询视图建立的“关系”相当于sql语句

在这种情况下,我如何建立核心数据模型以及与啥关系?

【中文标题】在这种情况下,我如何建立核心数据模型以及与啥关系?【英文标题】:How do i set up a core data model and with what relationships in this case?在这种情况下,我如何建立核心数据模型以及与什么关系? 【发布时间】:2014-09-19 04:21:57 【问题描述】:

我正在尝试学习一些核心数据,但我对数据库的一般知识有限(我知道核心数据不是,它是一个“对象图管理器”),所以我有点深需要一些帮助弄清楚我到底需要存储什么以及在哪里存储。我想在模型中创建三个实体:

Team Player GameResult

一个团队具有属性teamName(字符串),但一个团队(在这种情况下)也应该有 4 个与之关联的玩家。这是我已经很难理解的地方:如何在Team 实体中添加/表示玩家(对象)作为属性?

Player 实体现在只有一个属性 name 作为字符串,最好是唯一的 ID(?) - 以便以后能够跟踪单个结果。

GameResult 不过会有更多属性:

主队 客队 homeTeamScore awayTeamScore dateForPlayedGame

我想 homeTeam 和 awayTeam 都应该是实体类型 Team 的一个实例,我也不明白我该如何表示。我猜我也需要建立一些关系:一个球队可以有很多球员(在我的例子中是 4 个),一个球员可以属于很多球队(虽然不是同一场比赛中的主队和客队)。

我非常感谢有关如何设置此模型的一些想法和指导。

编辑:我应该有一个Game 的实体。我应该用这个而不是GameResult 并让gameResult 成为Game 的属性,还是我仍然应该将GameResult 作为一个实体?你们有什么感想?正如我之前提到的:我对数据库的了解非常有限(一般而言)......每个人都可以看到。

【问题讨论】:

【参考方案1】:

我如何添加/表示球员(对象)作为球队实体中的属性?

您希望在团队和玩家之间建立“一对多”的关系。当您创建 one-may 关系时,您的模型会自动在您的托管对象中放置一个 NSSet,其中包含团队中的球员列表。

Player 实体现在只有一个 name 属性作为字符串,最好是唯一的 ID(?) - 以便以后能够跟踪单个结果。

我知道这听起来很奇怪,但不必担心唯一 ID。 Core Data 将为您处理,您将永远不会错过它。你必须相信这个,直到你看到它在行动;)

我认为 homeTeam 和 awayTeam 都应该是实体类型 Team 的一个实例,我也不明白我该如何表示。

我可能会根据 Team 实体中指示“Home or Away”的属性来考虑。但是,如果您不喜欢那个,还有其他选择。我只是想对于只有两个可能值的简单事情,这可能是容易做的事情。没有什么可以阻止两者使用相同的实体。

编辑:我应该有一个游戏实体。我应该有这个而不是 GameResult 并让 gameResult 成为 Game 的一个属性,或者我应该仍然有 GameResult 作为一个实体吗?你们有什么感想?正如我之前提到的:我对数据库的了解非常有限(一般而言)......每个人都可以看到。

不知道会有什么不同。在我看来,一个包含“游戏结果”属性的游戏实体是有意义的。一场比赛总是有结果,结果总是一场比赛。所以,我不明白你为什么需要两者。

我不想说没有一般数据库知识你会更好,但你差不多。为了掌握核心数据,我必须忘记我所知道的关于 SQL Server 的一切。

我能说的最好的事情是,一旦“灯亮了”,它就会很简单,对你来说很有意义。我最大的问题是不得不忘记我所知道的关于关系数据库的很多知识。

我能说的主要是记住一切都是关于托管对象的。您将关系构建到模型中,然后您将处理相关实体的托管对象的 NSSet。

说实话,它太容易理解了;)

注意:您可以做的最好的事情之一是修改设置模型,然后生成您的实体类创建 NSManaged 对象子类。然后研究这些类并理解其中的每个关系集。至少,这让我明白了一切。

GLTY。

【讨论】:

感谢您的指导。正是我需要能够开始! :) 如果您遇到问题,请随时回帖。如果我在附近,我会尽力回应。

以上是关于access建立查询时,啥情况下两表之间要建立关系的主要内容,如果未能解决你的问题,请参考以下文章

在access查询设计中,啥情况下要把查询的两个表关联起来

access 不能建立删除查询。

已经建立了两个表,请问如何用SQL语句建立关联?

mongodb索引加错了有啥影响

SQL数据库里面怎样设置表与表之间的关联

索引表是啥意思