2

我无法看到我应该如何将此图表转换到我的带有表格的数据库中。我想补充一点,我对此很陌生。这是我想转换到我的 SQL 数据库中的示例图片:

图表

我不太确定这样的图表在我的 SQL 数据库中的外观如何,并没有真正使用继承。如果有人能用 SQL 中的表演示它的外观,我将不胜感激。

谢谢。

编辑:

create table Person(
IDCode CHAR(10) UNIQUE NOT NULL,
primary key (IDCode),
);

create table Student(
IDCode CHAR(10) UNIQUE NOT NULL,
Name VARCHAR(15),
Course VARCHAR(15)
primary key (Name),
foreign key (IDCode) references Person (IDCode)
);

create table Teacher(
IDCode CHAR(10) UNIQUE NOT NULL,
Name VARCHAR(15),
Course VARCHAR(15)
primary key (Name),
foreign key (IDCode) references Person (IDCode)
);

create table StudentTeacherRelationship(
StudentName VARCHAR(15),
TeacherName VARCHAR(15),
primary key(StudentName,TeacherName),
foreign key(StudentName) references Student (Name),
foreign key(TeacherName) references Teacher (Name),
4

2 回答 2

2

它的意思是:

  • 一个人有一个身份证号码
  • 学生和老师都是人,他们的 id 信息在 person 表中,一个学生/老师只有一个 id
  • 一个学生可以有很多老师
  • 一个老师可以教很多学生

所以应该有4个表(只是psudo伪代码给你一个想法):

person 表:id_person,(主键)real_id(真实id,可以是任何东西)

学生表:id_student、id_person、name、other_stuff

教师表:id_teacher id_person、name、other_stuff

一张 techer_student 表(多对多) id_student id_teacher

于 2013-09-10T13:37:51.867 回答
0

处理数据库中的继承情况有几种方法,例如JPA定义了 3 种数据库中的继承策略,它们是:Single Table、Table for Class 和 Joined,它们都被最好地描述(包括表/类示例)以下链接

于 2013-09-10T13:49:54.043 回答