首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建类主题数据库

创建类主题数据库
EN

Stack Overflow用户
提问于 2011-11-06 17:35:07
回答 3查看 2.4K关注 0票数 0

我想创建一个学校数据库,我被困在中间。我有以下表格

  1. users - id,role_id,用户名,password
  2. roles - id,role(teacher/student)
  3. teachers- id,
  4. student - id,class_id,
  5. class - id,standard_id,section
  6. standard - id,

现在我想谈谈老师和学生之间的关系。这里的问题是

  1. 部分科目为必修课,5~7级
  2. 英语为必修课,第8级为8~10级
  3. 。英语是第三科/选修课第三组的一部分,因为9-10级英语可以被视为subject1、subject2或subject3,但只有一次,而英语作为主语1与英语不同。

我想把学生和他的科目联系起来。

另外,对于8std部分A& B(std +节=类),英语是8c的第三门学科,它是固定的德语,但8D可以两者兼具。如果这些数据也能以某种方式关联到同一个表中,那就太好了。这是一种类似于允许上课的科目。

我也想要副教师到科目和班级(X老师取英语8c)

EN

回答 3

Stack Overflow用户

发布于 2011-11-06 17:49:10

通过使用以下表格,您的问题似乎很容易解决:

学生

  • id
  • class_id

教师

  • id

  • id

主题

  • id
  • grade
  • optional
  • requires_subject_id

课程

  • id
  • teacher_id
  • subject_id
  • school_year

course_attendants

  • course_id
  • student_id

如您所见,如果主题是可选的或强制的,则在表subject中定义约束。一门学科可以由教师在一门课程和一个学年里教授。最后,如表course_attendants所述,学者可以参加课程。若要检查学生过去是否已选修过某门课程,您必须只检查表course_attendants和课程。要设计一个课程只能在已经访问另一个课程的情况下才能参加,请将所需的课程id放在表主题的字段requires_subject_id中。

票数 4
EN

Stack Overflow用户

发布于 2012-01-11 02:27:49

学生与学科、教师和学科之间的关系应该存储在不同的"course_relationships“表中。对于必修科目,请将SQL添加到用于创建学生的函数中,该函数随后为每个必修科目创建关系。类似于:

代码语言:javascript
复制
// after whatever function you're using to create users

$compulsory_classes=array();

// for sixth grade
$compulsory_classes['6'] = array();

// for sake of example, say English course ID is 1
$compulsory_classes['6'][] = 1;

$user_class = $user->class;
foreach($compulsory_classes[$user_class] as $current_class) {
    mysql_query("INSERT INTO relationships (user_id, course_id)
    VALUES (" . $user_class . ", " . $current_class . ")");
}

然后使用单独的表单或函数来添加非强制性的类。

票数 1
EN

Stack Overflow用户

发布于 2012-01-12 19:52:45

正确安排课桌的关键是要认识到,学生对科目的学习是一种多对多的关系。因此,您需要一个中间表来建立关系。

因此,您有一张供学生使用的表格:比如Student_ID、FirstName、LastName等。

第二个科目表:例如Class_ID,SubjectName,年级,选修课等

然后有一个中间表,如StudentSubjectLinks,它只有以下三个字段;

LinkID:中间表的ID。

Student_ID:它被设置为链接到“学生”表中的Student_ID的外键。

Class_ID:它被设置为链接到Subject表中的Class_ID的外键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8028924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档