【问题标题】:Why is there a staff_typ_id attribute?为什么有一个 staff_typ_id 属性?
【发布时间】:2014-04-12 13:46:06
【问题描述】:

我在数据建模器中创建了一个 ER 模型,其中一个实体会自动设置主键,即使我不想要该特定实体的主键.. 这是一个屏幕截图正如您在逻辑模型上看到的那样是没有staff_type_id

但是关系模型有 staff_type_id 为什么会这样?它在我实现数据库时产生了问题。请帮忙:(

【问题讨论】:

    标签: sql database oracle data-modeling


    【解决方案1】:

    我认为这没有问题,如果您注意到您正在以 1:N 的关系链接两个表,并且您无法链接没有主键的实体。最好为每个链接实体创建一个主键。如何在没有外键和主键的实体之间链接?!

    一般来说,建议给每个链接实体提供主键。

    我不明白这是怎么回事!你能解释更多吗?

    【讨论】:

    • 好吧,我有一个实体叫做人员,它是实体人员类型的超类型。所以基本上人员的主键作为外键传递给人员类型。因为它是一个子类型,所以我不想要那个实体的主键
    • 如果你的意思是“超类型”是父亲而“子类型”是它所固有的儿子,那么你的答案是错误的!因为你必须创建两个主键(每个父表一个和一个人),并且像这样链接两个主键 create table Father { ID varchar(10) primary key, ...... } create table son { ID varchar (10)主键,.......,约束FK1外键(ID)引用Father(ID) on delete cascade on update cascade }
    • 固有的会给儿子所有的属性,它应该按照我在上一条评论中提到的方式实现,否则你不能做固有的东西。
    猜你喜欢
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 2012-07-11
    • 2014-12-05
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多