1.系统概念模型

(注:本例中上课时间可以抽象成实体,也可以抽象成属性。)

2.详细说明

(1)系统涉及的实体集

  • 班级实体集:具有属性班级名称和选课学分限制。
  • 学生实体集:具有属性学号、姓名、性别和生日。
  • 课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数
  • 上课时间实体集:具有属性时间

(2)系统涉及的联系

  • 个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学
    生之间的联系为1:M的联系
  • 一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班
    级和课程之间的必修联系是M:N的联系
  • 个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生
    和课程之间的联系是M:N的联系
  • 一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所
    以课程和上课时间的联系是M:N的联系。

3.逻辑结构设计

将E-R模型转换为关系模式:
(1)班级实体集可以转换为关系
CLASS (CLASSNAME,MAXCREDIT,MINCREDIT)
CLASSNAME表示班级名称, MAXCREDIT表示最大学分限制
MIINCREDIT表示最小学分限制

(2)学生实体集可以转换为关系
STUDENT(STUDENTID,NAME,SEX.,BIRTHDAY)
STUDENTID表示学号,NAME表示姓名,SEX表示性别, BIRTEIDAY表示生日

(3)课程实体可以转换为关系
COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)
COURSEID表示课程号, COURSENAM表示课程名, CREDIT表示学分,
TEACHER表示授课教师

(4)班级和学生之间的联系是1:M的联系,所以没有必要为其建立一个关系,
可以通过扩展学生关系来表示。
STUDENT(STUDENTID, NAME, SEX, BIRTHDAY, CLASSNAME)
CLASSNAME表示学生所在班级名。

(5)班级和课程之间的必修联系可以转换为关系
CLASSCOURSE(CLASSNAME, COURSEID)
CLASSNAME表示班级名称, COURSEID表示课程号。

(6)学生和课程之间的选修联系可以转化为关系
STUDENTCOUSE(STUDENTID, COURSEID ,GRADE)
STUDENTID表示学号, COURSEID表示课程号, GRADE表示成绩

(7)课程和上课之间的联系可以转化为关系
COURSETIME(COURSEID, TIME)
COURSEID表示课程号,TIME表示上课时间
(注:若将上课时间抽象成属性,则不必有关系(7))

4.数据库物理结构设计

1、把关系模型转化为表结构

(1)班级信息表( class):包含所有的班级信息
班级信息表

(2)学生信息表( student):包含所有学生的个人信息。
学生信息表

(3)课程信息表( course):包含所有课程信息。
课程信息表

(4)班级必修课表( classcourse):包含所有班级的必修课信息。
班级必修课表

(5)学生选课表( studentcourse):包含所有学生的选课信息。
学生选课表

(6)上课时间表( coursetime):包含所有课程的上课时间。
上课时间表

注: COURSETIMIE是一个整数,整除10的商表示星期几上课,余数表示当天的第几节

@本文章摘至百度文库,如有侵权请联系作者删除

最后修改:2021 年 08 月 25 日 11 : 26 AM
如果觉得我的文章对你有用,请随意赞赏