1.关系型数据库如何保证数据的完整性?
--1.实体完整性(每一条记录都是独一无二的,没有冗余的数据--加主键/唯一索引)
及联
alter table 表名 add constraint 重命名 unique 列名
--2.参照完整性/引用完整性 -外键
--3.领域完整性 - 没有无效的数据 -数据类型/ 非空约束
/默认值约束/ 检查约束mysql不支持
默认值约束
alter table 表名 add constraint 重命名 check( 列名 between 0 -1000)
和钱有关的业务都要用到关系型数据库 保证事务的强移植性
2.什么是事务?
-- 事务: transaction:多个操作不可分割 要么全成功要么全失败
-- 事务的ACID特性:
-- 原子性(Atomicity);事务中的操作不可分割
-- 一致性(Consistency):事务前后数据状态要一致
-- 隔离性(Isolation):多个并发事务不能看到彼此的中间状态
-- 持久性(Duratoin):事务完成后数据要持久化
怎么在mysql中开启事务
1.开启事务
begin;
delete from tb_score;
select * from tb_score;
2.提交事务
commit;
3.回滚事务
rollback;
优化问题?
是优化时间还是优化空间 时间和空间是不可调和的矛盾
硬件与软件?
硬件和软件在逻辑上是等效的(硬件能做的软件也能做,
软件能做的硬件也能做)