当前位置:文档之家› 数据库系统与应用 上机实验三

数据库系统与应用 上机实验三

一、实验目的:为实验2建立的表设计一组数据进行插入、删除、修改等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。

二、实验内容:数据的插入、更新和删除。

三.、程序源代码:

--1、部分记录

insert into 客户 values('C001','A公司','小明','北京','123456','143567568457')

insert into 客户 values('C002','B公司','小李','上海','234567','146389045634')

insert into 客户(客户号,客户名称) values('C009','J商场')



insert into 产品 values('GD001','iphone','4s','5000')

insert into 产品 values('GD002','ipad','2g','5500')

insert into 产品(产品号,产品名称) values('GD010','Mac Pro')



insert into 订购单(客户号,订单号) values('C001','or01')

insert into 订购单(客户号,订单号) values('C001','or02')

insert into 订购单(订单号) values('or19')



insert into 订单名细 values('or01','1','GD001','4')

insert into 订单名细 values('or01','2','GD001','3')

insert into 订单名细 values('or01','3','GD002','6')

insert into 订单名细(订单号,序号,产品号) values('or14','28','GD006')

--2

delete from 客户 where 客户号='C001' --受参照完整性约束

delete from订购单 where 订单号='or01' --受参照完整性约束

--3

update 订购单 set 订单号=null where 客户号='C001' --受实体完整性约束

update 订购单 set 客户号='C011' where 订单号='or04'--受参照完整性约束

update 订购单 set 客户号='C009' where 订单号='or07' --更新成功

update 订单名细 set 数量=0 where序号='9' --受用户定义完整性约束

--4

update 订单名细 set 数量=数量+10

from 订购单

where 订购单.订单号=订单名细.订单号 and 客户号='C002'

--5

delete from 订单名细

from 订购单

where 订购单.订单号=订单名细.订单号 and 客户号='C002'

四、实验数据、结果分析:

--2

在删除客户号为“C002”的记录时无法删除,因为客户表被订购单表参照。

删除订购单号为“or01”的记录时无法删除,因为订单名细表参照订购单表。

--3

第一个更新根据实体完整性约束,订单号是主关键字,不能为空值。

第二个更新根据参照完整性约束,订购单表参照客户表,而客户表中没有客户号为“C011”的客户。

第四个更新根据用户定义完整性约束,数量必须为正整数。

--4

使客户号为C002的订购单的订购数量增加10.

--5

删掉客户号为C002的订单名细记录。

五、总结:

插入:INSERT INTO <表名>[(<列名>[,<列名>…])]

values(<表达式>[,<表达式>…])

更新:update <表名> set <列名>=<表达式>[,<列名>=<表达式>…]

[[from<表名>] where<逻辑表达式>]

删除:DELETE FROM <表名>

[[FROM <表名>]WHERE <逻辑表达式>]


整性约束影响插入、更新和删除等操作

相关主题
文本预览
相关文档 最新文档