SQLite 数据库中的连接 table
Junction table in SQLite database
好吧,我正在尝试构建一个允许教师和学生之间交换消息的应用程序。我需要构建一个 ContentProvider
class,但是我遇到了如何表示 Instructor
和 Student
[=27= 之间的多对多关系的问题]是的,与其说是问题,不如说是混乱。
我知道我需要创建一个结点table,例如:
CREATE TABLE InstructorStudent (
Student INTEGER REFERENCES Student (student_id),
Instructor INTEGER REFERENCES Instructor (instructor_id),
PRIMARY KEY (student_id, instructor_id))
但是,我有一个问题:如果我将联结 table 的主键作为一个自动递增的简单整数,这是否被认为是一种不好的做法?
附加问题
如何检索特定教师的学生列表,反之亦然?
我认为您不需要为连接使用自动增量器 table。只要instructor id和student id都是唯一的就可以了。
How do I retrieve the list of students for a particular instructor, and vise versa?
假设您的学生 table 是 tbl_student
下面是我将如何编写查询。
select * from junctionStudentConstructor where InstructorStudent.Instructor = insid;
将 inside 替换为讲师 ID。
好吧,我正在尝试构建一个允许教师和学生之间交换消息的应用程序。我需要构建一个 ContentProvider
class,但是我遇到了如何表示 Instructor
和 Student
[=27= 之间的多对多关系的问题]是的,与其说是问题,不如说是混乱。
我知道我需要创建一个结点table,例如:
CREATE TABLE InstructorStudent (
Student INTEGER REFERENCES Student (student_id),
Instructor INTEGER REFERENCES Instructor (instructor_id),
PRIMARY KEY (student_id, instructor_id))
但是,我有一个问题:如果我将联结 table 的主键作为一个自动递增的简单整数,这是否被认为是一种不好的做法?
附加问题
如何检索特定教师的学生列表,反之亦然?
我认为您不需要为连接使用自动增量器 table。只要instructor id和student id都是唯一的就可以了。
How do I retrieve the list of students for a particular instructor, and vise versa?
假设您的学生 table 是 tbl_student
下面是我将如何编写查询。
select * from junctionStudentConstructor where InstructorStudent.Instructor = insid;
将 inside 替换为讲师 ID。