困惑形成MySQL主要&外键约束

时间:2017-09-10 11:12:01

标签: mysql sql relationships

我正在建立一个教师上传课程然后发布的网站。我正在计划数据库,我脑子里有几个问题。请考虑以下表格:

instructors(id(PK), fullname, email, password, created, updated)
categories(id(PK), title, description, created, updated)
courses(id(PK), cat_id(FK), instructor_id(FK), title, description, created, updated)
lessons(id(PK), course_id(FK), title, description, duration, created, updated)

我在所述表之间建立了基本关系。现在的问题是:

  • 我想查看特定category的{​​{1}}。
  • 我想检查lesson是否属于特定的lessons

如果我将category作为外键放在category_id表中,会不会好的?通过这种方式,我可以通过加入表格来lessons。对于反向关系,我还可以通过选择lessons来选择category

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果课程有0或1"类别",那么您可以将import numpy as np # array of [x1, x2, y1, y2] positions dat = np.array([[3,4,1,2], [3,4,0,1], [1,2,1,2], [0,1,1,2], [1,2,0,1], [0,1,0,1]]) # stably sort by x1 then y1 sorted_dat = dat[np.lexsort((dat[:, 0], dat[:, 2]))] print(sorted_dat) # [[0 1 0 1] # [1 2 0 1] # [3 4 0 1] # [0 1 1 2] # [1 2 1 2] # [3 4 1 2]] 放入category_id。这是恰当和正确的。

如果课程可能有多个类别,那么您需要一个联结表:

lessons