我想将 Lectures Timing 信息存储在 3rd Normalized Database 中。Lecture Info的ER图如下:
由于Lecture_Day
是多值属性,所以我将数据库设计如下:
讲座时间表:
_ID | Lecture Start Time | Lecture End Time | Lecture Loaction | Course ID FK
讲座日程表:
_ID | Lecture Time ID FK | Course ID FK | Lecture Day
创建这些表的查询如下:
CREATE TABLE lectureTimeTable (
_id INTEGER,
startTime TEXT NOT NULL,
endTime TEXT NOT NULL,
course_ID_FK INTEGER,
FOREIGN KEY (course_ID_FK) REFERENCES CourseTable(_id),
PRIMARY KEY (_id, course_ID_FK)
);
CREATE TABLE lectureDayTable (
_id INTEGER,
classDay INTEGER NOT NULL,
classTime_ID_FK INTEGER,
course_ID_FK INTEGER,
FOREIGN KEY (course_ID_FK, classTime_ID_FK)
REFERENCES lectureTimeTable(course_ID_FK, _id),
PRIMARY KEY (_id, classTime_ID_FK, course_ID_FK)
);
现在,用户通过提供讲座地点、开始时间、结束时间和讲座日来添加新的课程时间表。我在表格中单独添加此信息,如下所示:
INSERT INTO lectureTimeTable VALUES (1, "12:00", "1:00", 1);
// and for inserting the days i am using a for loop as follows, Here the
for(i=0; i<=selectedDays.length();i++){
INSERT INTO lectureDayTable VALUES (1, selectedDays[i], 1, 1);
}
我对从这些表中添加/检索数据感到不安,所以我只想确保我的数据库设计不错。
谢谢。