实验三 SQL练习3
实验报告
1.完成以下操作:
⑴ 向在实验二中所定义的数据表增加“备注”列,其数据类型为字符型,并查看新增列的值。
运行结果:
⑵ 对上述数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后再次执行实验二中实验内容3-⑵的操作,并观察记录执行结果。
运行结果:
⑶ 删除上述数据表中的数据,然后再删除该数据表,对这两个操作进行比较。
运行结果:
运行结果
2.完成以下任务:
⑴ 对实验一中所定义的5个数据表增加主码约束条件,并观察在数据表中存在数据的情况下主码约束是否创建成功,然后执行以下2个操作,观察并记录实体完整性的检查和违约处理。
① insert into 材料消耗表 values('zy2023001','wm004',100)
② insert into 材料消耗表 values('zy2023002',NULL,200)
运行结果:
⑵ 对实验一中所定义的5个数据表增加相应的参照完整性约束,并观察在数据表中存在数据的情况下参照完整性约束是否创建成功,然后执行以下操作,观察并记录参照完整性的检查和违约处理。
① 将(y007 油井 112203002)插入到油水井表。
运行结果:
② insert into 材料消耗表 values('zy2023007','wm006',100)
运行结果:
③ 将单位表中的(112202002 采油二矿二队)删除,查看油水井表和成本表中的数据有何变化。
运行结果:
④ 将材料表中的(wm004 材料四 袋 10)修改为(wm04 材料四 袋 10)。
运行结果:
⑤ 撤销上述成功的更新操作。
无成功的更新操作。
⑶ 对实验一中所定义的5个数据表按以下要求增加相应的完整性约束条件,并观察在数据表中存在数据的情况下完整性约束是否创建成功。
① 单位表的单位名称不能取空值、且取值唯一。
② 油水井表的井别只允许取“油井”或“水井”,单位代码不能取空值。
运行结果:
③ 材料表的名称不能取空值、且取值唯一,计量单位不能取空值。
④ 材料消耗表的消耗数量不能取空值。
⑤ 对成本表根据实际应用的要求定义适当的用户定义的完整性约束条件。
3.完成以下操作:
⑴ 定义视图V1,用于保存成本表和材料消耗表的全部列。
⑵ 查询上面定义的视图V1,可任意组合查询条件,构造出2个查询。
运行结果:
义一个反映成本表预算状态的视图V2,并向该视图插入('zy2023008','112202002','y005',10000,'张三', '2023-07-02'),查看成本表的数据有何变化。
运行结果:
⑷ 撤销上述成功的更新操作。