数据库实验报告三
完整性约束
1、实验目的
1. 熟悉主键,外键, check等完整性约束;
2. 掌握完整性约束的建立,删除,有效化和无效化;
2. 掌握完整性约束的建立,删除,有效化和无效化;
3. 熟悉相关的DDL 命令。
4. 学会看数据库模型图。
4. 学会看数据库模型图。
2、实验内容
1. 主键约束
a. 按图1所示, 建立所有表的主键约束。
a. 按图1所示, 建立所有表的主键约束。
b. 运行下列SQL语句:
insert into branch values(‘Xiangtan University’,’Xiangtan’,4000000);
insert into branch values(‘Xiangtan University’,’Xiangtan’,4000000);
insert into branch values(‘Xiangtan University’,’Xiangtan’,5000000);
记录结果并分析原因。
记录结果并分析原因。
2. 外键约束
a. 按照图1所示,建立所有的外键约束。
b. 运行以下的两条SQL语句:
insert into loan values(‘L-001’,’Xiangtan University’,1000);
insert into loan values(‘L-002’,’Rain Lake’,2000);
记录结果并分析原因。
c. 运行以下的SQL语句:
delete branch;
记录结果并分析原因。
3. unique约束
a. 在loan表上建立一个unique约束,保证amount是唯一的。
b. 运行以下SQL语句:
insert into loan values(‘L-002’,’Xiangtan University’,2000);
a. 按照图1所示,建立所有的外键约束。
b. 运行以下的两条SQL语句:
insert into loan values(‘L-001’,’Xiangtan University’,1000);
insert into loan values(‘L-002’,’Rain Lake’,2000);
记录结果并分析原因。
c. 运行以下的SQL语句:
delete branch;
记录结果并分析原因。
3. unique约束
a. 在loan表上建立一个unique约束,保证amount是唯一的。
b. 运行以下SQL语句:
insert into loan values(‘L-002’,’Xiangtan University’,2000);
记录结果并分析原因。
c. 使得刚才建立的约束无效化,并再次运行上一条SQL语句,记录结果并分析原因。
c. 使得刚才建立的约束无效化,并再次运行上一条SQL语句,记录结果并分析原因。
d. 删除掉这个约束。
4. check约束
a. 在loan表上建立一个check约束,保证创建唯一约束sql语句amount必须为正数。
b. 运行以下SQL语句:
insert into loan values(‘L-003’,’Xiangtan University’,-2000);
记录结果并分析原因。
4. check约束
a. 在loan表上建立一个check约束,保证创建唯一约束sql语句amount必须为正数。
b. 运行以下SQL语句:
insert into loan values(‘L-003’,’Xiangtan University’,-2000);
记录结果并分析原因。
3、实验结果
1、建立所有表的主键约束。
ALTER TABLE account
ADD CONSTRAINT APK_num PRIMARY KEY (account_number);
ALTER TABLE borrower
ADD CONSTRAINT BCU_name PRIMARY KEY (customer_name,loan_number);
ALTER TABLE branch ADD CONSTRAINT BH_name PRIMARY KEY (branch_name);
ALTER TABLE customer ADD CONSTRAINT CC_name PRIMARY KEY (customer_name);
ALTER TABLE depositor ADD CONSTRAINT DC_name PRIMARY KEY (customer_name,account_number);
ALTER TABLE loan ADD CONSTRAINT LL_num PRIMARY KEY (loan_number);
2、运行下列SQL语句:
insert into branch values(‘Xiangtan University’,’Xiangtan’,4000000);
insert into branch values(‘Xiangtan University’,’Xiangtan’,5000000);
insert into branch values(‘Xiangtan University’,’Xiangtan’,4000000);
insert into branch values(‘Xiangtan University’,’Xiangtan’,5000000);
脚本:
1 行 已插入
在行 2 上开始执行命令时出错:
insert into branch values('Xiangtan University','Xiangtan',5000000)
错误报告:
SQL 错误: ORA-00001: 违反唯一约束条件 (2013960833.BH_NAME)
00001. 00000 - "unique constraint (%s.%s) violated"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论