【问题标题】:Translating diagram to SQL Database将图表转换为 SQL 数据库
【发布时间】:2013-09-10 13:27:55
【问题描述】:

我无法理解如何将此图表转换为带有表格的数据库。我想补充一点,我对此很陌生。这是我想要转换到我的 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),

【问题讨论】:

    标签: sql database diagram


    【解决方案1】:

    意思是:

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

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

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

    学生桌: id_student, id_person, 姓名, 其他的东西

    教师桌: id_teacher id_person, 姓名, 其他的东西

    techer_student 表(多对多) id_student id_teacher

    【讨论】:

    • 我只是不建议使用名称作为主键,因为很多人都有相同的全名。就像 h3nr1x 说的,这只是 3 种方法中的一种。
    【解决方案2】:

    数据库中的继承情况有几种处理方式,JPA,例如,定义了3种数据库中的继承策略,分别是:Single Table、Table for Class和Joined,它们都是最好的描述(包括表/class示例)在下面link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-01
      • 2011-12-05
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2017-04-01
      • 1970-01-01
      相关资源
      最近更新 更多