oracle数据库中表跟表怎样关联

oracle数据库中表跟表怎样关联,第1张

建立外键?

例:学生表student (id, name , sex )

成绩表score (id ,math )

如何创建表,要求 有主键,有约束 解:

CREATE TABLE STUDENT(ID CHAR(10), NAME VARCHAR(8),SEX CHAR(1));

ALTER TABLE STUDENT ADD CONSTRAINT PK_STUDENT PRIMARY KEY(ID);

CREATE TABLE SCORE( ID CHAR(10),MATH NUMBER(5,2));

ALTER TABLE SCORE ADD CONSTRAINT FK_SCROE FOREIGN KEY(ID) REFERENCES STUDENT(ID);

主键与外键:

键是表中的列(可以是一列,也可以是几列),主键用于唯一的标识表中的数据项;外键用于连接父表和子表。而所谓的父表和子表是根据3NF

范式的要求,为了消除传递依赖,将原表拆成2个相互关联的表,而这个关联就是外键。

按表名导出:expdp

用户名/密码@数据库名称

TABLES=表名1,表名2

dumpfile=导出文件名dmp

DIRECTORY=文件夹名称;

导入指定表空间:impdp

用户名/密码

DIRECTORY=文件夹名称

DUMPFILE=待导入文件名dmp

TABLESPACES=表空间名;

分布式查询可能一条SQL语句中有不同远程库的表,相关概念lz可以网上查找,使用时注意下面几点。

使用collocated内联视图—也就是sql要对引用不同远程库的表,要组织好,将相同库的表放一起组织成内联视图,这样oracle就很容易知道这个内联视图里的表是在同一远程库作完查询

  后再返回给本地库,这样减少了本地库与远程库的交互次数和传输结果集的数量和次数。

了解cbo优化器对分布式查询的处理(cbo也是尽量转为collocated内联视图),它可能是不高效的,这时候得用其他的方法,比如使用HINT,改造SQL,改造分布式查询的方法(远程库用视图)等

使用hint,特别是driving_site hint(如:parallel,use_hash,full等,它能指定执行计划在远程还是本地做),特别是本地小结果集,远程大结果集的时候,总体结果集较小,希望计划在远程驱动,这样远程执行完毕,将结果集传输到本地,这样避免大结果集的传输。

lz还要学会看执行计划,这很重要,有问题再追问。

以上就是关于oracle数据库中表跟表怎样关联全部的内容,包括:oracle数据库中表跟表怎样关联、oracle数据库中如何查询关联数据并导出指定数据、数据库oracle的夸跨库连接怎么弄,要注意什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9809232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存