完整性约束讲解Word文档下载推荐.docx

上传人:b****4 文档编号:7684530 上传时间:2023-05-08 格式:DOCX 页数:12 大小:814.03KB
下载 相关 举报
完整性约束讲解Word文档下载推荐.docx_第1页
第1页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第2页
第2页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第3页
第3页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第4页
第4页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第5页
第5页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第6页
第6页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第7页
第7页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第8页
第8页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第9页
第9页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第10页
第10页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第11页
第11页 / 共12页
完整性约束讲解Word文档下载推荐.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整性约束讲解Word文档下载推荐.docx

《完整性约束讲解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整性约束讲解Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。

完整性约束讲解Word文档下载推荐.docx

insertintobranchvalues(‘XiangtanUniversity’,’Xiangtan’,4000000);

insertintobranchvalues(‘XiangtanUniversity’,’Xiangtan’,5000000);

记录结果并分析原因。

2.外键约束

a.按照图1所示,建立所有的外键约束。

b.运行以下的两条SQL语句:

insertintoloanvalues(‘L-001’,’XiangtanUniversity’,1000);

insertintoloanvalues(‘L-002’,’RainLake’,2000);

c.运行以下的SQL语句:

deletebranch;

3.unique约束

a.在loan表上建立一个unique约束,保证amount是唯一的。

b.运行以下SQL语句:

insertintoloanvalues(‘L-002’,’XiangtanUniversity’,2000);

c.使得刚才建立的约束无效化,并再次运行上一条SQL语句,记录结果并分析原因。

d.删除掉这个约束。

4.check约束

a.在loan表上建立一个check约束,保证amount必须为正数。

insertintoloanvalues(‘L-003’,’XiangtanUniversity’,-2000);

 

3、实验结果

1、建立所有表的主键约束。

ALTERTABLEaccount

ADDCONSTRAINTAPK_numPRIMARYKEY(account_number);

ALTERTABLEborrower

ADDCONSTRAINTBCU_namePRIMARYKEY(customer_name,loan_number);

ALTERTABLEbranchADDCONSTRAINTBH_namePRIMARYKEY(branch_name);

ALTERTABLEcustomerADDCONSTRAINTCC_namePRIMARYKEY(customer_name);

ALTERTABLEdepositorADDCONSTRAINTDC_namePRIMARYKEY(customer_name,account_number);

ALTERTABLEloanADDCONSTRAINTLL_numPRIMARYKEY(loan_number);

2、运行下列SQL语句:

脚本:

1行已插入

在行2上开始执行命令时出错:

insertintobranchvalues('

XiangtanUniversity'

'

Xiangtan'

5000000)

错误报告:

SQL错误:

ORA-00001:

违反唯一约束条件(2013960833.BH_NAME)

00001.00000-"

uniqueconstraint(%s.%s)violated"

*Cause:

AnUPDATEorINSERTstatementattemptedtoinsertaduplicatekey.

ForTrustedOracleconfiguredinDBMSMACmode,youmaysee

thismessageifaduplicateentryexistsatadifferentlevel.

*Action:

Eitherremovetheuniquerestrictionordonotinsertthekey.

分析:

已经插入一行,再插入同名的主键列会出错。

违反唯一约束条件。

3、建立所有的外键约束。

ALTERTABLEborrower

ADDCONSTRAINTFK1

FOREIGNKEY(customer_name)REFERENCEScustomer(customer_name);

ADDCONSTRAINTFK2

FOREIGNKEY(loan_number)REFERENCESloan(loan_number);

ALTERTABLEloan

ADDCONSTRAINTFK3

FOREIGNKEY(branch_name)REFERENCESbranch(branch_name);

ALTERTABLEdepositor

ADDCONSTRAINTFK4

ADDCONSTRAINTFK5

FOREIGNKEY(account_number)REFERENCESaccount(account_number);

ALTERTABLEaccount

ADDCONSTRAINTFK6

4、运行以下的两条SQL语句:

insertintoloanvalues('

L-002'

RainLake'

2000)

ORA-02291:

违反完整约束条件(2013960833.FK3)-未找到父项关键字

02291.00000-"

integrityconstraint(%s.%s)violated-parentkeynotfound"

Aforeignkeyvaluehasnomatchingprimarykeyvalue.

Deletetheforeignkeyoraddamatchingprimarykey.

5、运行以下的SQL语句:

在行1上开始执行命令时出错:

deletebranch

ORA-02292:

违反完整约束条件(2013960833.FK3)-已找到子记录

02292.00000-"

integrityconstraint(%s.%s)violated-childrecordfound"

attemptedtodeleteaparentkeyvaluethathadaforeign

dependency.

deletedependenciesfirstthenparentordisableconstraint.

6、在loan表上建立一个unique约束,保证amount是唯一的。

ALTERTABLEloan成功。

7、运行以下SQL语句:

8、使得刚才建立的约束无效化,并再次运行上一条SQL语句。

违反唯一约束条件(2013960833.LL_NUM)

9、删除掉这个约束。

altertableloandropunique(amount);

10、在loan表上建立一个check约束,保证amount必须为正数。

altertableloanaddcheck(amount>

0);

11、运行以下SQL语句:

L-003'

-2000)

ORA-02290:

违反检查约束条件(2013960833.SYS_C0051122)

02290.00000-"

checkconstraint(%s.%s)violated"

Thevaluesbeinginserteddonotsatisfythenamedcheck

donotinsertvaluesthatviolatetheconstraint.

插入的amount数据小于0,违反检查约束条件出错。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2