关系数据库设计 - 大学提供的课程

时间:2016-08-28 07:01:59

标签: mysql database

我正在为我国的大学创建一个数据库。每所大学提供的课程名称的特定数据库。

我认为我必须考虑以下几点来创建数据库

  1. 可能的课程名称,让我们假设100门课程。
  2. 一所大学提供的课程名称,让我们假设为60。
  3. 大学提供的课程数量可能因大学而异。一个人可以提供60个课程,其他可能只提供50个。课程可能重叠。
  4. 如何考虑第3点,如何在第1点表和第2点表之间创建关系数据库。请为此建议一个设计模式。

2 个答案:

答案 0 :(得分:0)

通常情况下,您可以使用第一张表格中的课程ID列出所有可用课程(在所有大学中)和另一张表格,其中包括大学和课程(每个组合一个记录)。当然,这只是一个非常基本的描述。您可能还希望为大学提供一个表格,课程实例(意思是,同一课程可能在一年中运行多次,甚至在同一所大学内重叠以应对大量学生),等等

答案 1 :(得分:0)

你可以:

  • university_course,这是一种university
  • 的课程
  • a course_category广泛收集各种类型的课程
  • 许多course行,它们在一个类别中提供课程名称。

所以:

  • university_course.university_id -> university.id(大学有很多大学课程)
  • university_course.category_id -> category.id(大学课程有一个类别)
  • course.category_id -> category.id(一个类别有很多课程)

因此,这套课程(计算机科学,网络,计算机研究,计算机硬件)可以映射到一个类别(计算机科学),然后每个大学课程都指向该类别。