oracle外键:Oracle系统表外键的更名来源: 发布时间:星期二, 2008年12月23日 浏览:112次 评论:0
正在看ORACLE教程是:Oracle系统表外键更名 Oracle中表外键是保证系统参照完整性手段而参照完整性是指分布在两个表中列所满足具有主从性质约束关系外键涉及到两个表其中个称的为父项表另个称的为子项表
父项表(parent table)是参照约束基础即通过检查这张表有效数据情况来判断约束是否成立它是参照约束条件影响约束而不受约束任何影响 子项表(child table)是参照约束对象当其发生变化如有新数据输入时通过比较父项表中有效数据状况来判断这些变化是否符合约束条件若不符合则拒绝要发生变化 在实际应用系统中开发者为了保证系统完整性般要定义大量外键然而如果外键命名不规范标准如采用系统自动生成名称则在以后系统运行维护中会造成很大麻烦如在系统运行后加载大量数据或者进行些数据转换操作等时出现外键时根据系统提示外键根本不可能直接定位到那两个表间外键发生需要浪费很多时间查找造成发生外键父项表和子项表然后才能进步确定是那条记录违反了外键约束条件通常我们采用这样命名规则来命名外键FK_Child_table name_Parent_table name由于外键名称最大长度限制在30个的内对child_table_name和Parent_table name不定和原表模样可以采取些简写办法但名称定要能反映出约束两个表这里命名Child_table name指子项表也就是约束表Parent_table name是指父项表也就是被约束表 下面来详细讨论如何将应用系统中不规范标准外键命名修改为规范标准外键名称在讨论的前需要提醒读者注意是完成下面操作需要花费较长时间所以定要规划在系统空闲时来完成同时这里外键更名采用思路方法是首先删除然后重建涉及到删除应用系统对象操作所以在操作的前为安全起见应该备份应用系统 [NextPage] 、生成系统目前外键报告单 首先生成系统目前模式下所有外键情况报告单SQL脚本如下: 该脚本生成所在模式下所有外键情况包括外键名称父项表名称子项表名称以及引用列名称等在SQL/PLUS下运行该脚本在运行该脚本的前可以将输出SPOOL到本地某个文件中同时要注意如果应用系统中外键比较多且复杂话这个脚本运行时间会比较长 2、生成删除系统自动命名外键脚本 在SQL/PLUS下运行下面脚本来生成删除系统自动命名(也就是外键名称以SYS为前缀)所有外键和生成外键报告样将生成脚本spool到某个文件中 运行该脚本系统生成如下所示删除外键脚本: 3、生成重新创建删除外键脚本 在SQL/PLUS下运行下面脚本来生成重新创建删除外键脚本: 运行该脚本系统生成如下所示创建外键脚本: ALTER TABLE DJ_NSRXX ADD CONSTRAINT 外键名称 FOREIGN KEY (RYDM) REFERENCES DM_GY_SWRY(RYDM); 将上面外键名称以上面介绍规范标准命名规则命名外键名称代替就是 4、外键更名 生成上面两个脚本后首先运行第 2步中删除系统自动生成外键脚本将系统中命名不规范标准外键删除然后运行第 3步中生成创建外键脚本重新创建这些删除外键也就实现了对不规范标准外键更名 5、系统检查 操作完成后重新执行步骤1再生成个应用系统外键报告单作对比检查如果正确无误则更名成功否则查找原因 上页 0
相关文章读者评论发表评论 |