如何解决如何从第三个表中的两个不同表制作外键?
我有三个表命名为:
Staff(id,name,address);
Members(id,address);
Plans(id,Userid,type);
我想从计划外键为 Staff 和 Members 表创建 Userid 我该怎么做?
解决方法
嗯……不是那样的。
员工和成员应该存储在同一个表中,并有额外的列(和要引用的表)说明某人是“员工”还是“成员”。那么 plans
表不再有问题。
SQL> create table type_sm
2 (id_sm number constraint pk_tsm primary key,3 name varchar2(20) constraint ch_typ check (name in ('staff','member'))
4 );
Table created.
SQL> create table staff_members
2 (id_sta_mem number constraint pk_stamem primary key,3 id_sm number constraint fk_sm_typ references type_sm (id_sm),4 name varchar2(20),5 address varchar2(30)
6 );
Table created.
SQL> create table plans
2 (id_pla number constraint pk_pla primary key,3 id_sta_mem number constraint fk_plastamem references staff_members (id_sta_mem)
4 );
Table created.
SQL>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。