数据库复试面试题

1.为什么外码可以取空值

外码可以取空值的原因是,外码表示的是一个关系中的属性与另一个关系中的主码相对应,但有时候这个对应关系可能还没有确定,或者不存在。例如,如果一个学生还没有选课,那么他的选课表中的课程号就可以为空

2. sql用自然连接代替笛卡尔积的优点

用自然连接代替笛卡尔积的优点是,自然连接可以避免生成重复的属性列,减少查询结果的冗余。自然连接也可以简化查询语句,不需要指定连接条件。自然连接还可以提高查询效率,因为它只需要比较公共属性的值,而不是所有属性的值

3.撤销队列为什么从后往前处理,重做队列从前往后

撤销队列和重做队列是数据库恢复策略中的概念,用于记录事务的操作日志1。撤销队列是指在发生故障时,需要回滚的事务的集合。重做队列是指在发生故障时,已经提交但未写入数据库的事务的集合

撤销队列为什么从后往前处理,是因为要保证回滚操作的正确性和一致性。如果从前往后处理,可能会出现先回滚了一个事务对某个数据项的修改,然后又回滚了另一个事务对同一个数据项的修改,导致数据不一致1。而从后往前处理,则可以避免这种情况,保证每个数据项都恢复到故障发生之前的状态

重做队列为什么从前往后处理,是因为要保证重做操作的正确性和一致性。如果从后往前处理,可能会出现先重做了一个事务对某个数据项的修改,然后又重做了另一个事务对同一个数据项的修改,导致数据不一致1。而从前往后处理,则可以避免这种情况,保证每个数据项都恢复到故障发生之后应该有的状态

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值