作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 Lectures Timing 信息存储在 3rd Normalized Database 中。Lecture Info的ER图如下:
由于 Lecture_Day
是多值属性,所以我将数据库设计如下:
讲座时间表:
_ID |讲座开始时间 |讲座结束时间 |讲座地点 |类(class) ID FK
LectureDayTable:
_ID |讲座时间 ID FK |类(class)编号 FK |讲座日
创建这些表的查询如下:
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)
);
现在,用户通过提供讲座地点、开始时间、结束时间和讲座日期来为类(class)添加新的时间表。我将这些信息分别添加到表格中,如下所示:
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);
}
我在从这些表中添加/检索数据时遇到了麻烦,所以我只想确保我的数据库设计不错。
谢谢。
最佳答案
您可以设计一个名为timetable
的表,该表可以保存您每周的日程安排。您可以用时间 block 和教室的二维数组完全填满它。这使您可以在屏幕上打印时间表,而无需计算网格。网格已经预加载到表中。然后从 lecture
的表格中,您可以将它们分配给 timetable
关于mysql - 单门类(class)排课数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248963/
我在做这个 SQL 作业问题时遇到了一些麻烦,并且尝试了多次不同的尝试,但总是得到相同的错误答案。我不确定我错过了什么,如果有人可以帮助我,那就太好了! :) 问题:显示同一学期至少教授 2 门类(c
我是一名优秀的程序员,十分优秀!