1. 关系集转化为关系模式

转换的方式是:

  • 判别器转化为主键(即teacher_id) 
  • 去掉复合属性,只保留简单属性(去掉name)
  • 去掉多值属性,将多值属性单建表格
  • 多值属性转化为的表格中,多值属性本身也是主键(这样才能使得主键唯一确定一个元组)

所以该关系集转化为:

Teacher(teacher_id, first_name, middle_name, last_name, email)

TeacherPhone(teacher_id, phone)

2. 弱实体集转化为关系模式

  • 将其依赖的实体集的主键作为外键引入,并将其作为主键
  • 判别器也转化为主键

所以该弱实体集转化为:

Student(student_id, name, class, major)

Paper(retrieval_id, student_id, title)

PaperAuthors(retrieval_id, authors)

3. 多对多关系集转化为关系模式

关系集作为一个单独的关系模式,加入连接的两个实体集的主键

该关系集转化为:

review(expert_id, project_id

4. 一对多关系转化为关系模式

在“多”的那一侧加入“一”的那一侧的主键作为外键,而不作为主键

如图所示,Student可以转化为:

Student(student_id, teacher_id, name, class, major)

这里还有个奇妙的——mapping cardinality(映射基数) from Teacher to Student is many-to-one,嗯,是反着的

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐