gpt4 book ai didi

mysql - 如何实现和插入值 SQL 特化/通用化

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:44 25 4
gpt4 key购买 nike

我的表格包含这 3 个实体:学生、讲师和个人。人将是拥有学生和讲师共同属性的 parent 。这是我的数据库设计,这是实现特化的正确方法吗?

personID int 主键,
作用 varchar(10) ,
名称 varchar(50),
电子邮件 varchar(255)

学生

学生ID整数,
摄入 varchar(50),
主要 varchar( 50) ,
personID int 引用人(personID)

讲师

LecturerID 整数,
技能 varchar(50),
限定 varchar(50) ,
personID int 引用人(personID)

上面的表格,这是实现泛化/特化的正确方法吗?如果是,如何在新学生注册时向数据库插入新值?

最佳答案

您通常有正确的想法(或者至少是实现此类数据库模式的常用习惯用法之一)。如果你的支持它,我会为 role 列使用枚举(例如,MySQL 支持。MS SQL Server 不支持)。如果没有,我会添加一个检查约束来实现类似的效果,并确保您不会在此处插入任何垃圾。

应该首先对基表 (person) 进行插入,然后才对特化表(studentlecturer)进行插入。例如:

INSERT INTO person 
VALUES (1, 'student', 'hiboss', 'hiboss@example.com');

INSERT INTO student
VALUES (100, 'intake', 'computer science', 1);

关于mysql - 如何实现和插入值 SQL 特化/通用化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37236779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com