我有一个家庭作业,要求我使用 Oracle 10g Express 实现一个对象关系数据库来跟踪电话计费数据。我有一个通信超类,其中包含呼叫、文本和数据的子类。我在正确填充这些表时遇到了麻烦,以便我可以在各种表中找到适当的数据。
我的类型和表声明如下:
create type CommunicationType as object (
-- column names here
) not final;
create type CallType under CommunicationType (
-- column names here
);
create type TextType under CommunicationType (
-- column names here
);
create type DataType under CommunicationType (
-- column names here
);
create table Communications of CommunicationType (
-- Primary and Foreign key constraints here
);
create table Calls of CallType;
create table Texts of TextType;
create table Datas of DataType;
当我尝试将insert
数据输入其中一个子类时,它的条目不会出现在超类中。同样,如果我insert
进入超类,它不会出现在适当的子类中。例如,insert into Calls values (CallType( -- Values -- ));
在 Communications 中不显示任何数据。insert into Communications values (CallType( -- Values -- ));
通话中也不显示任何内容。
我究竟做错了什么?