gpt4 book ai didi

sql - 这个数据库设计正确吗?

转载 作者:行者123 更新时间:2023-12-01 07:15:10 27 4
gpt4 key购买 nike

我参加了一个面试,根据我的说法进行得很好,但根据面试官的说法则不然。他问了我几个我回答正确的问题和 2 个实践问题。其中之一与数据库有关。

问题是这样的

一所学校由几个类(class)组成,每个类(class)学习不同的科目,由多名教师教授。你必须设计数据库,以便人们可以知道哪个老师教什么科目什么类(class)?

它看起来很简单,我设计了它。

就像是:

教师 table

|  ID    |  Teacher_Name    |
-----------------------------
| 1 | Ankit |
| 2 | Jack |

类(class)表
    |  ID    |  class_Name      |
-----------------------------
| 1 | First |
| 2 | Second |

主题表
    |  ID    |  subject_Name    |
-----------------------------
| 1 | English |
| 2 | stats |

和一个主表将它们结合起来,并知道什么老师教什么科目什么类(class)

主表
    |  ID     | Teacher_id  |  class_id |  subject_id  |
----------------------------------------------------
| 1 | 1 | 1 | 1 |
| 2 | 1 | 2 | 2 |

只是为了清除我所做的......我什至为这个问题写了一个选择查询,即使他没有要求我这样做。

我只是 sql 的初学者,所以我不知道这是否正确,但据我说,如果我需要对数据库进行更改,它非常有用。添加类(class)或主题的示例。

现在按照他的说法,这个设计根本行不通,他说我什至不应该认为自己是初学者,而是低于初学者的水平。

所以请告诉我这是否正确,如果不是,那么设计数据库的正确方法是什么。

提前致谢。

最佳答案

It appeared quite simple



这可能是问题的一部分。大多数数据库问题看起来很简单。但实际上很少有它们非常简单。
  • 并非每位教师都有资格在每所学校教授所有科目。你可能
    需要一个表格,将教师与他们有资格的科目配对
    去教。
  • 一些实体在其名称中带有完整的身份证明。
    (主题似乎;人们没有。)未能提供独特的
    例如,约束“subject_name”将是一个错误,无论
    该表是否有一个 id 号(这可能很容易成为另一个
    错误)。
  • “大师”不是问题域中的术语。也就是说,如果你看
    大学类(class)目录,你找不到章节或部分
    标题为“大师章节”,或任何类似的东西。但是你
    会找到一个部分,告诉您每学期开设的科目,以及
    这是一个线索。在大学里,不是每门课都是
    每个学期都可以使用。
  • 您还需要对“主”表 {teacher_id,
    class_id,subject_id}。
  • 在同一个表中,您需要重叠的外键约束
    {teacher_id, subject_id} 和 {class_id, subject_id}。

  • 我可以继续。但这就是我不会雇用你的原因。

    你得到了模棱两可的、不完整的要求。 (这可能不是意外。)您没有做足够的工作来澄清它们。

    I am just a beginner at sql



    在某个时候,我们都是初学者。

    他们想雇用初学者吗?如果没有,那可能是另一个问题。

    关于sql - 这个数据库设计正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481662/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com