【问题标题】:How to represent days and time in Instructors_courses table如何在 Instructors_courses 表中表示日期和时间
【发布时间】:2017-03-18 21:46:00
【问题描述】:

问题

我需要制作设计数据库(ERD)来显示每位讲师的日程安排

包括

课程日期(周六或周一等)

什么时候上课(从中午 12 点到下午 3 点)。

以及它将提供什么课程(c# 或 SQL)。

示例

教练 martin 在周一和周六的 12 pm - 03 pm 期间开设 c# 课程

以及周日和周三下午 12 点至下午 3 点期间的 SQL。

详情

所以我设计了以下表格:

教员表(InstractorID,InstractorName)

课程表(CourseID,CourseName)

Instructors_courses 表(instcourseID,InstractorID,CourseID)

instructors 表和 Courses 表之间的关系是多对多的,因此 我做的另一张表是 Instructors_Courses 表。

我的问题是

1- 如何表示添加的每门课程的日期和时间

我可以添加时间表和天表并与之建立关系

Instructors_courses 表通过添加日期 id 和时间 id(一对多)

或者从用户界面进行编程。

2-课程开始日期和课程结束日期这两个字段如何表示

表 Instructors_courses 表。

我可以添加,但它会在每门课程中重复,这是正确的还是什么。

【问题讨论】:

    标签: sql-server-2008 database-design relational-database


    【解决方案1】:
    1. 您可以使用自动增量或某种编码模式。例如 MON8A10A 表示星期一上午 8 点到 10 点。这只有在你只有一间教室的情况下才会奏效。如果房间也有代码,您也可以添加代码 (MON8A10AR1)。这样您就可以管理课程、讲师及其时间段。您也可以将时间开始时间、结束时间、日期和教室添加为列。

    2. 在 course_instructor 表中添加课程开始日期和结束日期是不明智的,因为它会重复数据。但是您的方法会根据您拥有的数据量和系统的响应能力而有所不同。如果您有大量数据并且需要更好地节省存储空间以为此创建一个单独的表。但是你需要与它建立关系。拥有多个关系可能会减慢检索结果。但这适用于很长的关系。如果你只有 2 或 3 个,那没关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多