建立外键?
例:学生表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的夸跨库连接怎么弄,要注意什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)