当前位置: 首页 > 知识库问答 >
问题:

用关系建模3个实体

竺展
2023-03-14

假设我们的环境中有三个实体:教师、学生和课程。

  • 每位教师都有(教授)1门或1门以上的课程,每门课程由0名或0名以上的教师提供
  • 每个学生都选修了1门或更多课程,并且每门课程都有0名或更多学生选修
  • 每个教师有0个或多个学生,每个学生有1个或多个教师

在这种关系中,每一种关系都可以从另外两种关系中推断出来,例如,要知道T1老师正在教哪些学生,要通过教师和课程之间的关系来了解T1老师正在教哪些课程,然后通过课程和学生之间的关系,看看哪些学生修过这些课程。这些学生是T1老师教的学生。

所以我们不需要在学生和老师之间建立明确的关系,因为“概念上”这种关系是存在的。

最后,问题是:

在概念设计中,是否有必要显示所有这三种关系?

作为额外的信息,在逻辑设计(设计数据库表和关系)中,关系应该保持为推断关系还是应该显式定义

共有1个答案

袁安志
2023-03-14

举个例子,,

概念(使用NORMA)

教师讲授课程

  • 有可能一些教师教授不止一门课程,而对于某些课程,不止一名教师教授该课程

学生参加课程

  • 有可能一些学生选修一门以上的课程,而对于一些课程,不止一个学生选修这门课程。
  • 在每个参加课程的学生群体中,每个学生,课程组合最多发生一次。

教师辅导学生上课

  • 对于每个学生和课程,最多有一名教师在该课程上辅导该学生。

约束条件

>

  • 对于每一位教师和每一门课程,该教师指导该课程的一些学生,当且仅当该教师教授该课程时。

    对于每个学生和课程,一些老师在该课程上辅导该学生,当且仅当该学生参加该课程时。

    必然的

  •  类似资料:
    • 我有3个模型:用户、宠物和诊所。 让我们假设表格:用户、宠物和诊所。关系是,一个用户可以有多个宠物,而一个宠物只有一个诊所。 在“Pets”表中,我有一个FK到用户id,另一个FK到诊所id。 我想做一些类似的事情: 在用户模型上,返回与用户关联的所有不同诊所。现在我只能做: 但我只想返回不同的诊所。 用户模态: 宠物模式: 有什么建议吗?

    • 模型(Model)之间存在各种各样的关系,如:一对一(One-To-One )、一对多(One-To-Many)等。模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中表之间主/外键约束的创建。查询时也可以基于这些关系,生成在数据库中执行的连接查询或复合查询SQL语句。 关系/关联的使用 1.1 一对一(One-To-One)关联 1.2 一对多(One-To-Ma

    • 当前章节中涉及的配置一般适用于关系数据库。这里展示的扩展方法在你安装了关系数据库提供程序之后就能获得(由Microsoft.EntityFrmeworkCore.Relational 程序包共享)。

    • 我试图在JPA中规划这种关系,但似乎在这里迷失了方向。这是我的ER型号说明。我有一个,其中一个客户有一个,这个包含股票。这就是我的想法。每个都有一个,即(关系)1:1,仓库可以包含更多的股份(库存)。仓库-- 我有以下代码。 Customer.java Depot.java 使用上面的代码,我甚至可以创建并持久化客户。我是不是做错了地图? 如果我试图将数据持久化到上面的数据库中,我会收到以下错误消

    • 我的情况是,我有帖子、用户和评论。 每个评论都存储一个post_id和一个user_id。我要做的是获取用户对特定帖子的所有评论,这样我就可以进行如下调用: (我知道x是什么) 我有: 我觉得需要有一个where或have或where have或是什么东西。。我能做的最好的事情就是拉Auth::User()-

    • 我试图在Neo4j中插入两个节点之间的关系。我正在使用Neo4J(2.1.8社区) 我正在使用尝试创建员工经理关系。此关系实体是报表。(两个类都在下面给出) 但当我试图挽救这段感情的时候 我得到了例外作为 线程“main”组织中出现异常。springframework。刀。DataRetrievalFailureException:关系[0]没有propertyKey=“type”的属性。;嵌套的